maxwellhadley / node-red-contrib-rfxcom

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

Raw transmit #103

Closed razvanws closed 1 year ago

razvanws commented 4 years ago

Hi, I have some Zemismart curtain motors which are not natively supported by rfxcom. I was able to extract the raw payload from the remote control and I'm able to use "Raw transmit" option in RFXmngr. Do I have any option to raw transmit a message using node-red and rfxcom? Thanks.

maxwellhadley commented 4 years ago

Zemismart blinds were added to the RFXtrx transceiver firmware in version 1040, about one year ago. So long as you have an 'E' or 'XL' type RFXtrx433, you can upgrade to the current firmware (1043) and control them as type BLINDS_T16, using a message topic like:

BLINDS_T16/0x1234/4
razvanws commented 4 years ago

I have the XL version with the latest firmware (1043). I'm guessing that there might be different Zemismart motors and the ones that I have are not integrated yet.

I have those ones and they don't pair at all with BLINDS_T16 (however they do work when sending raw payloads): https://www.zemismart.com/zemismart-smart-curtain-alexa-google-home-electric-stage-curtain-motorized-tuya-wifi-curtain-motor-with-track-p0160.html

maxwellhadley commented 4 years ago

I suggest you send an email to support@rfxcom.com and ask about the possibility of supporting this blinds motor in a future firmware version.

The supporting package node-rfxcom which node-red-contrib-rfxcom uses (and which I also maintain, and wrote a large part of) can support raw transmit packets. I will have a think about the best way to add this to node-red-contrib-rfxcom. Could you post the 'raw' packet data that work for you, please?

razvanws commented 4 years ago

Thanks. I will contact them.

Regardless of this zemismart motor (which can be flashed with tasmota anyway), I think that adding the ability to transmit raw commands will greatly enhance the node-red-contrib-rfxcom library because it would offer you the option to support any kind of device.

I'm sending you below the raw "file" which rfxmngr uses to send the command and the output.

raw_command.txt (one number per each line): 0 7 314 769 324 400 325 396 329 397 677 429 298 785 317 405 320 399 325 399 326 399 325 403 322 401 673 783 667 776 676 779 673 425 303 774 677 438 289 778 674 426 300 782 670 773 680 428 298 780 671 774 329 412 662 780 671 775 327 400 324 398 675 426 300 424 302 425 301 778 324 397 677 780 322 403 322 403 321 394 331 409 314 401 324 398 327 400 324 403 322 400 325 395 678 432 294 775 327 406 301 2888 317 404 305 405 305 407 302 405 305 407 302 405 304 399 310 410 295 4960

rfxmngr console output:


8/2/2020 10:16:40:330= 1401070207436F7079726967687420524658434F4D
================================================
8/2/2020 10:16:57:661= RAW transmit command: F0 7F 00 03 07 01 3A 03 01 01 44 01 90 01 45 01 8C 01 49 01 8D 02 A5 01 AD 01 2A 03 11 01 3D 01 95 01 40 01 8F 01 45 01 8F 01 46 01 8F 01 45 01 93 01 42 01 91 02 A1 03 0F 02 9B 03 08 02 A4 03 0B 02 A1 01 A9 01 2F 03 06 02 A5 01 B6 01 21 03 0A 02 A2 01 AA 01 2C 03 0E 02 9E 03 05 02 A8 01 AC 01 2A 03 0C 02 9F 03 06 01 49 01 9C 02 96 03 0C 02 9F 03 07 01 47 01 90 01 44 01 8E 02 A3 01 AA 01 2C 01 A8 01 2E 01 A9 01 2D 03 0A 01 44 01 8D 02 A5 03 0C 01 42 01 93 01 42 01 93 01 41 01 8A 01 4B 01 99 01 3A 01 91 01 44 01 8E 01 47 01 90 01 44 01 93 01 42 01 90 01 45 01 8B 02 A6 01 B0 01 26 03 07 01 47 01 96 01 2D 0B 48 01 3D 01 94 01 31 01 95 01 31 01 97 01 2E 01 95 01 31 01 97 01 2E 01 95 01 30 01 8F 01 36 01 9A 01 27 13 60 
================================================
Packettype    = RAW Packet
Packet Length = 240
subtype       = RAW packet
Sequence nbr  = 3
Repeat        = 7
Nbr of pulses = 59
314  769  324  400  325  396  329  397  677  429  298  785  317  405  320  399  325  399  326  399  325  403  322  401  673  783  667  776  676  779  673  425  303  774  677  438  289  778  674  426  300  782  670  773  680  428  298  780  671  774  329  412  662  780  671  775  327  400  324  398  675  426  300  424  302  425  301  778  324  397  677  780  322  403  322  403  321  394  331  409  314  401  324  398  327  400  324  403  322  400  325  395  678  432  294  775  327  406  301  2888  317  404  305  405  305  407  302  405  305  407  302  405  304  399  310  410  295  4960   
------------------------------------------------
8/2/2020 10:16:59:221= 0402010300
Packettype        = Receiver/Transmitter Message
subtype           = Transmitter Response
Sequence nbr      = 3
response          = ACK, data correct transmitted
------------------------------------------------```
maxwellhadley commented 4 years ago

Thanks - I will try this out. Presumably this is a 'copy' of what the Zemismart remote control sent? Including the 7 repeats?

razvanws commented 4 years ago

It's not exactly an 1:1 copy. Zemismart remote sends the following:


Packettype    = RAW Packet
Packet Length = 252
subtype       = RAW packet
Sequence nbr  = 97
Repeat        = 0
Nbr of pulses = 62
326  403  300  403  299  415  289  408  295  401  302  402  301  404  299  402  301  402  300  409  294  403  300  401  302  420  284  405  299  404  299  409  295  404  300  404  300  407  297  406  298  403  301  407  297  420  284  417  304  402  308  400  310  407  303  404  305  410  300  400  310  407  303  403  302  4960  314  769  324  400  325  396  329  397  677  429  298  785  317  405  320  399  325  399  326  399  325  403  322  401  673  783  667  776  676  779  673  425  303  774  677  438  289  778  674  426  300  782  670  773  680  428  298  780  671  774  329  412  662  780  671  775  327  400   
------------------------------------------------
8/2/2020 03:52:03:762= FC7F0162000144018E02A301AA012C01A8012E01A9012D030A0144018D02A5030C01420193014201930141018A014B0199013A01910144018E0147019001440193014201900145018B02A601B00126030701470196012D0B48013D01940131019501310197012E019501310197012E01950130018F0136019A01271360013602FF014401900144018D0148018D02A501A70130030A014501940141018F014501910144019101430197013D01990299030702A5030802A5030902A301B00127030B02A001AB012C030502A701AE0129030802A4030B02A101AA012D030B02A003070148018E02A4030C02A00304014A018C0149019A029801AD012901A9
Packettype    = RAW Packet
Packet Length = 252
subtype       = 2nd RAW packet
Sequence nbr  = 98
Repeat        = 0
Nbr of pulses = 62
324  398  675  426  300  424  302  425  301  778  324  397  677  780  322  403  322  403  321  394  331  409  314  401  324  398  327  400  324  403  322  400  325  395  678  432  294  775  327  406  301  2888  317  404  305  405  305  407  302  405  305  407  302  405  304  399  310  410  295  4960  310  767  324  400  324  397  328  397  677  423  304  778  325  404  321  399  325  401  324  401  323  407  317  409  665  775  677  776  677  777  675  432  295  779  672  427  300  773  679  430  297  776  676  779  673  426  301  779  672  775  328  398  676  780  672  772  330  396  329  410  664  429  297  425   
------------------------------------------------
8/2/2020 03:52:05:353= FC7F026300012E01AC012B030D01420198029B03080148018E01470194014201950141019301420190014601910144019101440193014201950141019B029701AD012A031001400197012D0B530137019501320199012E019701300197012F01930134018E01380196012F018C0135136F012D0302014201920144018F0146019102A301A9012E030A0145018F014601910144018D0149019501400199013C019302A0030C02A0030D029F030902A301AC012A030C02A101AE012A030A02A401AB012D030902A40310029D01AE0129030C02A103090146019002A5030702A8030B014601A30134019002A501AE012A01AD012A01AC012D030D01430193
Packettype    = RAW Packet
Packet Length = 252
subtype       = 3rd RAW packet
Sequence nbr  = 99
Repeat        = 0
Nbr of pulses = 62
302  428  299  781  322  408  667  776  328  398  327  404  322  405  321  403  322  400  326  401  324  401  324  403  322  405  321  411  663  429  298  784  320  407  301  2899  311  405  306  409  302  407  304  407  303  403  308  398  312  406  303  396  309  4975  301  770  322  402  324  399  326  401  675  425  302  778  325  399  326  401  324  397  329  405  320  409  316  403  672  780  672  781  671  777  675  428  298  780  673  430  298  778  676  427  301  777  676  784  669  430  297  780  673  777  326  400  677  775  680  779  326  419  308  400  677  430  298  429  298  428  301  781  323  403   
------------------------------------------------
8/2/2020 03:52:07:085= 407F03640102A10307014801910146019C013A01910146018F0147018E01480191014401920145019001460198013E018F02A601AA012E0306014A019201340000
Packettype    = RAW Packet
Packet Length = 64
subtype       = 4th RAW packet
Sequence nbr  = 100
Repeat        = 1
Nbr of pulses = 15
673  775  328  401  326  412  314  401  326  399  327  398  328  401  324  402  325  400  326  408  318  399  678  426  302  774  330  402  308  0   
================================================```

I just created the payload in the previous post according to rfxcom documentation. I can tell you that it doesn't work with 0 repeats but it does work with 7 repeats. 
MPowerData commented 3 years ago

@razvanws, were you ever able to send this raw command via node-red?

I have a similar request, based on 2 old devices, from which I can send a working raw transmit in RFXmgr, but of course I want it working from node-red. :-)

@maxwellhadley , is this implemented? And how can I configure this in node-red?

Many thanks!

delcara commented 2 years ago

@maxwellhadley did you eventually find a way to implement this in the node-red-contrib-rfxcom? I'm searching for a way to do this. I'm able to control an infrared panel with build in led lights through raw commands in RFXmngr. I've copied the commands from the orignal remote. The RAW packets for turning on the light are the 3 packets below (this is captured with RFXmngr from the remote)

`

19/09/2022 10:41:56:516= FC7F007C0000DF038F02A70310023B02CB020202A901D7025201AA023E01A9024501B118A601D1025701BB025501BF025801BD066501C2025801BC025501BB066401C2025601BD066401C5066801BF025801BC066601C1025501BD066401C1025501BD025501BF025601BC025801BE025401BA025801BE025601BE025401BE025401BD025501BF025601BC025601BC025301BF025301BE025801BE025201BF025201BD066501C2066501C3069C01C5066601C1025101BF025801BA066701C2066401C3066501C5025703C518B401D5025301BC025701BC025901BA066901BF025801B8025601BE066701C0025401BB066801C1066901C0025801BA0667 Packettype = RAW Packet Packet Length = 252 subtype = RAW packet Sequence nbr = 124 Repeat = 0 Nbr of pulses = 62 223 911 679 784 571 715 514 681 471 594 426 574 425 581 433 6310 465 599 443 597 447 600 445 1637 450 600 444 597 443 1636 450 598 445 1636 453 1640 447 600 444 1638 449 597 445 1636 449 597 445 597 447 598 444 600 446 596 442 600 446 598 446 596 446 596 445 597 447 598 444 598 444 595 447 595 446 600 446 594 447 594 445 1637 450 1637 451 1692 453 1638 449 593 447 600 442 1639 450 1636 451 1637 453 599 965 6324 469 595 444 599 444 601 442 1641 447 600 440 598 446 1639 448 596 443 1640 449 1641 448 600 442 1639

19/09/2022 10:41:58:301= FC7F017D0001C3025301BF066401C1025601BA025901BB025601BD025801BC025401BD025501BF025701BD025601BB025501BA025701BB025701BE025401BF025301BD025801BD025501BF025401BD025301BD066501C2066901C1066401C2066501C5025601BC025601C0066501C1066401C2066401C3025503C618B501D4025501BC025701BD025801BA066501C2025401BD025501BF066601BE025801BD066601C2066401C1025601BC066701C4025701BB066401C4025801BB025601BA025701BD025801BD025801BA025701BC025501BD025701BE025501BB025601BB025601BC025701BE025501BB025601C0025401BD025501BF025401BC0664 Packettype = RAW Packet Packet Length = 252 subtype = 2nd RAW packet Sequence nbr = 125 Repeat = 0 Nbr of pulses = 62 451 595 447 1636 449 598 442 601 443 598 445 600 444 596 445 597 447 599 445 598 443 597 442 599 443 599 446 596 447 595 445 600 445 597 447 596 445 595 445 1637 450 1641 449 1636 450 1637 453 598 444 598 448 1637 449 1636 450 1636 451 597 966 6325 468 597 444 599 445 600 442 1637 450 596 445 597 447 1638 446 600 445 1638 450 1636 449 598 444 1639 452 599 443 1636 452 600 443 598 442 599 445 600 445 600 442 599 444 597 445 599 446 597 443 598 443 598 444 599 446 597 443 598 448 596 445 597 447 596 444 1636

19/09/2022 10:42:00:103= 287F027E0101C206AF01C2066401C1066501C2025801BC025601BC066201C5066401C3066401C20000 Packettype = RAW Packet Packet Length = 40 subtype = 3rd RAW packet Sequence nbr = 126 Repeat = 1 Nbr of pulses = 9 450 1711 450 1636 449 1637 450 600 444 598 444 1634 453 1636 451 1636 450 0 `

I've converted this to the attached files (as described in de RFXcom userguide) which you can execute in RFXmanager (RAW transmit tab) to turn on the light (all 3 are necessary, each stands for 1 raw packet). I'm now searching a way to execute this RAW packets in Home Assistant or through Node-Red. LED on 0.txt LED on 1.txt LED on 2.txt

MPowerData commented 2 years ago

I'm curious about this as well... 🙂

maxwellhadley commented 2 years ago

Sorry about this - over the last 18 months or so my life has gone completely crazy, leaving me no time for playing with Node-RED :(

If & when things change I will try to get back onto it, but I can make no promises just now.

maxwellhadley commented 1 year ago

I finally have a new rfx-raw-out node working, just a few more details to sort out. I hope to publish the new version in the next week or two

maxwellhadley commented 1 year ago

I have just published version 2.12.0 which adds a new rfx-raw-out node (but I forgot to mention it in the README!)