Hallo Forum,
Habe mir schon einen Wolf gesucht und erfolglos Verschiedenes probiert, aber ich komme nicht weiter:
Wie muss der RegEx aussehen, der aus dem STATE-Reading eines 'at'-Zeitgebers nur die Uhrzeit extrahiert, also ohne das voranstehende Next: ?
Standardausgabe:STATE Next: 18:05:55
Danke für eure Hilfe.
Wofür brauchst Du es denn, also was ist der Anwendungsfall ? Je nach Art des ats steht die Zeit ja im Internal NTM oder TIMEPSEC oder immer in TRIGGERTIME_FMT mit Datum.
Grüße Markus
Hi Markus,
Ich brauche es für das Label-Widget des FTUI. Dieses erlaubt mir, den STATE anzuzeigen. Das funktioniert auch prima, aber mir reicht die Uhrzeit.
Das geht wohl auch ... wenn ich einen RegEx angeben kann.
Die Zeit steht auch im NTM, aber nicht in einem Reading, das ich mit dem Label-Widget auslesen könnte.
EDIT:
Als ich soeben diese Antwort verfasst hatte, habe ich nochmal in die Doku des Label-Widgets geschaut: Es geht auch mit dem Parameter data-part="2" (vgl Screenshot: Unten mit data-part, oben ohne diesen Parameter). Das hatte ich zuvor überlesen...
Trotzdem würde mich grundsätzlich interessieren, ob und wie man das mit einem RegEx lösen kann.
Zitat von: DocCyber am 13 Februar 2017, 12:02:29
...der aus dem STATE-Reading eines 'at'-Zeitgebers nur die Uhrzeit extrahiert, also ohne das voranstehende Next: ?
Für mein RSS-Tablet habe ich das z.B. so gelöst:
substr((InternalVal('Abendlicht_AUS','STATE','')),6,5)
Das ergibt dann die Uhrzeit-Angabe in Stunden:Minuten ohne Sekunden.
Wozu regex?
(split(/ /,Value('deviceName')))[1]
na einfach /Next: (.+)/ testen kann man das z.B auf regex101.com
Einfacher ist es aber das Internal NTM zu nutzen
Danke euch allen für euren Input.
Leider lässt das Widet eine der (selbst mir ;)) bekannten "programmatischen Lösungen", wie sie von betateilchen oder hollo vorgeschlagen wurde, nicht so ohne weiteres zu. Vielmehr ist ein RegEx vorgegeben.
@igami: Danke dir, ich werde es ausprobieren!
Zitat von: DocCyber am 13 Februar 2017, 13:20:08Leider lässt das Widet eine der (selbst mir ;)) bekannten "programmatischen Lösungen", wie sie von betateilchen oder hollo vorgeschlagen wurde, nicht so ohne weiteres zu. Vielmehr ist ein RegEx vorgegeben.
Du kannst aber mit den Vorschlägen ein userReading bauen und das dann in Dein Widget füttern.
Gruß,
Thorsten
Hallo Thorsten,
ja, das wäre auch eine Lösung, allerdings ist es mit einem RegEx einfacher.
Die genannte Lösung von @igami funktioniert.
:)
Danke euch allen!
[0-9]+\:[0-9]+\:[0-9]+