maxwellhadley / node-red-contrib-rfxcom

node-RED nodes to access an RFXtrx433 transceiver
BSD 2-Clause "Simplified" License
22 stars 13 forks source link

MCZ pellet stove #89

Closed Kouwe-sudo closed 3 years ago

Kouwe-sudo commented 4 years ago

It's a great add-on for Node-red with a great explanation as well and yet there is one user (namely me) who can't get his project up and running. I keep getting the message: "rfx-heat-out : device type '...' is not supported". And I've tried a lot of combinations. I want to control an MCZ pellet stove 3 fans model. The packet type = Thermostat4 , subtype MCZ pellet stove 3 fans model (should be subtype 0x02) with sequencenumber 0. Can you help me on my way or even give me the right address? Despite the fact that the RFXcom is connected to the right port I keep getting the message 'Connecting'.

maxwellhadley commented 4 years ago

The device type you want is MCZ_PELLET_STOVE_3_FAN

The message you see means that the node has opened the serial port successfully and sent the initial handshake, but it is still waiting for a response from the RFXtrx433. I have seen this failure to connect before, and it can be caused by a number of different things: please can you tell me which operating system you are using, and what the versions of my node, NodeJS, and Node-RED are.

With Node-RED running, try disconnecting the RFXtrx433, when you should get the red 'disconnected' status. Plug it back in again, and let me know what happens.

Kouwe-sudo commented 4 years ago

Top this quick answer. I will try this tomorrow. I couldn’t guess this name mcz_pellet_stove_3_fan.

Op 13 jan. 2020 om 19:29 heeft Max Hadley notifications@github.com het volgende geschreven:

 The device type you want is MCZ_PELLET_STOVE_3_FAN

The message you see means that the node has opened the serial port successfully and sent the initial handshake, but it is still waiting for a response from the RFXtrx433. I have seen this failure to connect before, and it can be caused by a number of different things: please can you tell me which operating system you are using, and what the versions of my node, NodeJS, and Node-RED are.

With Node-RED running, try disconnecting the RFXtrx433, when you should get the red 'disconnected' status. Plug it back in again, and let me know what happens.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Kouwe-sudo commented 4 years ago

I’m running on a pi 3+. On Debian GNU/Linux 4.19.66-v7+ #1253 SMP Your node is v 2.9.1 Node.js is v 12.14.1 Node-Red is v 1.0.3

I reconnected the RFXcom and it said “OK (v1039 pro T) but soon it went back to ‘connecting’.

But the good news is that the topic seems to work. No more ‘not supported’

Is the sequence fan speed mode beep flame power command as you say in the help or beep, fan speed, flame power, command as suggested by RFXmgnr? Items separated by / or ; or nothing?

Op 13 jan. 2020 om 19:29 heeft Max Hadley notifications@github.com het volgende geschreven:

 The device type you want is MCZ_PELLET_STOVE_3_FAN

The message you see means that the node has opened the serial port successfully and sent the initial handshake, but it is still waiting for a response from the RFXtrx433. I have seen this failure to connect before, and it can be caused by a number of different things: please can you tell me which operating system you are using, and what the versions of my node, NodeJS, and Node-RED are.

With Node-RED running, try disconnecting the RFXtrx433, when you should get the red 'disconnected' status. Plug it back in again, and let me know what happens.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

maxwellhadley commented 4 years ago

For the MCZ stoves, msg.payload should be an object, with properties for each setting, like this:

msg.payload =  {
    beep: true,           // Optional, defaults to true
    fanSpeed: [1, 2, 3],  // Optional 0 to 6, one speed for each fan, defaults to 6 (auto), excess ignored, string "auto" --> 6
    flamePower: 5,        // Mandatory 1 to 5
    mode: 1               // Mandatory, either a number 1 to 5 or one of <"Off", "Manual", "Auto", "Eco"> (case-insensitive, 3 characters needed)
}

They are all sent to the RFXtrx433 at the same time, not in sequence.

Is that a mistype for "OK (v1039 Pro 2)"? I don't know why the connection gets lost like that, unless the USB connection is unreliable. I have an Rpi 3+ here in a box somewhere, which runs Raspbian. I will pull it out and try to duplicate your setup, but I may not be able to find the time for it for a while.

Kouwe-sudo commented 4 years ago

Maxwell, It works now. Thanks for all the effort you have been putting into this. I had another RFXcom configured a little different. I tried that one. Now it says: OK (v1025 Type 2) and it keeps saying that. I really do admire people how can figure out things like this and then make it available to the world. I was looking for this for quiet some time now. Me myself I’m just a simple database specialist.

Op 15 jan. 2020 om 10:14 heeft Max Hadley notifications@github.com het volgende geschreven:

 For the MCZ stoves, msg.payload should be an object, with properties for each setting, like this:

msg.payload = { beep: true, // Optional, defaults to true fanSpeed: [1, 2, 3], // Optional 0 to 6, one speed for each fan, defaults to 6 (auto), excess ignored, string "auto" --> 6 flamePower: 5, // Mandatory 1 to 5 mode: 1 // Mandatory, either a number 1 to 5 or one of <"Off", "Manual", "Auto", "Eco"> (case-insensitive, 3 characters needed) } They are all sent to the RFXtrx433 at the same time, not in sequence.

Is that a mistype for "OK (v1039 Pro 2)"? I don't know why the connection gets lost like that, unless the USB connection is unreliable. I have an Rpi 3+ here in a box somewhere, which runs Raspbian. I will pull it out and try to duplicate your setup, but I may not be able to find the time for it for a while.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Kouwe-sudo commented 4 years ago

Maxwell,

The node-red integration of the pellet stove with RFXcom works fine now. I have transformed the pellet stove into a thermostat stove that also reacts to the outside temperature. But now I still have a request for you. (I promise I won't make a habit of it). But if you were to plan another release of the RFXcom node you might be able to add the RFXcom fan option? I have a Novy cooker hood and I would like to use it in combination with a CO2 sensor and a self-built small particle meter (for indoors PM25 I made a request for this a year ago to the creator of the RFXcom (a very customer friendly man from the neighborhood) and he has indeed added the Novy cooker hood function to the latest release of the RFXcom. (version 1042). In both Domoticz and Hom Assistant this remote control will most likely not be integrated because the coding of the signal turns out to be rather different. And then I thought of you. Maybe it's not so difficult for you. It would be very nice if you have time for it and feel like adding it. The Novy is part of the fan-group and works with the default setting as shown on the screen with id = 1. "Power'on is basically sufficient because when you press 'Power on' twice, a stop timer starts running and when you press 'Power on' again, the hood goes completely off.

Thank you in advance

Op 15 jan. 2020 om 10:14 heeft Max Hadley notifications@github.com het volgende geschreven:

 For the MCZ stoves, msg.payload should be an object, with properties for each setting, like this:

msg.payload = { beep: true, // Optional, defaults to true fanSpeed: [1, 2, 3], // Optional 0 to 6, one speed for each fan, defaults to 6 (auto), excess ignored, string "auto" --> 6 flamePower: 5, // Mandatory 1 to 5 mode: 1 // Mandatory, either a number 1 to 5 or one of <"Off", "Manual", "Auto", "Eco"> (case-insensitive, 3 characters needed) } They are all sent to the RFXtrx433 at the same time, not in sequence.

Is that a mistype for "OK (v1039 Pro 2)"? I don't know why the connection gets lost like that, unless the USB connection is unreliable. I have an Rpi 3+ here in a box somewhere, which runs Raspbian. I will pull it out and try to duplicate your setup, but I may not be able to find the time for it for a while.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

maxwellhadley commented 4 years ago

As it happens, I was planning to add fan support anyway. The main issue is that the RFXCOM 'fan' covers a multitude of different things: not only cooker hoods, but ceiling fans and MVHR systems as well. Coming up with a workable command syntax to cover them all is the hard part!

If you have a Novy hood, it would help a lot if you could copy me the instruction manual, or at least explain what the buttons actually do: The list I have is: Power, +, -, Light, Learn, and Reset Filter.

Kouwe-sudo commented 4 years ago

Maxwell,

I hope this helps you. These are the original manual and the new manual in the appendix.

The buttons on the remote control:

Also on the RFXcom, under 'Fan' there is a description of the Novy.

maxwellhadley commented 4 years ago

As expected, this is proving a bit complicated because all the different types of fan do slightly different things, and in different ways...

The RFXCOM API does not expose a 'start timer' function for the NOVY (although it does for other types). I could try faking a start timer by sending the 'power' command twice in succession. I think that is the equivalent of the 'lighting cooking mode on/off' button in the manual. Does the fan start if you just press '+', or do you always have to press the on/off button? How long a gap can you leave between each button press?

Kouwe-sudo commented 4 years ago

Maxwell,

False alarm. I reinstalled Pro2_1042 and now it’s connected. Everything works fine now.

Op 11 feb. 2020 om 17:16 heeft Max Hadley notifications@github.com het volgende geschreven:

 As expected, this is proving a bit complicated because all the different types of fan do slightly different things, and in different ways...

The RFXCOM API does not expose a 'start timer' function for the NOVY (although it does for other types). I could try faking a start timer by sending the 'power' command twice in succession. I think that is the equivalent of the 'lighting cooking mode on/off' button in the manual. Does the fan start if you just press '+', or do you always have to press the on/off button? How long a gap can you leave between each button press?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

maxwellhadley commented 4 years ago

I have just published new version 2.10.0 to npm. This includes fan support, but I am a bit uncertain whether I have got the Novy implementation right. Please try it out and let me know how you get on. A message payload of start timer sent to an address like NOVY/0x3 should trigger the timer by sending two 'power' commands in quick succession. Possibly.

Kouwe-sudo commented 4 years ago

Maxwell,

It works! Thank you very much. It took some time to find the right address. It turned out to be 0x0 which I didn’t expect. The timer works but I have plenty of time to activate it. Two times power within minutes from each other will do. The third power on will stop the fan immediately. The only thing is that the RFXcom stays a little bit unstable. I can’t rely on it being online. Couldn’t find a reason for that yet in the log. And plugging it in once a day is not really my idea of automation. 😊

Op 14 feb. 2020 om 19:52 heeft Max Hadley notifications@github.com het volgende geschreven:

 I have just published new version 2.10.0 to npm. This includes fan support, but I am a bit uncertain whether I have got the Novy implementation right. Please try it out and let me know how you get on. A message payload of start timer sent to an address like NOVY/0x3 should trigger the timer by sending two 'power' commands in quick succession. Possibly.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

maxwellhadley commented 4 years ago

Can you please check if the payload start timer, sent just once, also starts the timer?

maxwellhadley commented 4 years ago

About the stability issue: it may be power supply related. Try using a different USB lead, as the connectors do wear

Kouwe-sudo commented 4 years ago

Maxwell,

I've tried several variants of: msg.payload = "starttimer", msg.payload = "start timer", msg.payload.timer = 10 etc

But none of them ensures that the cooker hood comes on and the timer starts running. In itself no problem because 2 starts do the same thing. But I can imagine that you would like that to work too. If I have to test more, just let me know.

In the meantime I have discovered something else. I can very well imagine that people who use 'Home Assistant' in combination with 'Node-red' would also like to use the functionality of the RFXcom node. However, they receive the following error message when installing the RFXcom node:

2020-02-16T13:24:13.254Z Install : node-red-contrib-rfxcom 2.10.0

2020-02-16T13:24:14.326Z npm install --no-audit --no-update-notifier --save --save-prefix="~" --production node-red-contrib-rfxcom@2.10.0

This can also be caused by 'Home Assistant' itself, which is run in a docker (as Hassio). But installing other extra nodes will succeed.

Rob

Op 15 feb. 2020 om 14:08 heeft Max Hadley notifications@github.com het volgende geschreven:

 Can you please check if the payload start timer, sent just once, also starts the timer?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Kouwe-sudo commented 4 years ago

Maxwell,

It turned out to be my RFXcom again. I wanted to turn on the stove but then I couldn't. I had already connected a new shorter usb cable to the RFXcom but still connected it again. The timer -command now lets the cooker hood come on but the light doesn't start blinking with which I don't think the timer function has been started.

Sorry for the confusion!

Op 15 feb. 2020 om 16:11 heeft Max Hadley notifications@github.com het volgende geschreven:

 About the stability issue: it may be power supply related. Try using a different USB lead, as the connectors do wear

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

maxwellhadley commented 4 years ago

When you use the start timer command, does the fan actually stop after 10 minutes as expected? Please can you also check out that the basic start, stop, + and - commands work as expected. Also, if you use the same topic with an rfx-lights-out node, the commands on and off should control the light - do they?

Kouwe-sudo commented 4 years ago

Maxwell,

Start-command (true, "1",1) works!

Start-command (true, "1",1) twice works! Starts the timer

Start-command (true, "1",1) three times works! Stops the fan

+-command ("+") works!

--command ("-") works!

Stop-command (false, "0",0) doesn't work! Message: "Error: Device does not support switchOff()"

Timer-command (start timer 10) doesn't work! Turns on the fan but not the timer

Light is not supported with RFX-lights with message: "Input 'true' generated command 'switchOn' not supported by device

(with the same address 0x0 and command "On" , 1 and true) (The lights on a Novy are even dimmable (but not mine because I use normal LED's)

Greetings,

Rob

Op 17 feb. 2020 om 11:43 heeft Max Hadley notifications@github.com het volgende geschreven:

 When you use the start timer command, does the fan actually stop after 10 minutes as expected? Please can you also check out that the basic start, stop, + and - commands work as expected. Also, if you use the same topic with an rfx-lights-out node, the commands on and off should control the light - do they?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

maxwellhadley commented 3 years ago

I'm closing this for now - please re-open it if you hit a similar problem