[GELÖST!] Für RegEx-Kenner: Nur Uhrzeit des "at"-STATE?

Begonnen von DocCyber, 13 Februar 2017, 12:02:29

Vorheriges Thema - Nächstes Thema

DocCyber

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.
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

KölnSolar

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
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

DocCyber

#2
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.
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

Hollo

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.

FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

igami

na einfach /Next: (.+)/ testen kann man das z.B auf regex101.com
Einfacher ist es aber das Internal NTM zu nutzen
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

DocCyber

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!

Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

Thorsten Pferdekaemper

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
FUIP

DocCyber

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!
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

mumpitzstuff