SK / Node Red / Digital Switching Maretron DCR-100

I am traying to get digital switching working via SignalK and Node Red. I have installed the following plugins: - @signalk/signalk-node-red (operational) - signalk-n2k-switching (configured - all on) - signalk-maretron-proprietary (configured - all on) I try to set electrical.switches.bank.11.3.state on a Maretron DCR 100 My node red dashboard: [{"id":"89afe19b71f08c67","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"fc56aacc.889408","type":"signalk-subscribe","z":"89afe19b71f08c67","name":"","mode":"sendAll","flatten":true,"context":"vessels.self","path":"electrical.switches.bank.11.3.state","source":"","period":1000,"x":280,"y":120,"wires":[["4e791c49bf5180ba","a8c1e2500c85d9a1"]]},{"id":"64686842.76ea18","type":"signalk-send-put","z":"89afe19b71f08c67","name":"","path":"electrical.switches.bank.11.3.state","source":"","x":900,"y":120,"wires":[]},{"id":"4e791c49bf5180ba","type":"debug","z":"89afe19b71f08c67","name":"debug 4","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":580,"y":220,"wires":[]},{"id":"a8c1e2500c85d9a1","type":"change","z":"89afe19b71f08c67","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":120,"wires":[["64686842.76ea18","ba1d0728653a5e38"]]},{"id":"ba1d0728653a5e38","type":"debug","z":"89afe19b71f08c67","name":"debug 5","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":880,"y":220,"wires":[]}] The error message I get is: put error 400 there are multiple sources for the given path, but no source was specified in the request If I change $source in signalk-sent-put to "node-red" than I get: put error 405 PUT not supported for electrical.switches.bank.11.3.state Any hint would be helpful. Thanks a lot!
64 Replies
Scott Bender
Scott Bender2mo ago
Can you show what the switches look like in the Data Browser?
Dirk SV MOIN
Dirk SV MOIN2mo ago
Hello Scortt, thanks for your quick reply. Here the requested information
No description
Scott Bender
Scott Bender2mo ago
Try making $source NGT1.73
Dirk SV MOIN
Dirk SV MOIN2mo ago
Thank you for your feedback. I did this for the signalk-sent-put node. Looking at the flow I see "pending" for the signak-sent-put followed by this error in the debug log: put error 502 Did not receive change confirmation Console out is: [error] [signalk-send-put:64686842.76ea18] put error 502 Did not receive change confirmation
Scott Bender
Scott Bender2mo ago
And the switch doesn’t actually “switch”? Have you confirmed that you’re able to send n2k messages at all? What’s you n2k Data Connection look like?
Dirk SV MOIN
Dirk SV MOIN2mo ago
Yes, this is correct, it does not switch. I am using a RPI 4B with kernel 6.6.31+rpt-rpi-v8. node v18.20.4, SignalK 2.8.3, canboatjs /dev/ttyUSB0, 115200 baud USB-NGT1 N2k Interface from Actisense with latest FW I used the same NGT1 for TimeZero Professional on a Windows 10 machine and it was able to sent XTR to my Furuno autopilot. Is there a way I can test that N2k data is transmitted under RPi/SK? I have a 2nd workstation on the bus with a own NGT1 where I can read N2k using Actisense NEMAReader and I also have a Maretron IPG-100 where I use the N2KAnalyzer. Thank you so much, Dirk
Scott Bender
Scott Bender2mo ago
I think you need to enable send for pgn 127502 using the Actisense windows software.
Dirk SV MOIN
Dirk SV MOIN2mo ago
Ok, will try and give feedback I enabled pgn 127501 and 127502 for TX. I verified this with another PC an "update from hardware" showed the setting enabled. Nevertheless the error is still the same. Aug 16 09:32:27 16 Aug 09:32:27 - [error] [signalk-send-put:64686842.76ea18] put error 502 Did not receive change confirmation Aug 16 09:32:42 16 Aug 09:32:42 - [error] [signalk-send-put:64686842.76ea18] put error 502 Did not receive change confirmation
Scott Bender
Scott Bender2mo ago
Hmm Let’s try turning on debug for the n2 switching plugin. Also turn off the Maretron plugin for now
Dirk SV MOIN
Dirk SV MOIN2mo ago
After disabling the Maretron Plugin I see a lot of this messages in the Log: Aug 17 20:33:18 2024-08-17T08:33:18.299Z signalk-n2k-switching register action handler for path electrical.switches.bank.211.6.state source NGT1.212 Aug 17 20:33:18 2024-08-17T08:33:18.741Z signalk-n2k-switching register action handler for path electrical.switches.bank.213.1.state source NGT1.228 Aug 17 20:33:18 2024-08-17T08:33:18.741Z signalk-n2k-switching register action handler for path electrical.switches.bank.213.2.state source NGT1.228 Aug 17 20:33:18 2024-08-17T08:33:18.742Z signalk-n2k-switching register action handler for path electrical.switches.bank.213.3.state source NGT1.228 Aug 17 20:33:18 2024-08-17T08:33:18.743Z signalk-n2k-switching register action handler for path electrical.switches.bank.213.4.state source NGT1.228 Aug 17 20:33:18 2024-08-17T08:33:18.743Z signalk-n2k-switching register action handler for path electrical.switches.bank.213.5.state source NGT1.228 Aug 17 20:33:18 2024-08-17T08:33:18.744Z signalk-n2k-switching register action handler for path electrical.switches.bank.213.6.state source NGT1.228 Aug 17 20:33:19 2024-08-17T08:33:19.185Z signalk-n2k-switching register action handler for path electrical.switches.bank.215.1.state source NGT1.211 Aug 17 20:33:19 2024-08-17T08:33:19.186Z signalk-n2k-switching register action handler for path electrical.switches.bank.215.2.state source NGT1.211 Aug 17 20:33:19 2024-08-17T08:33:19.187Z signalk-n2k-switching register action handler for path electrical.switches.bank.215.3.state source NGT1.211 Aug 17 20:38:49 2024-08-17T08:38:49.722Z signalk-n2k-switching setting electrical.switches.bank.11.3.state to 1 Aug 17 20:38:49 2024-08-17T08:38:49.778Z signalk-n2k-switching sending {"pgn":127502,"dst":255,"Switch Bank Instance":11,"Instance":11,"Switch3":"On"} Aug 17 20:38:50 2024-08-17T08:38:50.781Z signalk-n2k-switching sending command {"pgn":126208,"dst":73,"prio":3,"fields":{"Function Code":"Command","PGN":127501,"Priority":8,"# of Parameters":2,"list":[{"Parameter":1,"Value":11},{"Parameter":4,"Value":"On"}]}} Aug 17 20:38:50 2024-08-17T08:38:50.782Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T08:38:48.717Z","pgn":127501} should be 1 Aug 17 20:38:51 2024-08-17T08:38:51.783Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T08:38:48.717Z","pgn":127501} should be 1 Aug 17 20:38:52 2024-08-17T08:38:52.783Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T08:38:48.717Z","pgn":127501} should be 1 Aug 17 20:38:53 2024-08-17T08:38:53.783Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T08:38:48.717Z","pgn":127501} should be 1 Aug 17 20:38:54 2024-08-17T08:38:54.783Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T08:38:48.717Z","pgn":127501} should be 1 Aug 17 20:38:55 2024-08-17T08:38:55.783Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T08:38:48.717Z","pgn":127501} should be 1 Aug 17 20:38:56 2024-08-17T08:38:56.783Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T08:38:48.717Z","pgn":127501} should be 1 Aug 17 20:38:56 17 Aug 20:38:56 - [error] [signalk-send-put:64686842.76ea18] put error 502 Did not receive change confirmation
Dirk SV MOIN
Dirk SV MOIN2mo ago
Here the full log signalk-server > sk.log
Scott Bender
Scott Bender2mo ago
I wonder if you need to enable send for 126208 sorry I didn't think f this before... enable debug for signalk:actisense-out
Dirk SV MOIN
Dirk SV MOIN2mo ago
The 126208 TX was enabled by default. I also enabled 126208 RX now.
Scott Bender
Scott Bender2mo ago
Is Jeremy out there?!
Dirk SV MOIN
Dirk SV MOIN2mo ago
Aug 18 07:09:50 2024-08-17T19:09:50.260Z signalk-n2k-switching setting electrical.switches.bank.11.3.state to 1 Aug 18 07:09:50 2024-08-17T19:09:50.291Z signalk-n2k-switching sending {"pgn":127502,"dst":255,"Switch Bank Instance":11,"Instance":11,"Switch3":"On"} Aug 18 07:09:50 2024-08-17T19:09:50.294Z signalk:actisense-out sending 2024-08-17T19:09:50.293Z,2,127502,0,255,8,0b,df,ff,ff,ff,ff,ff,ff Aug 18 07:09:50 2024-08-17T19:09:50.296Z signalk:actisense-out <Buffer 10 02 94 0e 02 0e f2 01 ff 08 0b df ff ff ff ff ff ff 70 10 03> Aug 18 07:09:51 2024-08-17T19:09:51.298Z signalk-n2k-switching sending command {"pgn":126208,"dst":73,"prio":3,"fields":{"Function Code":"Command","PGN":127501,"Priority":8,"# of Parameters":2,"list":[{"Parameter":1,"Value":11},{"Parameter":4,"Value":"On"}]}} Aug 18 07:09:51 2024-08-17T19:09:51.299Z signalk:actisense-out sending 2024-08-17T19:09:51.299Z,2,126208,0,73,10,01,0d,f2,01,f8,02,01,0b,04,01 Aug 18 07:09:51 2024-08-17T19:09:51.300Z signalk:actisense-out <Buffer 10 02 94 10 02 00 ed 01 49 0a 01 0d f2 01 f8 02 01 0b 04 01 0d 10 03> Aug 18 07:09:51 2024-08-17T19:09:51.301Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T19:09:49.242Z","pgn":127501} should be 1 Aug 18 07:09:52 2024-08-17T19:09:52.301Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T19:09:49.242Z","pgn":127501} should be 1 Aug 18 07:09:53 2024-08-17T19:09:53.301Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T19:09:49.242Z","pgn":127501} should be 1 Aug 18 07:09:54 2024-08-17T19:09:54.301Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{ },"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T19:09:49.242Z","pgn":127501} should be 1 Aug 18 07:09:55 2024-08-17T19:09:55.302Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T19:09:49.242Z","pgn":127501} should be 1 Aug 18 07:09:56 2024-08-17T19:09:56.302Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T19:09:49.242Z","pgn":127501} should be 1 Aug 18 07:09:57 2024-08-17T19:09:57.302Z signalk-n2k-switching checking electrical.switches.bank.11.3.state {"meta":{},"value":0,"$source":"NGT1.73","timestamp":"2024-08-17T19:09:49.242Z","pgn":127501} should be 1 Aug 18 07:09:57 18 Aug 07:09:57 - [error] [signalk-send-put:64686842.76ea18] put error 502 Did not receive change confirmation It does not switch - the additional actisense log above
Want results from more Discord servers?
Add your server