string variables an decimal variables
Moderators: grovkillen, Stuntteam, TD-er
string variables an decimal variables
Hi,
another beginner questions:
1) If I understood correctly, unfortunately you cannot store strings in variables or have them sent via cmd. Is that correct?
2) I am currently sending temperature values from outside via cmd and saving them with let. What do I have to do so that the decimal number is transferred and displayed correctly?
3) Can I also specify a time in the format 23:12 or do I have to install the : later myself?
Thanks for help!
another beginner questions:
1) If I understood correctly, unfortunately you cannot store strings in variables or have them sent via cmd. Is that correct?
2) I am currently sending temperature values from outside via cmd and saving them with let. What do I have to do so that the decimal number is transferred and displayed correctly?
3) Can I also specify a time in the format 23:12 or do I have to install the : later myself?
Thanks for help!
Re: string variables an decimal variables
First of all, have you seen the "System Variables" page (button on the Tools page) ?
This does show all system variables and their current value.
Among them is also a number of system variables dealing with system time.
The 2nd column does show the exact syntax how it will be converted to a string representation when parsing.
You can use those everywhere, like on displays, in commands and in rules.
The %systm_hm% does have the ":" included.
When processing commands, you can also use string notations and even generate strings.
For example when used as topic or message in the "publish" command.
Or the command "logentry" to generate logs.
You can also use them for sendToHttp or plugin specific commands like showing text on a display.
You can also format numerical values. See: https://espeasy.readthedocs.io/en/lates ... red-values
For example when referring to a task value and you want to have at least 2 trailing zeroes:
[taskname#taskvaluename#D.2]
I suggest you also try sending some log entries to see how the syntax handling can be used.
Note the different quotes you can use to group text in a single command argument.
This allows to use characters which would otherwise be considered an argument separator, like a comma or a space.
And also allows to use "the other" kind of quotes, like you need for some syntaxes like JSON.
This does show all system variables and their current value.
Among them is also a number of system variables dealing with system time.
The 2nd column does show the exact syntax how it will be converted to a string representation when parsing.
You can use those everywhere, like on displays, in commands and in rules.
The %systm_hm% does have the ":" included.
When processing commands, you can also use string notations and even generate strings.
For example when used as topic or message in the "publish" command.
Or the command "logentry" to generate logs.
You can also use them for sendToHttp or plugin specific commands like showing text on a display.
You can also format numerical values. See: https://espeasy.readthedocs.io/en/lates ... red-values
For example when referring to a task value and you want to have at least 2 trailing zeroes:
[taskname#taskvaluename#D.2]
I suggest you also try sending some log entries to see how the syntax handling can be used.
Code: Select all
logentry,'This is a logentry, showing taskvalue BME#temperature: [bme#temperature]'
Code: Select all
'bla'
`bla`
"bla"
And also allows to use "the other" kind of quotes, like you need for some syntaxes like JSON.
Re: string variables an decimal variables
Thanks TD,
Unfortunately I may have expressed myself too imprecisely (my English is not good).
I'm interested in values that I want to send to the ESP Easy from outside (i.e. from the www or cloud).
I'm currently sending like this (with google sheets/script) (which also works fine with a number):
.../control?cmd=event,Verbrauch=127
and this is how I process the variable (ESP easy):
on Verbrauch do
let,4,%eventvalue%
if [VAR#1]=1
tft,rf,3,130,128,20,black,black
tft,txtfull,3,130,2,cyan,black,'[VAR#4] W'
how and where do I need to adjust it to send/use
- 12,2 (dezimal)
- string/text
- 23:12
?
Unfortunately I may have expressed myself too imprecisely (my English is not good).
I'm interested in values that I want to send to the ESP Easy from outside (i.e. from the www or cloud).
I'm currently sending like this (with google sheets/script) (which also works fine with a number):
.../control?cmd=event,Verbrauch=127
and this is how I process the variable (ESP easy):
on Verbrauch do
let,4,%eventvalue%
if [VAR#1]=1
tft,rf,3,130,128,20,black,black
tft,txtfull,3,130,2,cyan,black,'[VAR#4] W'
how and where do I need to adjust it to send/use
- 12,2 (dezimal)
- string/text
- 23:12
?
Re: string variables an decimal variables
Code: Select all
.../control?cmd=event,Verbrauch=12.2
i think not possible...what exactly you want to do with a string in ESPEasy. An example would be nice.. maybe there is a workaround
Code: Select all
.../control?cmd=event,SpecialTime=12,30
Code: Select all
On SpecialTime Do
Let,1,%eventvalue2%
LogEntry,'%eventvalue1%:[var#1#D2]'
Endon
Code: Select all
95953762: ACT : LogEntry,'12:30'
Re: string variables an decimal variables
Thanks for your Answer!
"i think not possible...what exactly you want to do with a string in ESPEasy. An example would be nice.. maybe there is a workaround"
---> I have a TFT screen that I would like to access
- Power consumption
- Photovoltaics
- Weather
and among others
- missed calls
display.
It works quite well too. I already have a lot of data in Google Sheets and am sending it to the ESP.
I would also like to display the caller names.
It's for a pensioner.
"i think not possible...what exactly you want to do with a string in ESPEasy. An example would be nice.. maybe there is a workaround"
---> I have a TFT screen that I would like to access
- Power consumption
- Photovoltaics
- Weather
and among others
- missed calls
display.
It works quite well too. I already have a lot of data in Google Sheets and am sending it to the ESP.
I would also like to display the caller names.
It's for a pensioner.
Re: string variables an decimal variables
ok.. you need to read the documentation for this because i am going to sleep...
https://espeasy.readthedocs.io/en/lates ... #substring
but something like this:
Command:
Rules:
Log:
https://espeasy.readthedocs.io/en/lates ... #substring
but something like this:
Command:
Code: Select all
.../control?cmd=event,AnruferKlaus=12,20
Code: Select all
On Anrufer* Do
Let,1,%eventvalue2%
LogEntry,'Anruf: {substring:7:13:%eventname%} um %eventvalue1%:[var#1#D2]Uhr'
Endon
Code: Select all
725866: HTTP: event,AnruferKlaus=12,20
725899: EVENT: AnruferKlaus=12,20
726016: ACT : Let,1,20
726024: ACT : LogEntry,'Anrufer: Klaus um 12:20Uhr'
726025: Anruf: Klaus um 12:20Uhr
Re: string variables an decimal variables
I think the biggest struggle here may be to get rid of the decimal comma and format your calls into using a decimal point.
Here in the Netherlands we also officially have a decimal comma, but I find it extremely error prone and confusing.
Especially when values are being formatted with 3 decimals and also showing 1000-separators.
Back to how ESPEasy matches events and how you can also use some basic formatting tricks...
See also this about matching events: https://espeasy.readthedocs.io/en/lates ... ing-events
As you can see, event values are separated using a comma.
So if you really can't change your calls into using a decimal point, you can eventually do this in ESPEasy too.
But it is a lot more work as you need to make it work with both integer values and floating point values (for example "10" instead of "10.0")
You could try wrapping values with quotes to make them all be grouped into a single argument even though they have a comma.
See also: https://espeasy.readthedocs.io/en/lates ... eventvalue
Especially about the default value when an eventvalue is not given.
Some idea, not tested:
Here in the Netherlands we also officially have a decimal comma, but I find it extremely error prone and confusing.
Especially when values are being formatted with 3 decimals and also showing 1000-separators.
Back to how ESPEasy matches events and how you can also use some basic formatting tricks...
See also this about matching events: https://espeasy.readthedocs.io/en/lates ... ing-events
As you can see, event values are separated using a comma.
So if you really can't change your calls into using a decimal point, you can eventually do this in ESPEasy too.
But it is a lot more work as you need to make it work with both integer values and floating point values (for example "10" instead of "10.0")
You could try wrapping values with quotes to make them all be grouped into a single argument even though they have a comma.
See also: https://espeasy.readthedocs.io/en/lates ... eventvalue
Especially about the default value when an eventvalue is not given.
Some idea, not tested:
Code: Select all
// Event received like this:
// event,Verbrauch='123,45'
// Group the eventvalues with comma as decimal separator per value
on Verbrauch do
// Convert %eventvalue1% ('123,45') into a floating point value
// Do not use asyncevent, but event as you need the result immediately
// Will be replaced with event,ConvertDecimal,4,123,45 before parsing
event,ConvertDecimal,4,%eventvalue1%
endon
// Eventvalues: ConvertDecimal=1,23,4
// Store "23.4" into [var#1]
on ConvertDecimal do
let,%eventvalue1%,%eventvalue2%.%eventvalue3|0%
endon
Re: string variables an decimal variables
Thank you very much for your answers and your patience with me.
Now there is a lot of information. Very exciting and promising!
I'll take a closer look at it and report back here.
Of course I've read the guidelines, but I'm not very good at it. And I can't get some things to work that way (e.g. the decimal number, even though I did it as written, or the strings). But with your advice, I'll keep trying
Thanks again!
Now there is a lot of information. Very exciting and promising!
I'll take a closer look at it and report back here.
Of course I've read the guidelines, but I'm not very good at it. And I can't get some things to work that way (e.g. the decimal number, even though I did it as written, or the strings). But with your advice, I'll keep trying
Thanks again!
Re: string variables an decimal variables
Keep the questions coming
For me it is also good to know where users may run into (obvious) issues when starting with ESPEasy as it opens opportunities to make it easier to start with a less steep learning curve.
For me it is also good to know where users may run into (obvious) issues when starting with ESPEasy as it opens opportunities to make it easier to start with a less steep learning curve.
Re: string variables an decimal variables
Hello you two!
Thanks!!!
(my current questions only relate to values that I send to the ESP from the web)
1)
When I send with /control?cmd=event,Verbrauch=12,21
Rules:
on Verbrauch do
let,4,%eventvalue%
tft,rf,3,130,128,20,black,black
tft,txtfull,3,130,2,cyan,black,'[VAR#4] W'
endon
it only shows me on TFT 12. Where is my mistake?
2)
"
On Anrufer* Do
Let,1,%eventvalue2%
LogEntry,'Anruf: {substring:7:13:%eventname%} um %eventvalue1%:[var#1#D2]Uhr'
Endon
"
Thanks, the suggestion works (in principle).
I have a question for understanding:
What does the number do in this component?
%eventvalue1%, %eventvalue2%,…
3)
I still don't understand whether the text values are saved.
This is what I need (background, I have a TFT display that can be “scrolled” with hardware buttons.
I can do it well with integers as written, but everything else doesn't work yet.
I can already achieve what I want with workarounds, but I also want to understand and learn more... and of course optimize it.
4) just as a note
If I forgo saving/if I have to forego saving, this way is actually much easier:
Control the display directly from the outside using a command.
control?cmd=tft,txtfull,20,1,2,'Telefon'
Ede
Thanks!!!
(my current questions only relate to values that I send to the ESP from the web)
1)
When I send with /control?cmd=event,Verbrauch=12,21
Rules:
on Verbrauch do
let,4,%eventvalue%
tft,rf,3,130,128,20,black,black
tft,txtfull,3,130,2,cyan,black,'[VAR#4] W'
endon
it only shows me on TFT 12. Where is my mistake?
2)
"
On Anrufer* Do
Let,1,%eventvalue2%
LogEntry,'Anruf: {substring:7:13:%eventname%} um %eventvalue1%:[var#1#D2]Uhr'
Endon
"
Thanks, the suggestion works (in principle).
I have a question for understanding:
What does the number do in this component?
%eventvalue1%, %eventvalue2%,…
3)
I still don't understand whether the text values are saved.
This is what I need (background, I have a TFT display that can be “scrolled” with hardware buttons.
I can do it well with integers as written, but everything else doesn't work yet.
I can already achieve what I want with workarounds, but I also want to understand and learn more... and of course optimize it.
4) just as a note
If I forgo saving/if I have to forego saving, this way is actually much easier:
Control the display directly from the outside using a command.
control?cmd=tft,txtfull,20,1,2,'Telefon'
Ede
Re: string variables an decimal variables
Quick reply to that:
values are separated with ","
so with /control?cmd=event,Verbrauch=12,21 you send two values 12 and 22
you call them with %eventvalue1% for the first value and %eventvalue2% for the second...
see here: https://espeasy.readthedocs.io/en/lates ... eventvalue
Which also explains your second question
For the comma you´ll need:
command:
Code: Select all
/control?cmd=event,Verbrauch="12,21"
Code: Select all
On verbrauch Do
tft,rf,3,130,128,20,black,black
tft,txtfull,3,130,2,cyan,black,'%eventvalue1% W'
Endon
Edit2: for a value with fixed two decimals this could also be like this:
command:
Code: Select all
/control?cmd=event,Verbrauch=12,21
Code: Select all
On verbrauch Do
Let,1,%eventvalue1%+(%eventvalue2%/100)
Endon
Re: string variables an decimal variables
Nope, this will fail with values like "12,2" or "12,234"chromo23 wrote: ↑15 Dec 2023, 15:39 [...]
Edit2: for a value with fixed two decimals this could also be like this:
command:rules:Code: Select all
/control?cmd=event,Verbrauch=12,21
Code: Select all
On verbrauch Do Let,1,%eventvalue1%+(%eventvalue2%/100) Endon
Just consider it as if it were a string, like in my example
Code: Select all
On verbrauch Do
Let,1,%eventvalue1%.%eventvalue2|0%
Endon
Re: string variables an decimal variables
Edit: But yours i even better!.. haven´t really looked at it before
Re: string variables an decimal variables
now i understand it (Question 1 und 2).
open is Nr. 3:
I still don't understand whether the text values are saved.
This is what I need (background: I have a TFT display that can be “scrolled” with hardware buttons.
I can do it well with integers as written, but everything else doesn't work yet.
I can already achieve what I want with workarounds, but I also want to understand and learn more... and of course optimize it.
open is Nr. 3:
I still don't understand whether the text values are saved.
This is what I need (background: I have a TFT display that can be “scrolled” with hardware buttons.
I can do it well with integers as written, but everything else doesn't work yet.
I can already achieve what I want with workarounds, but I also want to understand and learn more... and of course optimize it.
Re: string variables an decimal variables
You can use strings as an event value.
You just can't store it into a variable right now.
So things like this will work as long as you process the text immediately.
Also it is a bit tricky when you try to use a string as the first eventvalue.
Just added some random first value so you can have the text as second eventvalue:
The command:
For in the rules:
You just can't store it into a variable right now.
So things like this will work as long as you process the text immediately.
Also it is a bit tricky when you try to use a string as the first eventvalue.
Just added some random first value so you can have the text as second eventvalue:
The command:
Code: Select all
event,MyEvent=1,"This is my text"
Code: Select all
on MyEvent do
LogEntry,%eventvalue2%
endon
Re: string variables an decimal variables
OK, I was afraid of it.
For my project, this means that if I want to display the next page on the screen (scrolling using the hardware button), I inevitably have to send the data that second. I then have a small time delay, but ok.
But then I would probably use the direct screen command method.
My problem remains that my position on the web can currently only be accessed using https. I'm currently questioning this too or looking for a workaround.
Don't know if the idea is stupid, but maybe I'll get a second ESP
ESP EASY -> http -> ESP(32) -> https -> google sheets
google sheets -> ESP EASY -> TFT
And sheets then sends the data with the script.
Feel free to give me feedback if I'm missing something.
Thanks!
For my project, this means that if I want to display the next page on the screen (scrolling using the hardware button), I inevitably have to send the data that second. I then have a small time delay, but ok.
But then I would probably use the direct screen command method.
My problem remains that my position on the web can currently only be accessed using https. I'm currently questioning this too or looking for a workaround.
Don't know if the idea is stupid, but maybe I'll get a second ESP
ESP EASY -> http -> ESP(32) -> https -> google sheets
google sheets -> ESP EASY -> TFT
And sheets then sends the data with the script.
Feel free to give me feedback if I'm missing something.
Thanks!
Re: string variables an decimal variables
I´d like to understand how your setup is working. Can you elaborate a bit?
How is it possible for example to send http request from google sheets to ESPEasy?
Where does the data come from and how is it processed before it is send?
How is it possible for example to send http request from google sheets to ESPEasy?
Where does the data come from and how is it processed before it is send?
Re: string variables an decimal variables
Maybe we can find a solution...
But i am only more or less a user. For deep insights and changes in code you need someone with a bigger brain... like TDer... or Ath .... sometimes i think these people from the Netherlands look like this:
Edit: ...but maybe less evil...
But i am only more or less a user. For deep insights and changes in code you need someone with a bigger brain... like TDer... or Ath .... sometimes i think these people from the Netherlands look like this:
Edit: ...but maybe less evil...
Re: string variables an decimal variables
There are a few remarks I want to make about this thread:
- I've seen some questions returning, that have been answered a few messages back, seems the info didn't get through in some way?
- Alternative solution, instead of trying to do a custom implementation with TLS support on an ESP32, would be to use an RPi (Raspberry Pi), that has a full Linux OS running. You can use any scripting language (best suggestions: Bash and Python) and have https support out of the box, and it can easily send the correct commands to ESPEasy, if desired, or you can connect a display directly to the RPi to show what you want.
- Assuming that Google Sheets is just one of the possible data sources, but it's a bit strange the IoT world is storing its data in an MQTT store, but you have your data in a rather unusual place. You might want to consider moving your data to a more common/generic datastore, that blends more easily into the IoT world.
/Ton (PayPal.me)
Re: string variables an decimal variables
Hi,
erstmal in Deutsch, werde es noch übersetzen und neu einstellen:
Vorab:
Ich bin kein gelernter Entwickler und meine English-Kenntnisse kommen aus der Schulzeit.
Aber durch jahrelanges Excel-VBA (Nach-)Programmieren bin ich ein wenig fit geworden. Ein echter Entwickler würde sicherlich vieles anderes und besser machen, aber ich komme zum Ziel.
Ich bin dann per Zufall zum Pendant google sheets gelangt.
Google sheets hat den riesen Vorteil, da es im web ist und die Scripte zeitbasiert gesteuert werden können. Die Nähe zum web bringen weitere große Vorteile mit sich – u.a. Werte aus dem Internet sehr einfach zu bekommen. Darüber hinaus zugriff auf die Daten von google mail und dem google Kalender. Die scripte zusammen mit der Tabellenoberfläche – für mich als Selbstlerner sehr gut.
Mit den Scripten kann man viele Sachen als Anfänger machen – ist aber auch so mächtig, dass ein echter Programmierer alles zur Verfügung hat.
Webscraping wird über eigene Formeln mega unterstützt. Alles was diese Formel nicht mitbringen, kann man über scripte (Wissen vorausgesetzt) schaffen.
Ich bin schon sehr lange ein großer Verfechter von Telegram – aus verschiedenen Gründen: Einmal die Innovationen, die gleichzeitige Nutzung auf verschiedenen Endgeräten, aber auch die bot/api-Funktion. Ich wünschte, ich hätte mehr Programmierkenntnisse und mehr Zeit.
Google sheets und telegram harmonieren sehr gut. Viele Spielereien – z.B. wenn auf ausgewählten Nachrichtenseiten Breaking News steht, wird dies sofort erkannt und mir per Telegram als Nachricht gesendet.
In google sheets sammle ich als Hobby sehr viele Daten (wobei oft der Weg das Ziel ist) und sende einige davon an Telegram.
Meine Eltern sind bald 90 Jahre alt. Für sie wollte ich nun einen kleinen Bildschirm, den man einfachst bedienen kann. Da bin ich über Umwege – Markus T sei dank – auf Easy ESP gekommen.
Nun aber zu deiner Frage:
Mit dieser einfachen Funktion UrlFetchApp.fetch(URL) sende ich den bekannten ESP EASY CMD Befehl (statt der lokalen IP Adresse muss ich natürlich im Router vorher eine Portweiterleitung machen).
Mit dem Script kann man nun alles machen – anlass oder zeitgesteuert, einbetten in den code, der die Werte holt.
Da ich eine ganze Batterie an CMDs lossende, ist es bei mir eine Schleife.
Gerne sende ich mehr infos oder zeige etwas in einem webmeeting.
erstmal in Deutsch, werde es noch übersetzen und neu einstellen:
Vorab:
Ich bin kein gelernter Entwickler und meine English-Kenntnisse kommen aus der Schulzeit.
Aber durch jahrelanges Excel-VBA (Nach-)Programmieren bin ich ein wenig fit geworden. Ein echter Entwickler würde sicherlich vieles anderes und besser machen, aber ich komme zum Ziel.
Ich bin dann per Zufall zum Pendant google sheets gelangt.
Google sheets hat den riesen Vorteil, da es im web ist und die Scripte zeitbasiert gesteuert werden können. Die Nähe zum web bringen weitere große Vorteile mit sich – u.a. Werte aus dem Internet sehr einfach zu bekommen. Darüber hinaus zugriff auf die Daten von google mail und dem google Kalender. Die scripte zusammen mit der Tabellenoberfläche – für mich als Selbstlerner sehr gut.
Mit den Scripten kann man viele Sachen als Anfänger machen – ist aber auch so mächtig, dass ein echter Programmierer alles zur Verfügung hat.
Webscraping wird über eigene Formeln mega unterstützt. Alles was diese Formel nicht mitbringen, kann man über scripte (Wissen vorausgesetzt) schaffen.
Ich bin schon sehr lange ein großer Verfechter von Telegram – aus verschiedenen Gründen: Einmal die Innovationen, die gleichzeitige Nutzung auf verschiedenen Endgeräten, aber auch die bot/api-Funktion. Ich wünschte, ich hätte mehr Programmierkenntnisse und mehr Zeit.
Google sheets und telegram harmonieren sehr gut. Viele Spielereien – z.B. wenn auf ausgewählten Nachrichtenseiten Breaking News steht, wird dies sofort erkannt und mir per Telegram als Nachricht gesendet.
In google sheets sammle ich als Hobby sehr viele Daten (wobei oft der Weg das Ziel ist) und sende einige davon an Telegram.
Meine Eltern sind bald 90 Jahre alt. Für sie wollte ich nun einen kleinen Bildschirm, den man einfachst bedienen kann. Da bin ich über Umwege – Markus T sei dank – auf Easy ESP gekommen.
Nun aber zu deiner Frage:
Mit dieser einfachen Funktion UrlFetchApp.fetch(URL) sende ich den bekannten ESP EASY CMD Befehl (statt der lokalen IP Adresse muss ich natürlich im Router vorher eine Portweiterleitung machen).
Mit dem Script kann man nun alles machen – anlass oder zeitgesteuert, einbetten in den code, der die Werte holt.
Da ich eine ganze Batterie an CMDs lossende, ist es bei mir eine Schleife.
Gerne sende ich mehr infos oder zeige etwas in einem webmeeting.
Re: string variables an decimal variables
It is strongly advised to NOT create a port-forward from your router to an ESPEasy unit, as ESPEasy doesn't have any proper protection against hacking other than a limited password protection. Though a display can't do much harm, it's still unsafe!
My previous suggestion to place a RPi in between would be a lot more secure, polling any data from Google Sheets, then pushing that to a display, either using ESPEasy, or directly connected to the RPi.
/Ton (PayPal.me)
Re: string variables an decimal variables
Hi Ath,
the feedback from the forum members was all received, but it took me a while to understand it. Often it was just a small thing.
Thanks to the two forum members here who didn't give up, I was able to understand it. I owe them a great debt of gratitude.
No, I don't want a Raspi, nor an MQTT server. No additional hardware.
I think the ESP things are brilliant (e.g. for photovoltaics "openDTU" project).
I collect a lot of data (mostly just to get it done) that is only on the web or is easiest to get there. e.g. water level of our river.
If I were a professional, I would certainly set up my own real database (Influx), a website with Grafana, etc.
But I can't do that. And I don't need it either.
I think ESP Easy is good (I'm just getting to know it) because I don't have to reinstall it every time (I can edit rules online).
the feedback from the forum members was all received, but it took me a while to understand it. Often it was just a small thing.
Thanks to the two forum members here who didn't give up, I was able to understand it. I owe them a great debt of gratitude.
No, I don't want a Raspi, nor an MQTT server. No additional hardware.
I think the ESP things are brilliant (e.g. for photovoltaics "openDTU" project).
I collect a lot of data (mostly just to get it done) that is only on the web or is easiest to get there. e.g. water level of our river.
If I were a professional, I would certainly set up my own real database (Influx), a website with Grafana, etc.
But I can't do that. And I don't need it either.
I think ESP Easy is good (I'm just getting to know it) because I don't have to reinstall it every time (I can edit rules online).
Ath wrote: ↑15 Dec 2023, 20:47There are a few remarks I want to make about this thread:
- I've seen some questions returning, that have been answered a few messages back, seems the info didn't get through in some way?
- Alternative solution, instead of trying to do a custom implementation with TLS support on an ESP32, would be to use an RPi (Raspberry Pi), that has a full Linux OS running. You can use any scripting language (best suggestions: Bash and Python) and have https support out of the box, and it can easily send the correct commands to ESPEasy, if desired, or you can connect a display directly to the RPi to show what you want.
- Assuming that Google Sheets is just one of the possible data sources, but it's a bit strange the IoT world is storing its data in an MQTT store, but you have your data in a rather unusual place. You might want to consider moving your data to a more common/generic datastore, that blends more easily into the IoT world.
Re: string variables an decimal variables
I am aware of the risk.
I don't want a Raspi.
If, there is an ESP32 that can do the HTTPS connection natively (ESP8266 can do it too with a library).
But step by step. First I wanted to see if it was even realistic to pull it off. I have now achieved this with the help of some lovely people.
but perhaps in the future ESP Easy will also support https api calls
I don't want a Raspi.
If, there is an ESP32 that can do the HTTPS connection natively (ESP8266 can do it too with a library).
But step by step. First I wanted to see if it was even realistic to pull it off. I have now achieved this with the help of some lovely people.
but perhaps in the future ESP Easy will also support https api calls
Ath wrote: ↑15 Dec 2023, 21:09It is strongly advised to NOT create a port-forward from your router to an ESPEasy unit, as ESPEasy doesn't have any proper protection against hacking other than a limited password protection. Though a display can't do much harm, it's still unsafe!
My previous suggestion to place a RPi in between would be a lot more secure, polling any data from Google Sheets, then pushing that to a display, either using ESPEasy, or directly connected to the RPi.
Re: string variables an decimal variables
I totally agree with Ath.
ESPEasy is really great for a lot of things but it gets unnecessary complicated when you try to use it for your project.
Personally i would write myself a website with some JavaScript for fetching and processing the data. It´s an easy to learn language and you could use any device (old phones, tablets, laptops, screen with a raspberry ) that has a browser.
You would have much more freedom and it would be a lot faster, than waiting for specific functionality to be implemented in ESPEasy.
Have a look at "easyfetch in my signature... it´s how i started programming three years ago. the learning curve was not very steep...
ESPEasy is really great for a lot of things but it gets unnecessary complicated when you try to use it for your project.
Personally i would write myself a website with some JavaScript for fetching and processing the data. It´s an easy to learn language and you could use any device (old phones, tablets, laptops, screen with a raspberry ) that has a browser.
You would have much more freedom and it would be a lot faster, than waiting for specific functionality to be implemented in ESPEasy.
Have a look at "easyfetch in my signature... it´s how i started programming three years ago. the learning curve was not very steep...
Last edited by chromo23 on 16 Dec 2023, 01:39, edited 1 time in total.
Re: string variables an decimal variables
You could do something like that:
So that you render all lines every time but the content changes depending on the data you send.
But you´d loose the ability to "flip" the page. Or you could send a HTTP request to somewhere when you push the button (e.g. ntfy,sh) that is somehow triggering google sheets. and google sheet is sending the whole new content for the display.
But i don´t know how much eventvalues ESPEasy can process
Edit: no, unfortunately that doesn´t work. length is very limited
Code: Select all
/control?cmd=event,Data="Verbrauch 12,2","Anruf von Klaus um 12:30Uhr", "Anruf von Brunhilde um 15:41Uhr"
Code: Select all
On Data Do
displayline1,"%eventvalue1%". //its a fake command of course
displayline2,"%eventvalue2%"
displayline3,"%eventvalue3%"
Endon
But you´d loose the ability to "flip" the page. Or you could send a HTTP request to somewhere when you push the button (e.g. ntfy,sh) that is somehow triggering google sheets. and google sheet is sending the whole new content for the display.
But i don´t know how much eventvalues ESPEasy can process
Edit: no, unfortunately that doesn´t work. length is very limited
Re: string variables an decimal variables
Not really a limit anymore.
However there is some limit in max. GET url and I think also in parsing lines when executing commands.
Re: string variables an decimal variables
Well our body length makes the brain look proportional again.
We try to compensate by using really small microcontrollers
Re: string variables an decimal variables
I send several CMDs in a row, it works well (the disadvantage compared to stored values is of course a small time lag)
Who is online
Users browsing this forum: No registered users and 1 guest