FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Fabiango am 13 Juli 2019, 17:07:02

Titel: (Gelöst) state - Zahlen immer Zweistellig (Führende Null)?
Beitrag von: Fabiango am 13 Juli 2019, 17:07:02
Hallo zusammen,

ich habe mal wieder eine Frage worauf ich im Forum keine Antwort gefunden habe.

Ich habe einen Dummy Slider mit dem ich gerne eine Uhrzeit (Stunden) einstellen möchte zum weiterverarbeiten.
setList       state:slider,00,1,23

Das Problem liegt darin das er bei den Zahlen 0 bis 9 die Zahlen nur Einstellig anzeigt und nicht Zweistellig.
Benötigt werden die Zahlen Zweistellig, sprich 00, 01, 02, 03 usw.

Wie kann ich diese Formatierung im Dummy Slider am einfachsten Formatieren?


Hier noch die List des Dummy Devices

Internals:
   CFGFN     
   FUUID      5d29e5dd-f33f-b42a-90cb-122d2c00cda130de
   NAME       du_Weih1_StartZeit
   NR         606
   STATE      3
   TYPE       dummy
   READINGS:
     2019-07-13 17:07:54   state           3
Attributes:
   group      Automation (Weihnachtsbeleuchtung)
   room       Automation
   setList    state:slider,00,1,23
   webCmd     state
Titel: Antw:state - Zahlen immer Zweistellig (Führende Null)?
Beitrag von: Fabiango am 13 Juli 2019, 18:54:31
Gibt es hier eine direkte Lösung mit den Attributes  "userReadings"  oder  "stateFormat"?
Titel: Antw:state - Zahlen immer Zweistellig (Führende Null)?
Beitrag von: roedert am 13 Juli 2019, 19:00:49
stateFormat {sprintf("%02d",ReadingsVal($name,"state",0))}
Titel: Antw:state - Zahlen immer Zweistellig (Führende Null)?
Beitrag von: Fabiango am 13 Juli 2019, 19:07:35
Mit dem stateFormat zeigt es mir nun die führenden Nullen in der Übersicht an aber noch nicht im Reading state selber.
Was muss ich hier noch ergänzen?

Kannst du mir zudem den Code noch erklären, damit ich Ihn auch verstehen kann?
Titel: Antw:state - Zahlen immer Zweistellig (Führende Null)?
Beitrag von: ch.eick am 13 Juli 2019, 19:14:05
Hallo

% ist der Platzhalter für den Wert
02d führende Null 2 Stellen dezimal

Readingval holt den Wert auf dem Device $ name mit der readingnamen "state"
Wenn das reading leer ist wird "0" als default zurück gegeben.


Viele Grüße Christian

Gesendet von meinem SM-G930F mit Tapatalk

Titel: Antw:state - Zahlen immer Zweistellig (Führende Null)?
Beitrag von: Byte09 am 13 Juli 2019, 19:16:38
Zitat von: DJCrazy am 13 Juli 2019, 19:07:35
Mit dem stateFormat zeigt es mir nun die führenden Nullen in der Übersicht an aber noch nicht im Reading state selber.
.
.
.


dann mache es über ein userreading:

defmod test1 dummy
attr test1 setList state:slider,00,1,23
attr test1 stateFormat {sprintf("%02d",ReadingsNum($name,"state",0))}
attr test1 userReadings formatettime:* {sprintf("%02d",ReadingsNum($name,"state",0))}

setstate test1 04
setstate test1 2019-07-13 19:15:34 formatettime 04
setstate test1 2019-07-13 19:15:34 state state 4



gruss Byte09
Titel: Antw:state - Zahlen immer Zweistellig (Führende Null)?
Beitrag von: Fabiango am 13 Juli 2019, 20:03:43
Vielen Dank für eure Hilfe.

Hab es noch etwas angepasst damit ich nicht noch ein zusätzliches Reading habe.

stateFormat    {sprintf("%02d",ReadingsNum($name,"state",00))}

userReadings    state:* {sprintf("%02d",ReadingsNum($name,"state",00))}

Titel: Antw:(Gelöst) state - Zahlen immer Zweistellig (Führende Null)?
Beitrag von: Amenophis86 am 16 Juli 2019, 17:16:56
Thema wurde auf Wunsch eines Users nochmal geöffnet um den Lösungsvorschlag noch etwas hinzuzufügen.
Titel: Antw:state - Zahlen immer Zweistellig (Führende Null)?
Beitrag von: nils_ am 17 Juli 2019, 08:08:54
da wir leider kein komplettes list von dir gesehen haben, wäre ich vorsichtig was der Teil
userReadings    state:* ...
für "komische" seiteneffekte auslösen kann...


Zitat von: DJCrazy am 13 Juli 2019, 20:03:43
Hab es noch etwas angepasst damit ich nicht noch ein zusätzliches Reading habe.
ein zusätzliches reading sollte an dieser stelle keinen unterschied machen.