HowTo: Node Red – Supply Nerdiys PanelMeter with weather data

In the articles Build your own retro SmartHome display using analog displays and ESPEasy - Install and configure the NerdiysPanelMeter plug-in  described what you need to do to build your own retro SmartHome display.

If everything works now, you are already on the right track. In order for your ad to be really useful, you of course have to feed it with the appropriate data.

How, for example, you can implement a weather data display and feed it with the corresponding data from NodeRed is explained in the following article.


Safety instructions

I know the following notes are always kind of annoying and seem unnecessary. Unfortunately, many people who knew "better" have lost eyes, fingers or other things due to carelessness or injured themselves. Data loss is almost negligible in comparison, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Because even the coolest project is not worth injury or other trouble.
https://www.nerdiy.de/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 make a purchase via this link, Nerdiy.de will receive a commission from the relevant online shop or provider. The price does not change for you. If you make your purchases via these links, you support Nerdiy.de in being able to offer other useful projects in the future. 🙂 


Requirements

Helpful articles:
To be able to use this configuration, NodeRed should of course already be installed.
How to prepare a RaspberryPi and then install NodeRed on it is described in the following articles.

The following articles describe what has to be done to prepare the RaspberryPi so far:
RaspberryPi – setup for nerdiys!
RaspberryPi – The first configuration!
RaspberryPi – Control the RaspberryPi via SSH

NodeRed – Installing NodeRed on the RaspberryPi
NodeRed – Install new nodes
Build your own retro SmartHome display using analog displays
ESPEasy - Install and configure the NerdiysPanelMeter plug-in

Required tool:
-no-

Required material:

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


Log into the NodeRed configuration interface

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

View of the login dialog. Here you have to enter the login data that you specified during the configuration of the login. You can find information about this in the article NodeRed - set up user login.

Import node code

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

To test this code, you can simply import it into your NodeRed installation. You can find tips on how to do this in the article NodeRed - import and export node code.

In order for the code to work, you also have to enter an openWeatherMap API key in the openWeatherMap node. You can find information about this in the article NodeRed - Get current weather data from OpenWeatherMap.

Structure of the NodeCode.
Properties of the change node(s). With “min” and “max” the scale range or interval is defined in which “value” must lie. With “pm_num” the ID of the PanelMeter to be set is also transferred.
Properties of the HTTP request node. This contains 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 node code:

[{"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.h umidity","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":"fc 4b3766.addee8","name":"","wtype":"current","lon":"","lat":"","city":"Bochum","country":"Germany", "language":"en","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":[]}]

Have fun with the project

I hope everything worked as described for you. If not or you have questions or suggestions please let me know in the comments. I will then add this to the article if necessary.
Ideas for new projects are always welcome. 🙂

PS 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 think it's cool that I share the information with you, I would be happy about a small donation to the coffee fund. 🙂

Buy Me a Coffee at ko-fi.com       

Kommentar hinterlassen

Your email address will not be published. Erforderliche Felder sind mit * markiert

This site uses Akismet to reduce spam. Learn how your comment data is processed.