I have one ESP with two temp sensors, let's call it "TempEsp". Is sleeps for 10 minutes, wakes for 60 seconds, measures temp, then sleeps again.
Temp sensors are linked to Domoticz through IDX, values showing correctly in Domoticz.
I have another ESP with some pushbuttons and an Oled screen, let's call this "OledEsp". This one never sleeps. I created two dummy variables which should contain values to show on the oled screen.
I want to send the temp values from TempEsp to OledEsp just before TempEsp goes to sleep.
I added these rules to OledEsp:
on remoteTempDisplay do
TaskValueSet 10,1,%eventvalue%
endon
on remoteTempDisplay2 do
TaskValueSet 11,1,%eventvalue%
endon
When i type this to my browser for example:
h t t p://192.168.1.xx/control?cmd=event,remoteTempDisplay2=24
(Where xx is the correct ip.)
It shows "24" on the display of OledEsp.
Now i want this oled screen to show the temperature measured by TempEsp.
I added this this rule to TempEsp:
on System#Sleep do
h t t p://192.168.1.xx/control?cmd=event,remoteTempDisplay=[Temp1#Temperature]
h t t p://192.168.1.xx/control?cmd=event,remoteTempDisplay2=[Temp3#Temperature]
endon
The values are not shown on OledEsp, because http commands like this are not working from rules.
How should i send it, i can't find an explanation about remote events with a value instead of just turning something on or off.
(I added spaces between http to show the entire url on the forum, otherwise it does not show correctly on the forum)
Send temp value to other ESP before sleep
Moderators: grovkillen, Stuntteam, TD-er
-
- Normal user
- Posts: 10
- Joined: 10 Mar 2017, 20:25
Re: Send temp value to other ESP before sleep
With taskvalueset, you try to set a value to a dummy task.
So on the OLED ESP you can address this value from almost anywhere referring to it via [taskname#valuename]
So if you make sure to name both the dummy task and the variable, you can refer to them in the display plugin.
For example, two lines I have in my Framed OLED task:
Here I have the system info plugin named "test" and their respective values are shown including some formatting on the OLED.
So on the OLED ESP you can address this value from almost anywhere referring to it via [taskname#valuename]
So if you make sure to name both the dummy task and the variable, you can refer to them in the display plugin.
For example, two lines I have in my Framed OLED task:
Code: Select all
[test#uptime] mins
[test#freeheap] heap
Re: Send temp value to other ESP before sleep
You can go 3 ways to have the temperatures sent from the TempEsp to the OLedEsp:
SendToHttp
The simplest way is to adjust your url's to the SendToHttp syntax:
(the quotes are required as the url contains commas)
Inter-ESPEasy network
- Configure both your Esp's with a unique Unit Number ( > 0 and < 255) (I tend to use the last part of the ip address)
- Configure both your Esp's with the same UDP Port for the Inter-ESPEasy network on the Advanced Settings page (I use 65500, don't use 8266!)
- Use the SendTo command in your rules on TempEsp:
ESPEasy P2P Networking
Most accurate description is here: https://espeasy.readthedocs.io/en/lates ... #c013-page
(haven't used this myself, yet, and I don't like to re-type a chunk of the documentation)
And to complete it all, a link to the command reference: https://espeasy.readthedocs.io/en/lates ... mmand.html
- Use SendToHttp (the most generic and independent*)
- Use the Inter-ESPEasy network (the easiest to use*)
- Use the ESPEasy P2P Networking controller (a bit finicky but quite doable*)
SendToHttp
The simplest way is to adjust your url's to the SendToHttp syntax:
Code: Select all
SendToHttp,192.168.1.xx,80,'/control?cmd=event,remoteTempDisplay2=[Temp3#Temperature]'
//etc....
Inter-ESPEasy network
- Configure both your Esp's with a unique Unit Number ( > 0 and < 255) (I tend to use the last part of the ip address)
- Configure both your Esp's with the same UDP Port for the Inter-ESPEasy network on the Advanced Settings page (I use 65500, don't use 8266!)
- Use the SendTo command in your rules on TempEsp:
Code: Select all
SendTo,<OLedEsp's unitnumber>,'event,remoteTempDisplay2=[Temp3#Temperature]'
//etc....
Most accurate description is here: https://espeasy.readthedocs.io/en/lates ... #c013-page
(haven't used this myself, yet, and I don't like to re-type a chunk of the documentation)
And to complete it all, a link to the command reference: https://espeasy.readthedocs.io/en/lates ... mmand.html
/Ton (PayPal.me)
-
- Normal user
- Posts: 10
- Joined: 10 Mar 2017, 20:25
Re: Send temp value to other ESP before sleep
""SendToHttp,192.168.1.xx,80,'/control?cmd=event,remoteTempDisplay2=[Temp3#Temperature]'"Ath wrote: ↑21 Jul 2020, 20:35 You can go 3 ways to have the temperatures sent from the TempEsp to the OLedEsp:
- Use SendToHttp (the most generic and independent*)
- Use the Inter-ESPEasy network (the easiest to use*)
(* that is my opinion, not a verdict)
- Use the ESPEasy P2P Networking controller (a bit finicky but quite doable*)
SendToHttp
The simplest way is to adjust your url's to the SendToHttp syntax:(the quotes are required as the url contains commas)Code: Select all
SendToHttp,192.168.1.xx,80,'/control?cmd=event,remoteTempDisplay2=[Temp3#Temperature]' //etc....
Inter-ESPEasy network
- Configure both your Esp's with a unique Unit Number ( > 0 and < 255) (I tend to use the last part of the ip address)
- Configure both your Esp's with the same UDP Port for the Inter-ESPEasy network on the Advanced Settings page (I use 65500, don't use 8266!)
- Use the SendTo command in your rules on TempEsp:ESPEasy P2P NetworkingCode: Select all
SendTo,<OLedEsp's unitnumber>,'event,remoteTempDisplay2=[Temp3#Temperature]' //etc....
Most accurate description is here: https://espeasy.readthedocs.io/en/lates ... #c013-page
(haven't used this myself, yet, and I don't like to re-type a chunk of the documentation)
And to complete it all, a link to the command reference: https://espeasy.readthedocs.io/en/lates ... mmand.html
Thanks, that's it!
I was looking on the letscontrolit site, and the commands weren't clear to me.
Thank you for the extensive answer. I might try the other method as well.
Who is online
Users browsing this forum: No registered users and 33 guests