How to use 7 segment common anode display to display all sensor values rotating on a timer #14451
Replies: 7 comments 11 replies
-
In a similar user case I display 2 DS18B20 sensors every 5 sec.
Sensor 2 is rounded to int, but sensor 1 shows 1 decimal digit.
^ show as C on the display
Rule1
ON Tele-DS18B20-2#Temperature DO Backlog
Var1 %value% ;
ADD1 0.5 ;
ENDON
ON Tele-DS18B20-1#Temperature DO Backlog
DisplayText %value%^ ;
RuleTimer1 5
ENDON
ON rules#timer=1 DO Backlog
DisplayNumber %Var1%,1,0,3 ;
DisplayTextNC ^
ENDON
El sáb, 15 ene 2022 a las 14:23, Kim Brose ***@***.***>)
escribió:
… I have a BME280 (fully working) and a 7 segment common anode display over
I2C hooked up to Tasmota 10.1.
The display was also autodetected. According to its label it's a 4 digit
0.56" 7-Segment HT16K33 backpack by Adafruit that does the I2C decoding and
drives the display. Additionally to the 7 segments, it supports a : in
the middle (e.g. can display time) as well as . to display floats.
DisplayMode 1 to display time works.
DisplayMode 0 and using DisplayText works only on (signed) integers.
Floats will be cut off to integers, Text won't display at all. I have not
found a command to manually set the LED bitmasks yet to write text myself.
I would like to display time (24h format) and sensor values on a loop, e.g.
1. display time for 5 seconds
2. display temperature value with unit for 5 seconds
3. display humidity value with unit for 5 secs
4. display pressure value without unit (since it can be >999) for 5
secs
My build supports Rules and Timers, but I also have some Free Program
Space 1248 kB and Free RAM 22.0 kB.
- I tried creating a rule with triggers on 5 seconds, but only whole
minutes would work. That is too slow. How do I use seconds?
- How do I display different sensor values? And their Units?
- Which of these display types does mine belong to?
https://tasmota.github.io/docs/Displays/#displaymode Please update the
docs!
- How do I write Text or custom bits to my display?
- If I can use Rules for the time triggers, how do I access the sensor
values in the command?
—
Reply to this email directly, view it on GitHub
<#14451>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACXBW4MX7WI42UCEXJYN4YDUWGUQVANCNFSM5MBGVSXA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
^ as the last character in
DisplayText %value%^ ;
Shows up as ° for degrees
If BEM loads all values at the same time you need to save them on Vars to
later display.
El dom, 16 ene 2022 a las 11:09, Kim Brose ***@***.***>)
escribió:
… There is an example that used Tele- as triggers in the docs. However all
values on my BME280 are updated simultaneously, so only one would ever get
displayed. RuleTimer might be the solution I was looking for, I will try
it out.
What do your ^ characters mean?
—
Reply to this email directly, view it on GitHub
<#14451 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACXBW4PGDFHOLIZP7QWUEGDUWLGS3ANCNFSM5MBGVSXA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Since there 4 values showing 5 sec, set up Teleperios 20
Then
ON tele-BME280#Temperature DO Var1 %value% ENDON
ON tele-BME280#Humidity DO Var2 %value% ENDON
ON tele-BME280#Pressure DO Backlog
DisplayText %value% ;
RuleTimer1 5
RuleTimer2 10
RuleTimer3 15
ENDON
ON rules#timer=1 DO DisplayText Var1 ENDON
ON rules#timer=2 DO DisplayText Var2 ENDON
ON rules#timer=3 DO DisplayText ...(timeas you like).. ENDON
El dom, 16 ene 2022 a las 11:36, Barbudor ***@***.***>)
escribió:
… all values on my BME280 are updated simultaneously, so only one would ever
get displayed.
They are all separted in the JSON. You can have a trigger for each and
display each on with proper cusor positionning
ON tele-BME280#Temperature DO DisplayText [....]Temp: %value% C ENDON
ON tele-BME280#Humidity DO DisplayText [....]Hum: %value% %% ENDON
ON tele-BME280#Pressure DO DisplayText [...]Pres: %value% hPa ENDON
Replace the .... by the correct DisplayText commands to position the
cursor as needed
—
Reply to this email directly, view it on GitHub
<#14451 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACXBW4N2INPU7ZC6DVJDTGLUWLJV5ANCNFSM5MBGVSXA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Docs say: https://tasmota.github.io/docs/Commands/#displays DisplayTextNC: Clears first, then displays text which is wrong? |
Beta Was this translation helpful? Give feedback.
-
Sweet the display style you like the most.
You can specify position and number for digits as DisplayNumber
%Var1%,1,0,3 ;
El dom, 16 ene 2022 a las 12:02, Kim Brose ***@***.***>)
escribió:
… Docs say: https://tasmota.github.io/docs/Commands/#displays
DisplayTextNC: Clears first, then displays text
DisplayNumberNC: Display integer number as above, but without clearing
first
which is wrong?
—
Reply to this email directly, view it on GitHub
<#14451 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACXBW4LWIVF3EIK44NM3EFLUWLMXTANCNFSM5MBGVSXA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I remember some tweaks in the initialization sequence of DisplayMode to
make it work.
Don't forget DisplayModel 15 also
El dom, 16 ene 2022 a las 12:18, Kim Brose ***@***.***>)
escribió:
… Yes! Thank you, this should in principle work:
Rule1
ON BME280#Temperature DO backlog
var1 %value%;
ENDON
ON BME280#Humidity DO backlog
var2 %value%;
ENDON
ON BME280#Pressure DO backlog
var3 %value%;
ENDON
ON Time#Minute|1 DO backlog
DisplayMode 2;
RuleTimer1 5;
ENDON
ON rules#timer=1 DO backlog
DisplayMode 0;
DisplayFloat %var1%,1,1,3;
DisplayTextNC ^;
RuleTimer2 5;
ENDON
ON rules#timer=2 DO backlog
DisplayFloat %var2%,1,1,3;
DisplayTextNC H;
RuleTimer3 5;
ENDON
ON rules#timer=3 DO backlog
DisplayNumber %var3%,1,0,3;
DisplayTextNC P;
RuleTimer4 5;
ENDON
ON rules#timer=4 DO backlog
DisplayMode 2;
RuleTimer1 5;
ENDON
DisplayMode 2 for my display is a 24h-clock with the : blinking every
second, which is nice.
Now my only problem is that some of these DisplayText, DisplayFloat,
DisplayNumber commands do not work properly. I can not write any characters
to the display at all, see my other comment.
—
Reply to this email directly, view it on GitHub
<#14451 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACXBW4KNZKDINRWFDW6MGG3UWLOTJANCNFSM5MBGVSXA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
My experience is with TM1637, TM1638 and MAX7219 Seven-Segment Displays
You driver could be difernet.
El dom, 16 ene 2022 a las 12:39, Kim Brose ***@***.***>)
escribió:
… 16:39:22.076 CMD: DisplayModel 15
16:39:22.082 RSL: RESULT = {"DisplayModel":11}
—
Reply to this email directly, view it on GitHub
<#14451 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACXBW4L63V7F2MF7I5KW5R3UWLREZANCNFSM5MBGVSXA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I have a BME280 (fully working) and a 7 segment common anode display over I2C hooked up to Tasmota 10.1.
The display was also autodetected. According to its label it's a 4 digit 0.56" 7-Segment HT16K33 backpack by Adafruit that does the I2C decoding and drives the display. Additionally to the 7 segments, it supports a
:
in the middle (e.g. can display time) as well as.
to display floats.DisplayMode 1
to display time works.DisplayMode 0
and usingDisplayText
works only on (signed) integers. Floats will be cut off to integers, Text won't display at all. I have not found a command to manually set the LED bitmasks yet to write text myself.I would like to display time (24h format) and sensor values on a loop, e.g.
My build supports Rules and Timers, but I also have some Free Program Space 1248 kB and Free RAM 22.0 kB.
Beta Was this translation helpful? Give feedback.
All reactions