rand256 / valetudo

Valetudo RE - experimental vacuum software, cloud free
Apache License 2.0
667 stars 73 forks source link

mqtt configuration #512

Closed Totche5962 closed 11 months ago

Totche5962 commented 11 months ago

Good morning, After installing valetudo classic via xvacuum apk, and configuring the mqtt part, everything is ok via mqtt-explorer and home assistant, I order my xiaomi roborock v1 vacuum cleaner without problem => vacuum_4028_valetudo_2023_08_0.pkg. After wanting to switch to valetudo RE with vacuum_4028_valetudo_re_0_10_10.pkg, impossible to configure the mqtt part for it to work => mqtt-explorer does not see the vacuum cleaner and I get errors in the info part of the valetudo web page of the vacuum cleaner => 2023-10-15T14:56:21.990Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:56:11.983Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:56:01.974Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:55:51.967Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:55:41.957Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:55:31.950Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:55:21.940Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:55:11.933Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:55:01.918Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:54:51.911Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:54:41.901Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:54:31.894Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:54:21.887Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:54:11.878Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:54:01.863Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:53:51.856Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:53:41.846Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:53:31.839Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:53:21.832Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:53:11.825Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:53:01.808Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:52:51.790Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:52:41.780Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:52:31.774Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:52:21.766Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:52:11.758Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:52:01.743Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:51:51.736Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:51:41.726Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:51:31.719Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:51:21.712Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:51:11.705Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:51:01.690Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:50:51.683Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:50:41.673Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:50:31.665Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:50:21.658Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:50:11.651Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:50:01.635Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:49:51.629Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:49:41.619Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:49:31.613Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:49:21.605Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:49:11.590Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:49:01.574Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:48:51.561Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:48:41.550Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:48:31.533Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:48:21.526Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"} 2023-10-15T14:48:11.509Z MQTT Error : mqtt_general_error : {"errno":-3008,"code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"mqtt-user"}

the mqtt url (in the web app) is like that mqtt://User:Password/@192.168.0.197:1883

I have special characters in the password like /, $.....

Thanks

Totche5962 commented 11 months ago

Also tried to push vacuum_4028_valetudo_re_0_10_7.pkg, same issue.

Totche5962 commented 11 months ago

Solution: doesn't accept special characters in credentials, but valetudo classic apparently does.

rand256 commented 11 months ago

It pretty clearly tries to connect to mqtt at host mqtt-user instead of your 192.168.0.197 as can be seen in the provided log.

Likely exactly due to slash in your password, it thinks User:Password part is a host and (invalid) port and /@192.168.0.197:1883 is a GET parameter for that. Though I'm not completely sure since this whole URL is sent to MQTT library as is, and how it's being parsed depends only on the external library routines.

I guess it should've been better to have separate fields for login and password in RE configuration to send them explicitly, but it was never done.

Totche5962 commented 11 months ago

Thanks for reply. It's definitely a password problem. I changed it and it works. In valetudo classic, the entry of the login/password fields are well separated and this is the problem with RE.