How To: Node Red – Supply Nerdiys PanelMeter with weather data

In the articles Build a retro-smart home display via analog displays and ESPEasy – Install and configure the Nerdy PanelMeter plugin was described what you need to do to build your own retro-smart home display.

If everything works, you are on a good way. But to make your display really useful, you have to feed it with the appropriate data.

How do you implement a weather data display and how to feed feed it via NodeRed with the corresponding data is explained in the following article.

Hints for our lovely english readers: Basically, many of the articles on Nerdiy.de are translations from the original german articles. Therefore, it may happen here and there that some illustrations are not available in english and that some translations are weird/strange/full of mistakes or generally totaly wrong. So if you find some obvious (or also not obvious) mistakes don't hesitate to leave us a hint about that in the comment section. 
Also please don't get confused, that instead of a "dot" often a "comma" is used as decimal separator. 🙂


Safety instructions

I know the following hints are always a bit annoying and seem unnecessary. But unfortunately, many people who knew it "better" from carelessness lost their eyes, fingers or other things or hurt themselves. In comparison, a loss of data is almost not worth mentioning, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Even the coolest project is worth no injury or other annoyance. https://www.nerdiy.de/en/sicherheitshinweise/

Affiliate links / advertising links

The links to online shops listed here are so-called affiliate links. If you click on such an affiliate link and shop via this link, Nerdiy.de receives a commission from the online shop or provider concerned. The price doesn't change for you. If you do your purchases via these links, you will support Nerdiy.de in being able to offer further useful projects in the future. 🙂


Requirements

Helpful Articles:
Of course NodeRed should already be installed so that you can take over this configuration.
How to prepare a RaspberryPi and then install NodeRed on it is described in the following articles.
RaspberryPi – Setting up for Nerdiys!
RaspberryPi – The first configuration
RaspberryPi – Controlling the RaspberryPi via SSH
NodeRed – Installing NodeRed on the RaspberryPi
NodeRed – Install New Nodes
NodeRed – Import and Export Node Code
Build a retro-smart home display via analog displays

ESPEasy – Install and configure the Nerdy PanelMeter plugin

Required tools:
-none-

Required material:

In the following list you will find all the parts you need to implement this article.


Log in to the NodeRed configuration interface

Before you can edit your NodeRed configuration you must - if activated - first log in to the NodeRed configuration interface.

View of the login screen. Here you have to enter the login details that you entered during the configuration of the login. Information about this can be found in the article NodeRed - User Login Setup.

Import Node Code

The following NodeCode ensures that the current weather data is periodically retrieved from openWeatherMap and sent to the PanelMeter.

To test this code you can easily import it into your NodeRed installation. Tips can be found in the article NodeRed – Import and Export Node Code.

For the code to work, you also need to enter an openWeatherMap API key in the openWeatherMap node. You can find information on this in the article NodeRed – Get current weather data from OpenWeatherMap.

Structure of the NodeCode.
Properties of the Change Node(s). “Min” and “max” define the scale range or interval in which “value” must lie. “Pm_num” also transfers the ID of the PanelMeter to be set.
Properties of the HTTP request node. This includes the link/address of the PanelMeter to which the HTTP request is sent with the command “pmset …” and the correct parameters.

Here is the actual NodeCode:

[{"id":"66cf8f15.ab862","type":"change","z":"fc4b3766.addee8","name":"","rules":[{"t":"set","p":"min","pt":"msg","to":"-50","tot":"str"},{"t":"set","p":"max","pt":"msg","to":"50","tot":"str"},{"t":"set","p":"pm_num","pt":"msg","to":"1","tot":"str"},{"t":"set","p":"value","pt":"msg","to":"data.main.temp-273.15","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":980,"wires":[["4b7d71f6.7b8f6"]]},{"id":"974ae16f.228f4","type":"json","z":"fc4b3766.addee8","name":"","property":"payload","action":"","pretty":false,"x":650,"y":1020,"wires":[["66cf8f15.ab862","1e0b8ca8.fb4b43","95ad8d98.a6ea6","19cb44df.0d1f2b"]]},{"id":"d3d7ea44.d221c8","type":"inject","z":"fc4b3766.addee8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":380,"y":1000,"wires":[["2f224771.f86a98"]]},{"id":"1e0b8ca8.fb4b43","type":"change","z":"fc4b3766.addee8","name":"","rules":[{"t":"set","p":"value","pt":"msg","to":"data.main.humidity","tot":"jsonata"},{"t":"set","p":"min","pt":"msg","to":"0","tot":"str"},{"t":"set","p":"max","pt":"msg","to":"100","tot":"str"},{"t":"set","p":"pm_num","pt":"msg","to":"2","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":1020,"wires":[["4b7d71f6.7b8f6"]]},{"id":"95ad8d98.a6ea6","type":"change","z":"fc4b3766.addee8","name":"","rules":[{"t":"set","p":"value","pt":"msg","to":"data.main.pressure","tot":"jsonata"},{"t":"set","p":"min","pt":"msg","to":"900","tot":"num"},{"t":"set","p":"max","pt":"msg","to":"1100","tot":"num"},{"t":"set","p":"pm_num","pt":"msg","to":"3","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":1060,"wires":[["4b7d71f6.7b8f6"]]},{"id":"2f224771.f86a98","type":"openweathermap","z":"fc4b3766.addee8","name":"","wtype":"current","lon":"","lat":"","city":"Bochum","country":"Germany","language":"de","x":420,"y":1060,"wires":[["974ae16f.228f4"]]},{"id":"8a6440bc.d3f16","type":"openweathermap in","z":"fc4b3766.addee8","name":"","wtype":"current","lon":"","lat":"","city":"Bochum","country":"Germany","language":"de","x":380,"y":960,"wires":[["974ae16f.228f4"]]},{"id":"19cb44df.0d1f2b","type":"debug","z":"fc4b3766.addee8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":830,"y":940,"wires":[]},{"id":"4b7d71f6.7b8f6","type":"http request","z":"fc4b3766.addee8","name":"","method":"GET","ret":"txt","paytoqs":false,"url":"http://192.168.20.30/control?cmd=pmset,{{pm_num}},{{min}},{{max}},{{value}}","tls":"","proxy":"","x":1130,"y":1020,"wires":[["861bfac3.dc6708"]]},{"id":"861bfac3.dc6708","type":"debug","z":"fc4b3766.addee8","name":"","active":false,"console":"false","complete":"payload","x":1350,"y":1020,"wires":[]}]

I hope everything worked as described. If not or you have any other questions or suggestions, please let me know in the comments. Also, ideas for new projects are always welcome. 🙂

Fab

P.S. Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you appreciate it that I share these information with you, I would be happy about a small donation to the coffee box. 🙂

Buy Me a Coffee at ko-fi.com

Leave a Reply

Your email address will not be published. Required fields are marked *