Adding MQTT control and new weather features#81
Adding MQTT control and new weather features#81robotfishe wants to merge 9 commits intoph1p:mainfrom
Conversation
|
It got cold enough here this week that I noticed an issue with how the weather plugin manages negative numbers - now fixed. |
|
@robotfishe The whole PR is messed up. Please do one with proper commit history and one pr per feature - you simply cant keep track.. I had trouble yesterday implementing your solution because it looks like some things are specifically just implemented for esp8266 instead of making it available for both esp32 and esp8266. So i looked into your code and just merged your MQTT support in my local workspace. |
|
mqtt support would be nice. Any plans to continue on this PR? |
Not after the attitude I got from OldDroid in that last comment. Feel free to download my files and see if they work for you, and I'm happy to answer any questions. |
|
@robotfishe as a french guy sometimes my english is not fair as i would have. I think @OldDroid wanted to say that your PR is too big and doesn't reflect best git practice that offer good maintenability effort and code review. Of course its more work (to you :D ) but your work is very interesting so please reconsider to submit it in another more clean way (means one small PR on one functionality) ... We're all from culture and different country i don't think (here) people want to be discourteous. |
This PR adds the ability to show forecast as well as current weather. It uses two new variables: weatherMode and weatherTime. weatherMode can be set to 0 (current), 1 (hourly forecast), or 2 (daily forecast); weatherTime sets the number of hours or days to look ahead. For example, if you want the forecasted weather one hour from now, set both weatherMode and weatherTime to 1.
I am not confident of my ability to edit the web GUI, so for now these settings can only be changed via websocket or the second contribution in this PR: MQTT control.
Three MQTT settings are currently available. Topics are "Obegraensad/mode" (changes the plugin), "Obegraensad/weatherMode", and "Obegraensad/weatherTime" (as above). Messages must be integers.
This PR also splits the weather loop into a tick-tock setup, getting updated JSON data on one loop and parsing it on the next, to avoid CPU watchdog timeouts.