SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Video walk through of my Remote HF station
Comments
-
1
-
Great presentation. Got hooked on the Node-RED stuff!1
-
My hope is that we all share our NodeRed flows so it helps people get started.
This is where most of the chat is happening https://community.flexradio.com/flexradio/topics/remote-operating-and-node-red
Mike4 -
+1 on Node Red. Mike and Andreas, N6NU got me hooked when I was in the hospital, bored. I wrote flows for controlling and monitoring a KPA1500 amp, DLI Web Switch Pro, and Idiom Press serial interface for my rotor. Good stuff indeed. The DLI Web Switch Pro can be set up to ping multiple sites. If it fails ping to all sites three times then it reboots user defined outlets. (Cable modem, router, local maintenance PC). Nice thing is the switch also supports several programming languages to remotely control it. Dave wo2x2
-
1
-
1
-
Hi Craig
On the PI, none. All my switches are controlled by HTML links. This is the switch I use https://www.kmtronic.com/lan-ethernet-ip-8-channels-web-relay-board.html
You can see the examples here https://info.kmtronic.com/control-kmtronic-lan-relays-using-browser-bookmarks.html
Mike
2 -
1
-
Hi Craig
The KMTRONICS has status XML that it echos back that I capture and that is what sets the LED colour. So, I have some full circle communication. As for Temp, that is done on an I2C buss. The web server runs on the same RPI and is part of the NodeRed installation.
If you want to monitor a bunch of sites, I would look into MQTT to manage the distribution of the information. In the Steppir and Rotator flows that N6NU wrote, he uses MQTT to send messages to other operating stations.2 -
1
-
0
-
Thanks Alan. Today was a hectic and long day and I am a bit behind on emails. I will get to them. 731
-
Thanks, Mike. No problem. I caught the end of your afternoon video and heard you also had a morning of working on your water supply in the lake.
Alan0 -
1
-
1
-
0
-
You can find his email address on his QRZ page.
0 -
Mike
Not sure if you sent the "completed" SteppIR code. See my screenshot with questions noted. If it is not finished, that OK. I was just trying to make it work without success. I have other options if yours is "work in progress".
Alan
0 -
Hi
My flow is heavily modified and is not the flow I am currently using. Dave WO2X sent me the one we received from Andreas, N6NU.
However, let me see what I can piece together.
TCP 4002 is from a PSTRotator output. You can ignore that injection point.
Steppir IN is from the RS232 Port that is connected to the Steppir. If you open it up, you'll see more about it. The Steppir controller is 4800 8N1 for a baud rate.
Steppir1Status is from the MQTT server and that is where we get the frequency. That flow, attached is a work in progress. What it does is connect to the radio on port 4992, send a command and then look for a variety of things.
From Flex Queries also comes from the MQTT server that the flow (attached) sends to. I am not sure I sent that in the beginning.
Sorry, I know this is clear as mud. You may have to dig into it a bit.
Mike
[{"id":"a5a6f35f.a0a62","type":"tab","label":"FlexRadio","disabled":false,"info":""},{"id":"5332910e.2f411","type":"tcp in","z":"a5a6f35f.a0a62","name":"","server":"client","host":"192.168.110.76","port":"4992","datamode":"stream","datatype":"utf8","newline":"\\n","topic":"","base64":false,"x":203.01953125,"y":158.00390625,"wires":[["32af30a0.da29c","784db465.9bedfc","21676014.64315","4bb65a81.899f44"]]},{"id":"9f0dc4f.232cd38","type":"tcp out","z":"a5a6f35f.a0a62","host":"","port":"","beserver":"reply","base64":false,"end":false,"name":"","x":1003.01953125,"y":198.00390625,"wires":[]},{"id":"167dc49a.68cbab","type":"split","z":"a5a6f35f.a0a62","name":"","splt":" ","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":323.01953125,"y":418.00390625,"wires":[["66b580f3.0a7a4"]]},{"id":"66b580f3.0a7a4","type":"switch","z":"a5a6f35f.a0a62","name":"","property":"payload","propertyType":"msg","rules":[{"t":"regex","v":"^freq=","vt":"str","case":false}],"checkall":"true","repair":false,"outputs":1,"x":463.01953125,"y":418.00390625,"wires":[["8d5baf1.32b805"]]},{"id":"8d5baf1.32b805","type":"function","z":"a5a6f35f.a0a62","name":"Parse FlexTXFreq","func":"\nmsg.payload= msg.payload.split('=')[1]*100000;\n\nflow.set(\"FlexTXFreq\",msg.payload);\n\n\n\nreturn msg;","outputs":1,"noerr":0,"x":670,"y":420,"wires":[["b4944ad5.44dbd8"]]},{"id":"d63d2770.e41758","type":"mqtt out","z":"a5a6f35f.a0a62","name":"","topic":"FlexStatus","qos":"","retain":"","broker":"201e7171.0af3ee","x":1110,"y":500,"wires":[]},{"id":"b4944ad5.44dbd8","type":"function","z":"a5a6f35f.a0a62","name":"Devide Frequency by 100","func":"var Frequency=msg.payload/100;\n\n\n\nmsg.payload= parseFloat(Frequency).toFixed(2);\nreturn msg;","outputs":1,"noerr":0,"x":890,"y":420,"wires":[["d63d2770.e41758","b2a55269.8a30c","59f3c5b7.c2fbec"]]},{"id":"32af30a0.da29c","type":"trigger","z":"a5a6f35f.a0a62","op1":"C172|sub tx all","op2":"C172|sub tx all","op1type":"str","op2type":"str","duration":"60","extend":true,"units":"min","reset":"","bytopic":"all","name":"","x":490,"y":160,"wires":[["5039d92.c1ba328","5868bc45.056d54","12af30a0.75d09f","163c43e3.a5302c"]]},{"id":"b2a55269.8a30c","type":"trigger","z":"a5a6f35f.a0a62","op1":"","op2":"","op1type":"nul","op2type":"payl","duration":"10","extend":false,"units":"s","reset":"","name":"","x":730,"y":500,"wires":[["d63d2770.e41758"]]},{"id":"5039d92.c1ba328","type":"function","z":"a5a6f35f.a0a62","name":"SUB SLICE ALL","func":"// C172|sub slice all\nmsg.payload = \"C172|sub slice all\\r\"; \nreturn msg;","outputs":1,"noerr":0,"x":793.01953125,"y":178.00390625,"wires":[["9f0dc4f.232cd38"]]},{"id":"5868bc45.056d54","type":"function","z":"a5a6f35f.a0a62","name":"SUB CLIENT ALL","func":"// C172|sub slice all\nmsg.payload = \"C173|sub client all\\r\"; \nreturn msg;","outputs":1,"noerr":0,"x":803.01953125,"y":218.00390625,"wires":[["9f0dc4f.232cd38"]]},{"id":"12af30a0.75d09f","type":"function","z":"a5a6f35f.a0a62","name":"SUB TX ALL","func":"// C172|sub slice all\nmsg.payload = \"C202|sub tx all\\r\"; \nreturn msg;","outputs":1,"noerr":0,"x":783.01953125,"y":138.00390625,"wires":[["9f0dc4f.232cd38"]]},{"id":"784db465.9bedfc","type":"switch","z":"a5a6f35f.a0a62","name":"transmit","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"|transmit","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":173.01953125,"y":418.00390625,"wires":[["167dc49a.68cbab"]]},{"id":"163c43e3.a5302c","type":"function","z":"a5a6f35f.a0a62","name":"SUB RADIO ALL","func":"// C172|sub slice all\nmsg.payload = \"C73|sub radio all\\r\"; \nreturn msg;","outputs":1,"noerr":0,"x":810,"y":260,"wires":[["9f0dc4f.232cd38"]]},{"id":"2cdb975d.660f78","type":"inject","z":"a5a6f35f.a0a62","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":410.51171875,"y":58.94921875,"wires":[["12af30a0.75d09f"]]},{"id":"59f3c5b7.c2fbec","type":"ui_text","z":"a5a6f35f.a0a62","group":"147ec7a6.61a838","order":10,"width":0,"height":0,"name":"","label":"6600 Freq","format":"{{msg.payload}}","layout":"row-spread","x":1130,"y":420,"wires":[]},{"id":"21676014.64315","type":"switch","z":"a5a6f35f.a0a62","name":"rfpower","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"|transmit","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":180,"y":560,"wires":[["35cc47b5.351a98"]]},{"id":"35cc47b5.351a98","type":"split","z":"a5a6f35f.a0a62","name":"","splt":" ","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":350,"y":560,"wires":[["e7e8db4.377d128"]]},{"id":"e7e8db4.377d128","type":"switch","z":"a5a6f35f.a0a62","name":"","property":"payload","propertyType":"msg","rules":[{"t":"regex","v":"^rfpower=","vt":"str","case":false}],"checkall":"true","repair":false,"outputs":1,"x":490,"y":560,"wires":[["edb3c81.600ee38"]]},{"id":"edb3c81.600ee38","type":"function","z":"a5a6f35f.a0a62","name":"ParsePWR","func":"\nmsg.payload= msg.payload.split('=')[1];\n\nflow.set(\"FlexTXPWR\",msg.payload);\n\n\n\nreturn msg;","outputs":1,"noerr":0,"x":710,"y":560,"wires":[["6e9b14da.a6563c"]]},{"id":"6e9b14da.a6563c","type":"ui_text","z":"a5a6f35f.a0a62","group":"147ec7a6.61a838","order":11,"width":0,"height":0,"name":"","label":"TX Power","format":"{{msg.payload}}","layout":"row-spread","x":1140,"y":560,"wires":[]},{"id":"4d6cb5be.c9a64c","type":"comment","z":"a5a6f35f.a0a62","name":"","info":" state=TRANSMITTING\n state=READY","x":1620,"y":200,"wires":[]},{"id":"4bb65a81.899f44","type":"switch","z":"a5a6f35f.a0a62","name":"TX/RX State","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"state","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":170,"y":660,"wires":[["50ad74fe.67e61c"]]},{"id":"50ad74fe.67e61c","type":"split","z":"a5a6f35f.a0a62","name":"","splt":" ","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":310,"y":660,"wires":[["3b771b3c.5215e4"]]},{"id":"3b771b3c.5215e4","type":"switch","z":"a5a6f35f.a0a62","name":"","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"TRANSMITTING","vt":"str"},{"t":"cont","v":"READY","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":430,"y":660,"wires":[["7d3c7d0d.97c674"],["ae295af8.9e4b38"]],"inputLabels":["i/p"],"outputLabels":["PTT Requested","UnKey"]},{"id":"7d3c7d0d.97c674","type":"change","z":"a5a6f35f.a0a62","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"close","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":640,"wires":[["74bc71a6.a2d9e"]],"info":"The msg.payload is set to open or closed and\nsent to MQTT so that the Steppir controller\nwill know to open or close the gate.\n\nWhen Closed, the Steppir code will not send commands\nto the controller and hopefully not cause the \nSteppir to actually move while in TX"},{"id":"ae295af8.9e4b38","type":"change","z":"a5a6f35f.a0a62","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"open","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":680,"wires":[["74bc71a6.a2d9e"]],"info":"The msg.payload is set to open or closed and\nsent to MQTT so that the Steppir controller\nwill know to open or close the gate.\n\nWhen Closed, the Steppir code will not send commands\nto the controller and hopefully not cause the \nSteppir to actually move while in TX"},{"id":"74bc71a6.a2d9e","type":"mqtt out","z":"a5a6f35f.a0a62","name":"To Steppir Control","topic":"control","qos":"","retain":"","broker":"201e7171.0af3ee","x":1010,"y":660,"wires":[],"info":"To Steppir Code"},{"id":"201e7171.0af3ee","type":"mqtt-broker","z":"","name":"","broker":"192.168.110.111","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"147ec7a6.61a838","type":"ui_group","z":"","name":"Steppir","tab":"d6ba9a2a.f3f0d8","order":4,"disp":true,"width":"4","collapse":true},{"id":"d6ba9a2a.f3f0d8","type":"ui_tab","z":"","name":"VA3MW Shack Control","icon":"dashboard","order":1,"disabled":false,"hidden":false}]
0 -
Thanks Mike.
I understood the inputs and outputs, just could not get the SteppIR commands to work.
I am using the Flex API flow, above, in several of my flows. I have learned a lot about the Flex API by understanding how the flow works.
Thanks for working up a flow to share. I would like to add a "retract" button to my dashboard and was looking at how to use Node-Red, alone, to get this done. If you can share your working flow, that would be great.
Alan
WA9WUD0 -
0
-
Mike
I am making progress with the Node-Red SteppIR flow.
I have added the command buttons to the GUI flow for "Home", "Calibrate" and "Re-Enable".
I added code to the flow to add the necessary HEX commands to position 8 on the 9 byte ASCII message for each of the new set command buttons.
My flow now receives all of the status information from the Stepp IR.
However, my SteppIR SDA100 controller will not respond to commands from Node-Red.
The serial cable from Node-Red, in and out, both look good.
Questions:
How do you have the SDA100 configured with regards to serial in/out connectors and configuration?
- are you using the "data-in" DB9 from the Flex USB cables for frequency input?
- are you using the lower DB9, data-out, for your Node-Red Serial in and out?
- how do you have the transceiver configuration set up on the SDA100
>Di Baud Rate
>Dout Baud Rate
>Transceiver Type
Alan
0 -
Hi Alan,
I just loaded your SteppIR flow and going to look at the code to see if anything stands out at me. I do not have a SteppIR so will need you to test any changes. We can do it via TeamViewer whenever you have time.
73
Dave wo2x
0 -
Thanks go out to Mike, Dave and the SteppIRs developer, Andreas for helping me set up a working flow.
I now have the SteppIR flow incorporated into my Flex 6600 Dashboard. I had to modify the flow from a multi-element yagi to a single element vertical antenna. (mainly removing the code for "180" and adding code for "3/4" and eliminating unused element motors).
I have a separate tuning board in the SDA100 controller that operates the "Tuning" LED and provides a direct TX inhibit to the Flex if the SteppIR is moving.
I also have and use the SteppIR Transceiver board. That provides frequency information to the SteppIR SDA100 controller independent of the Node-Red Flow. If I have "Track" selected, the Antenna will track the Flex Frequency.
In my Flex 6600 Flow, I have a "Master" button. When I push this button, everything shuts down including grounding the HF antenna. I added logic from the "Master" button to "Home" the SteppIR element. When I restart the Flex, if the Stepp IR mode is in "Track", the SteppIR will automatically go to the frequency sent directly from the Flex Radio.
Here is a screenshot of the dashboard.
Alan
WA9WUD
0 -
Awesome... You read my mind on the Master button. I need to code one for Lightning that does that over a 2 minute period. Shut down the radios, then the power supplies, etc. Nice work!1
-
Mike..... ...About that lightning..... You have discussed that in your videos and I was wondering.....is there an API Key, like one can get from Weather Underground, to do HTTP requests for, in this case, lightning, in my (your) area?
I already shut down the station automatically on low voltage (if I lose power and my UPS battery power is discharged). It would be useful to add "lightning" to the ways to shut down the station.
I have seen simple flows that use Weather Underground, for trigging Node-Red, but I have not yet looked to see if the same can be done with a Lighting API Key.
Shutting down the station has been a neat project. Of course, you don't just "pull the plug". Some devices are shutdown but need power, such as the Flex. Also, I must maintain a UPS source for the LAN infrastructure, so I can remotely get it going again. More on that if you are interested.
Alan0 -
0
-
Mike
I found a way to get a Lightning trigger. Full description is in the Remote Operating discussion.
Alan0 -
Thanks Mike this was great info and super video!!!0
-
Thanks for the video Mike. I have a remote station down in VK. I use the Remote Rig web switches to control stuff - very stable over the last 5 years. I also use Lantronix 240V switching unit to control LAN switches, 24V power supply, 12V power supply with a battery backup via a West Mountain Radio PSG40. I use the Microtik 4G routers/firewall which are also nice and reliable but hard to setup.
Just got a Flex 6600 to replace the K3 and K3/0 setup.
Questions
How to you cope if the SteppIR SDA100 box power cycles (as it doesn't turn back on)?
Do you concert your RS232 to a LAN Port using the Lantronics and/or Moxa products? This may I can control the rotators and the Alpha 9500 etc with out having to remote in (using Splashtop Personal)
Thanks again for the video which had given me some more ideas
0
Leave a Comment
Categories
- All Categories
- 260 Community Topics
- 2.1K New Ideas
- 538 The Flea Market
- 7.6K Software
- 5.9K SmartSDR for Windows
- 139 SmartSDR for Maestro and M models
- 368 SmartSDR for Mac
- 251 SmartSDR for iOS
- 226 SmartSDR CAT
- 175 DAX
- 345 SmartSDR API
- 8.6K Radios and Accessories
- 6.9K FLEX-6000 Signature Series
- 45 FLEX-8000 Signature Series
- 803 Maestro
- 43 FlexControl
- 838 FLEX Series (Legacy) Radios
- 753 Genius Products
- 424 Power Genius XL Amplifier
- 280 Tuner Genius XL
- 89 Antenna Genius
- 227 Shack Infrastructure
- 168 Networking
- 410 Remote Operation (SmartLink)
- 119 Contesting
- 642 Peripherals & Station Integration
- 116 Amateur Radio Interests
- 879 Third-Party Software