Page 4 of 4

Re: Haier AC with MQTT and nodered ?

Posted: Sunday 02 August 2020 15:17
by eddieb
@FireWizard
Hi,
FireWizard wrote: Sunday 02 August 2020 15:11 As said, I'm not really happy with this "solution". I see it as a "work around".
I decided to discuss it with waaren and that resulted in a Pull Request.

If this PR is accepted by gizmocuz, the problem is solved in one of the next releases. In that case, you can remove those 3 extra nodes.
You can follow the progress at: https://github.com/domoticz/domoticz/issues/4282

Regards
Nice to see that there is work in progress ..
I will follow this thread and just wait for further notices on this topic.
tnx again @FireWizard and @Waaren

Re: Haier AC with MQTT and nodered ?

Posted: Tuesday 04 August 2020 12:28
by eddieb
Hi @FireWizard

I just received the latest firware for my USB-ESP-Haier stick.
It implements the "Lights" function to switch the LED on the indoor unit on/off.
I changed the node-red flow and all works as expected.

Code: Select all

[{"id":"5eeacbec.3fc754","type":"tab","label":"Haier","disabled":false,"info":""},{"id":"8e2e4a39.4c1b18","type":"mqtt in","z":"5eeacbec.3fc754","name":"","topic":"myhome/topic/+","qos":"0","datatype":"auto","broker":"1a0c69de.7ac4b6","x":130,"y":300,"wires":[["24ee2efb.f409da","855a1b51.10e098"]]},{"id":"6112700d.10535","type":"debug","z":"5eeacbec.3fc754","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":540,"y":240,"wires":[]},{"id":"7996aa6b.53e75c","type":"mqtt out","z":"5eeacbec.3fc754","name":"","topic":"domoticz/in","qos":"0","retain":"false","broker":"1a0c69de.7ac4b6","x":540,"y":300,"wires":[]},{"id":"a275360a.be2188","type":"mqtt in","z":"5eeacbec.3fc754","name":"","topic":"domoticz/out","qos":"2","datatype":"json","broker":"1a0c69de.7ac4b6","x":120,"y":625,"wires":[["70510eb4.3fe2c8"]]},{"id":"70510eb4.3fe2c8","type":"switch","z":"5eeacbec.3fc754","name":"Filter Haier Commands","property":"payload.idx","propertyType":"msg","rules":[{"t":"eq","v":"253","vt":"num"},{"t":"eq","v":"247","vt":"num"},{"t":"eq","v":"248","vt":"num"},{"t":"eq","v":"249","vt":"num"},{"t":"eq","v":"251","vt":"num"},{"t":"eq","v":"252","vt":"num"},{"t":"eq","v":"255","vt":"num"},{"t":"eq","v":"245","vt":"num"}],"checkall":"true","repair":false,"outputs":8,"x":360,"y":625,"wires":[["327932e9.ab5a9e"],["cb9e8de1.b8fc7"],["5a1f3616.93376"],["9e8de2f6.15c9b"],["730324b9.21ceac"],["5ac35af7.cfe434"],["ee06e1a.7eeee2"],["e9cdfbd5.f133a"]]},{"id":"e5bab2e8.49ee18","type":"comment","z":"5eeacbec.3fc754","name":"Output explanation","info":"1. Lock Remote\n2. Power\n3. Health\n4. Swing\n5. Fan Speed\n6. Mode\n7. Thermostat Setpoint","x":340,"y":725,"wires":[]},{"id":"cb9e8de1.b8fc7","type":"function","z":"5eeacbec.3fc754","name":"Lock Remote","func":"msg.topic = \"myhome/topic/set/Lock_Remote\";\nmsg.payload = msg.payload.nvalue.toString();\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":520,"wires":[["39626de7.1615c2"]]},{"id":"5a1f3616.93376","type":"function","z":"5eeacbec.3fc754","name":"Power","func":"msg.topic = \"myhome/topic/set/Power\";\nmsg.payload = msg.payload.nvalue.toString();\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":580,"y":560,"wires":[["39626de7.1615c2"]]},{"id":"9e8de2f6.15c9b","type":"function","z":"5eeacbec.3fc754","name":"Health","func":"msg.topic = \"myhome/topic/set/Health\";\nmsg.payload = msg.payload.nvalue.toString();\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":580,"y":600,"wires":[["39626de7.1615c2"]]},{"id":"730324b9.21ceac","type":"function","z":"5eeacbec.3fc754","name":"Swing","func":"msg.topic = \"myhome/topic/set/Swing\";\nif ((msg.payload.nvalue === 0) && msg.payload.svalue1 == \"0\") {\n        msg.payload = \"off\";\n} else if (msg.payload.nvalue === 2) {\n    switch (msg.payload.svalue1) {\n        case \"10\":\n            msg.payload = \"ud\";\n        break;\n        \n        case \"20\":\n            msg.payload = \"lr\";\n        break;\n\n        case \"30\":\n            msg.payload = \"all\";\n        break;\n\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":580,"y":640,"wires":[["39626de7.1615c2"]]},{"id":"5ac35af7.cfe434","type":"function","z":"5eeacbec.3fc754","name":"Fan Speed","func":"msg.topic = \"myhome/topic/set/Fan_Speed\";\nif (msg.payload.nvalue === 2) {\n    switch (msg.payload.svalue1) {\n        case \"10\":\n            msg.payload = \"max\";\n        break;\n        \n        case \"20\":\n            msg.payload = \"mid\";\n        break;\n\n        case \"30\":\n            msg.payload = \"min\";\n        break;\n\n        case \"40\":\n            msg.payload = \"auto\";\n        break;\n\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":680,"wires":[["39626de7.1615c2"]]},{"id":"ee06e1a.7eeee2","type":"function","z":"5eeacbec.3fc754","name":"Mode","func":"msg.topic = \"myhome/topic/set/Mode\";\nif ((msg.payload.nvalue === 0) && msg.payload.svalue1 == \"0\") {\n        msg.payload = \"off\";\n} else if (msg.payload.nvalue === 2) {\n    switch (msg.payload.svalue1) {\n        case \"10\":\n            msg.payload = \"dry\";\n        break;\n\n        case \"20\":\n            msg.payload = \"heat\";\n        break;\n        \n        case \"30\":\n            msg.payload = \"cool\";\n        break;\n\n        case \"40\":\n            msg.payload = \"auto\";\n        break;\n\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":580,"y":720,"wires":[["39626de7.1615c2"]]},{"id":"327932e9.ab5a9e","type":"function","z":"5eeacbec.3fc754","name":"Set Temperature","func":"msg.topic = \"myhome/topic/set/Set_Temp\";\nmsg.payload = msg.payload.svalue1;\nif (Number(msg.payload) < 16) (msg.payload) = \"16.00\";\nif (Number(msg.payload) > 30) (msg.payload) = \"30.00\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":620,"y":480,"wires":[["b323ac60.184b78"]]},{"id":"39626de7.1615c2","type":"mqtt out","z":"5eeacbec.3fc754","name":"MQTT to Haier","topic":"","qos":"0","retain":"false","broker":"1a0c69de.7ac4b6","x":1010,"y":620,"wires":[]},{"id":"24ee2efb.f409da","type":"function","z":"5eeacbec.3fc754","name":"To Domoticz","func":"switch (msg.topic) {\n\n    case \"myhome/topic/Light\":\n        msg.payload = {\"command\":\"switchlight\",\"idx\":245,\"switchcmd\":msg.payload.charAt(0).toUpperCase() + msg.payload.slice(1)};\n    break;\n    \n    case \"myhome/topic/Fresh\":\n        msg.payload = {\"command\":\"switchlight\",\"idx\":246,\"switchcmd\":msg.payload.charAt(0).toUpperCase() + msg.payload.slice(1)};\n    break;\n    \n    case \"myhome/topic/Lock_Remote\":\n        if (msg.payload == \"true\") {\n            msg.payload = {\"command\":\"switchlight\",\"idx\":247,\"switchcmd\":\"On\"};\n        } else if (msg.payload == \"false\") {\n            msg.payload = {\"command\":\"switchlight\",\"idx\":247,\"switchcmd\":\"Off\"};\n        }\n    break;\n    \n    case \"myhome/topic/Power\":\n        msg.payload = {\"command\":\"switchlight\",\"idx\":248,\"switchcmd\":msg.payload.charAt(0).toUpperCase() + msg.payload.slice(1)};\n    break;\n    \n    case \"myhome/topic/Health\":\n        msg.payload = {\"command\":\"switchlight\",\"idx\":249,\"switchcmd\":msg.payload.charAt(0).toUpperCase() + msg.payload.slice(1)};\n    break;\n    \n    case \"myhome/topic/Compressor\":\n        msg.payload = {\"command\":\"switchlight\",\"idx\":250,\"switchcmd\":msg.payload.charAt(0).toUpperCase() + msg.payload.slice(1)};\n    break;\n    \n    case \"myhome/topic/Swing\":    \n    \n        switch (msg.payload) {\n\n            case \"off\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":251,\"nvalue\":0,\"svalue\":\"0\"};\n            break;\n            \n            case \"ud\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":251,\"nvalue\":1,\"svalue\":\"10\"};\n            break;\n\n            case \"lr\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":251,\"nvalue\":1,\"svalue\":\"20\"};\n            break;\n\n            case \"all\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":251,\"nvalue\":1,\"svalue\":\"30\"};\n            break;\n\n        }\n    break;\n    \n    case \"myhome/topic/Fan_Speed\":    \n    \n        switch (msg.payload) {\n\n            case \"max\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":252,\"nvalue\":1,\"svalue\":\"10\"};\n            break;\n            \n            case \"mid\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":252,\"nvalue\":1,\"svalue\":\"20\"};\n            break;\n\n            case \"min\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":252,\"nvalue\":1,\"svalue\":\"30\"};\n            break;\n\n            case \"auto\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":252,\"nvalue\":1,\"svalue\":\"40\"};\n            break;\n\n        }\n    break;\n    \n    case \"myhome/topic/Mode\":    \n    \n        switch (msg.payload) {\n\n            case \"Off\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":255,\"nvalue\":0,\"svalue\":\"0\"};\n            break;\n            \n            case \"Dry\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":255,\"nvalue\":1,\"svalue\":\"10\"};\n            break;\n\n            case \"Heat\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":255,\"nvalue\":1,\"svalue\":\"20\"};\n            break;\n\n            case \"Cool\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":255,\"nvalue\":1,\"svalue\":\"30\"};\n            break;\n\n            case \"Auto\":\n                msg.payload = {\"command\":\"udevice\",\"idx\":255,\"nvalue\":1,\"svalue\":\"40\"};\n            break;\n\n        }\n    break;\n    \n    case \"myhome/topic/Set_Temp\":\n        msg.payload = {\"command\":\"udevice\",\"idx\":253,\"nvalue\":0,\"svalue\":msg.payload};\n    break;  \n    \n    case \"myhome/topic/Current_Temp\":\n        msg.payload = {\"command\":\"udevice\",\"idx\":254,\"nvalue\":0,\"svalue\":msg.payload};\n    break;\n    \n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":340,"y":300,"wires":[["7996aa6b.53e75c","6112700d.10535"]]},{"id":"b2355c98.765f9","type":"comment","z":"5eeacbec.3fc754","name":"245 Light 246 Fresh 247 Lock_Remote 248 Power 249 Health 250 Compressor 251 Swing 252 Fan_Speed 253 Set_Temp 254 Current_Temp 255 Mode","info":"245 Light\n246 Fresh\n247 Lock_Remote\n248 Power\n249 Health\n250 Compressor\n251 Swing\n252 Fan_Speed\n253 Set_Temp\n254 Current_Temp\n255 Mode","x":550,"y":140,"wires":[]},{"id":"10a6dd40.3022f3","type":"trigger","z":"5eeacbec.3fc754","name":"","op1":"","op2":"open","op1type":"pay","op2type":"str","duration":"1","extend":true,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":600,"y":380,"wires":[["b323ac60.184b78"]]},{"id":"855a1b51.10e098","type":"function","z":"5eeacbec.3fc754","name":"Create Gate Control","func":"if (msg.topic == \"myhome/topic/Set_Temp\") {\n    msg.topic = \"control\";\n    msg.payload = \"close\";\n    return [msg, null];\n} else {\n    return [null,msg]\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":370,"y":380,"wires":[["10a6dd40.3022f3"]]},{"id":"a271a50b.8975a8","type":"debug","z":"5eeacbec.3fc754","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1000,"y":480,"wires":[]},{"id":"b323ac60.184b78","type":"gate","z":"5eeacbec.3fc754","name":"Gate","controlTopic":"control","defaultState":"open","openCmd":"open","closeCmd":"close","toggleCmd":"toggle","defaultCmd":"default","persist":false,"x":820,"y":480,"wires":[["39626de7.1615c2","a271a50b.8975a8"]]},{"id":"e9cdfbd5.f133a","type":"function","z":"5eeacbec.3fc754","name":"Light","func":"msg.topic = \"myhome/topic/set/Light\";\nmsg.payload = msg.payload.nvalue.toString();\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":590,"y":760,"wires":[["39626de7.1615c2"]]},{"id":"1a0c69de.7ac4b6","type":"mqtt-broker","z":"","name":"localhost","broker":"127.0.0.1","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Re: Haier AC with MQTT and nodered ?

Posted: Friday 07 August 2020 13:28
by eddieb
I had to increase the time to 1500ms to stop the AC from beeping ...

Re: Haier AC with MQTT and nodered ?

Posted: Friday 07 August 2020 13:59
by FireWizard
Hi Eddie

@eddieb,

Did you also check the "Debug" node, connected to the flow from Domoticz to the USB-ESP?
Just to be sure it is caused by the loop and not by something else, as I think 1,5 secs is quite much. In my situation on a Raspberry Pi 1B (that I use for testing), first generation, 250 msecs was enough. It would mean that your loop is 6 times slower than mine.

Only listening to the beep might not be sufficient.
But the problem will be solved, if gizmocuz accepts the PR.

Let's wait,

Best regards

Re: Haier AC with MQTT and nodered ?

Posted: Friday 07 August 2020 14:25
by eddieb
below the mqtt traffic while the unit is working.
the set/Set_Temp from 14:00:47 is the only time I changed the value of Set_Temp.

the other /set/ are coming from domoticz and I really don't know why, even with 1500ms ...

Code: Select all

2020-08-07 14:00:44 - myhome/topic/Current_Temp - 21
2020-08-07 14:00:46 - myhome/topic/Set_Temp - 21
2020-08-07 14:00:46 - myhome/topic/Current_Temp - 21
2020-08-07 14:00:47 - myhome/topic/set/Set_Temp - 21.00
2020-08-07 14:01:02 - myhome/topic/Set_Temp - 21
2020-08-07 14:01:02 - myhome/topic/Current_Temp - 22
2020-08-07 14:01:10 - myhome/topic/Set_Temp - 21
2020-08-07 14:01:10 - myhome/topic/Current_Temp - 22
2020-08-07 14:01:24 - myhome/topic/Set_Temp - 21
2020-08-07 14:01:24 - myhome/topic/Current_Temp - 22
2020-08-07 14:01:26 - myhome/topic/Set_Temp - 21
2020-08-07 14:01:26 - myhome/topic/Current_Temp - 22
2020-08-07 14:01:28 - myhome/topic/set/Set_Temp - 21.00
2020-08-07 14:01:28 - myhome/topic/Set_Temp - 21
2020-08-07 14:01:28 - myhome/topic/Current_Temp - 22
2020-08-07 14:01:30 - myhome/topic/set/Set_Temp - 21.00
2020-08-07 14:01:32 - myhome/topic/Set_Temp - 21
2020-08-07 14:01:32 - myhome/topic/Current_Temp - 22
2020-08-07 14:01:34 - myhome/topic/Set_Temp - 21
2020-08-07 14:01:34 - myhome/topic/Current_Temp - 22
2020-08-07 14:01:38 - myhome/topic/Set_Temp - 21
2020-08-07 14:01:38 - myhome/topic/Current_Temp - 22
2020-08-07 14:01:40 - myhome/topic/Set_Temp - 21
2020-08-07 14:01:40 - myhome/topic/Current_Temp - 22
2020-08-07 14:02:20 - myhome/topic/Set_Temp - 21
2020-08-07 14:02:20 - myhome/topic/Current_Temp - 21
2020-08-07 14:03:10 - myhome/topic/Set_Temp - 21
2020-08-07 14:03:10 - myhome/topic/Current_Temp - 21
2020-08-07 14:04:14 - myhome/topic/Set_Temp - 21
2020-08-07 14:04:14 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:06 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:06 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:14 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:14 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:16 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:16 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:26 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:26 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:28 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:28 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:32 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:32 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:34 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:34 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:44 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:44 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:46 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:46 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:48 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:48 - myhome/topic/Current_Temp - 20
2020-08-07 14:05:50 - myhome/topic/set/Set_Temp - 21.00
2020-08-07 14:05:52 - myhome/topic/Set_Temp - 21
2020-08-07 14:05:52 - myhome/topic/Current_Temp - 20
2020-08-07 14:08:26 - myhome/topic/Set_Temp - 21
2020-08-07 14:08:26 - myhome/topic/Current_Temp - 19
2020-08-07 14:10:48 - myhome/topic/Set_Temp - 21
2020-08-07 14:10:48 - myhome/topic/Current_Temp - 20
2020-08-07 14:12:30 - myhome/topic/Set_Temp - 21
2020-08-07 14:12:30 - myhome/topic/Current_Temp - 20
2020-08-07 14:16:26 - myhome/topic/Set_Temp - 21
2020-08-07 14:16:26 - myhome/topic/Current_Temp - 21
2020-08-07 14:20:54 - myhome/topic/Set_Temp - 21
2020-08-07 14:20:54 - myhome/topic/Current_Temp - 21
2020-08-07 14:21:28 - myhome/topic/Set_Temp - 21
2020-08-07 14:21:28 - myhome/topic/Current_Temp - 22
2020-08-07 14:22:44 - myhome/topic/Set_Temp - 21
2020-08-07 14:22:44 - myhome/topic/Current_Temp - 21

Re: Haier AC with MQTT and nodered ?

Posted: Friday 07 August 2020 14:33
by eddieb
yeah, domoticz is spitting out a set/Set_Temp ...

Of course listening to the BEEP is not the only thing that matters, but If I set the timeout lower and the AC beeps every minute during the night it becomes a different problem. I had to disable node-red last night to get some sleep

Code: Select all

2020-08-07 14:31:05 - myhome/topic/Set_Temp - 21
2020-08-07 14:31:05 - myhome/topic/Current_Temp - 20
2020-08-07 14:31:07 - myhome/topic/set/Set_Temp - 21.00
Screenshot 2020-08-07 at 14.31.57.png
Screenshot 2020-08-07 at 14.31.57.png (25.59 KiB) Viewed 1771 times

Re: Haier AC with MQTT and nodered ?

Posted: Friday 07 August 2020 15:07
by FireWizard
@eddieb

I see that the problem is causing trouble in the night.

No idea why, but let's check that it is really Domoticz and not something with Node Red.

Connect a "Debug" node to the first output of the "Split" node and check the results.

If it is a continuous problem, disconnect the "Gate" node to the "MQTT out" node. (Delete the line).
Disadvantage is that you cannot set the Setpoint in Domoticz.

Regards

Re: Haier AC with MQTT and nodered ?

Posted: Friday 07 August 2020 15:22
by eddieb
Screenshot 2020-08-07 at 15.20.07.png
Screenshot 2020-08-07 at 15.20.07.png (93.08 KiB) Viewed 1768 times
Screenshot 2020-08-07 at 15.20.21.png
Screenshot 2020-08-07 at 15.20.21.png (38.28 KiB) Viewed 1768 times

Code: Select all

8/7/2020, 3:24:08 PMnode: 79726f18.f71b5
domoticz/out : msg.payload : Object
object
Battery: 255
RSSI: 12
description: ""
dtype: "Thermostat"
hwid: "23"
id: "001414D"
idx: 253
name: "Haier Set_Temp"
nvalue: 0
stype: "SetPoint"
svalue1: "21.00"
unit: 1
domoticz is just spitting out set commands

Re: Haier AC with MQTT and nodered ?

Posted: Friday 07 August 2020 15:56
by FireWizard
Ok,

@eddieb

Hereby it is confirmed that the root cause is Domoticz, and not something in Node Red.

I'm afraid, I cannot do much and we have to wait for the approval of the PR.
I think gizmocuz took a few days off, which I fully understand.

As said you can disable it for the time being.

Regards

Re: Haier AC with MQTT and nodered ?

Posted: Friday 07 August 2020 16:03
by eddieb
the 1st debug part shows a message that triggers sending a /set/
the 2nd debug is the /set/
the 3rd is the same as nr 1 but does NOT trigger a /set/

Code: Select all

8/7/2020, 3:55:08 PMnode: 79726f18.f71b5
domoticz/out : msg.payload : Object
object
Battery: 255
RSSI: 12
description: ""
dtype: "Thermostat"
hwid: "23"
id: "001414D"
idx: 253
name: "Haier Set_Temp"
nvalue: 0
stype: "SetPoint"
svalue1: "21.00"
unit: 1

Code: Select all

8/7/2020, 3:55:09 PMnode: a271a50b.8975a8myhome/topic/set/Set_Temp : msg.payload : string[5]
"21.00"

Code: Select all

8/7/2020, 3:55:16 PMnode: 79726f18.f71b5
domoticz/out : msg.payload : Object
object
Battery: 255
RSSI: 12
description: ""
dtype: "Thermostat"
hwid: "23"
id: "001414D"
idx: 253
name: "Haier Set_Temp"
nvalue: 0
stype: "SetPoint"
svalue1: "21.00"
unit: 1

Re: Haier AC with MQTT and nodered ?

Posted: Wednesday 12 August 2020 19:16
by eddieb
@FireWizard @Waaren

I noticed the github Pull Request #4283 is not included in todays release ...

Re: Haier AC with MQTT and nodered ?

Posted: Wednesday 12 August 2020 19:32
by FireWizard
@eddieb

Hi Eddie,

I have noticed it as well, so you have to wait a little longer.

Regards

Re: Haier AC with MQTT and nodered ?

Posted: Sunday 23 August 2020 16:57
by eddieb
today build 12260 was released with a fix !
12260 01784e66e 20200823 Event system Prevent double triggers when updating a Thermostat Setpoint device via JSON API/M
https://github.com/domoticz/domoticz/commit/01784e66e


I have been testing quickly and this seems to solve the problem.

Re: Haier AC with MQTT and nodered ?

Posted: Sunday 23 August 2020 19:23
by FireWizard
Hello Eddie,
@eddieb

I have seen it at https://www.domoticz.com/wiki/Domoticz_ ... _-_Commits and in the mean time I have updated to version 12269.

I tested it as well and no issues discovered. So I think you can delete the "Function" node, the "Trigger" node and the "Gate"node. (Also "Debug" nodes can be deleted.) Connect the "Function" node, marked "Set Temperature" to the MQTT "Output"node, marked MQTT to Haier.

I think this is the last issue we had in this project. Finally solved. Anything else?

Best regards

Re: Haier AC with MQTT and nodered ?

Posted: Sunday 23 August 2020 21:06
by eddieb
Hi,

it seems to work ok now here. tnx again for helping out !

The latest firmware implemented turbo and quiet mode also. I added that to the node-red flow and it works.

Grtz

Re: Haier AC with MQTT and nodered ?

Posted: Thursday 24 December 2020 15:01
by OTiby
Does this also work for the AD25S2SS1FA (non-USB) and the as25s2sf2fa-2 (USB)?

Re: Haier AC with MQTT and nodered ?

Posted: Thursday 24 December 2020 15:41
by eddieb
OTiby wrote: Thursday 24 December 2020 15:01 Does this also work for the AD25S2SS1FA (non-USB) and the as25s2sf2fa-2 (USB)?
Hmm, I doubt it. This solution works with Haier AC units which normally have the standard Haier USB stick to be controlled remote.
I just did not like that and replaced the USB stick with the one in this thread. Now, the unit has a local webserver to control it
AND it sends MQTT messages to a broker. The nodered translates all nicely to domoticz..