eschava / broadlink-mqtt

MQTT client to control BroadLink devices
MIT License
221 stars 60 forks source link

Problem with multiple devices #108

Closed PAOK1926 closed 1 year ago

PAOK1926 commented 1 year ago

hello, i run home assistant in a vm on Proxmox. i have mqtt running fine. I also have 4 RM4 devices. when i declare RM4, and ip+mac of a single device, works fine. but when i try to add multiple devices, it doesnt.. i suppose it has to do with the ip of the brocker, it has 172.30.33.4 but my RM4 devices are on 10.122.2.0/24 is there any way to overcome this problem ?

PAOK1926 commented 1 year ago

i finally installed broadlink-mqtt to another vm, now it finds my RM4MINI devices, it connects to the MQTT broker, but it does not send the temperature/humidity.. the only mqtt messages i see are Hello when connects and Adios when i shut it down..

this is the log file..

[2022-11-16 15:16:29,055] DEBUG Connected to 'RM4MINI' Broadlink device at '10.107.1.46' (MAC ec:0b:ae:0c:c1:31) and started listening to MQTT commands at 'broadlink/RM4MINI_0c_c1_31/#' [2022-11-16 15:16:29,088] DEBUG Connected to 'RM4MINI' Broadlink device at '10.107.1.47' (MAC ec:0b:ae:0c:c1:63) and started listening to MQTT commands at 'broadlink/RM4MINI_0c_c1_63/#' [2022-11-16 15:16:29,138] DEBUG Connected to 'RM4MINI' Broadlink device at '10.107.1.45' (MAC ec:0b:ae:0c:4f:61) and started listening to MQTT commands at 'broadlink/RM4MINI_0c_4f_61/#' [2022-11-16 15:16:29,178] DEBUG Connected to MQTT broker, subscribing to topic broadlink/#

eschava commented 1 year ago

RM4 mini doesn't seem to have built-in temperature/humidity sensor but you can experiment with the code find line #409 at mqtt.py: if (device.type == 'RM2' or device.type == 'RM4' or device.type == 'RM4PRO') and broadlink_rm_temperature_interval > 0: and change it to if (device.type == 'RM2' or device.type == 'RM4' or device.type == 'RM4PRO' or device.type == 'RM4MINI') and broadlink_rm_temperature_interval > 0:

PAOK1926 commented 1 year ago

It Worked !!!! RM4MINI with the appropriate cable, has also humidity sensor..

PAOK1926 commented 1 year ago

changing if device.type == 'RM4' : to if device.type == 'RM4' or device.type == 'RM4MINI':

i also got the humidity !!! Thank you very much !!!

[2022-11-16 16:01:23,333] DEBUG Sending RM temperature 22.6 to topic broadlink/RM4MINI_0c_4f_61/temperature [2022-11-16 16:01:23,358] DEBUG Sending RM humidity 52.88 to topic broadlink/RM4MINI_0c_4f_61/humidity [2022-11-16 16:01:23,480] DEBUG Sending RM temperature 20.85 to topic broadlink/RM4MINI_0c_c1_31/temperature [2022-11-16 16:01:23,517] DEBUG Sending RM humidity 59.85 to topic broadlink/RM4MINI_0c_c1_31/humidity [2022-11-16 16:01:23,633] DEBUG Sending RM temperature 19.83 to topic broadlink/RM4MINI_0c_c1_63/temperature [2022-11-16 16:01:23,662] DEBUG Sending RM humidity 61.04 to topic broadlink/RM4MINI_0c_c1_63/humidity

eschava commented 1 year ago

Thanks! I'll adjust the code