Hallo allerseits,
ich habe nun neu angefangen mit FHEM und es ist mir auch schon gelungen meine selbstgebauten Schaltaktoren in Betrieb zu nehmen.
Ich habe allerdings Probleme die Rückantwort meiner Schaltaktoren auszuwerten, die Antwort der Aktoren kommt auch tatsächlich bei FHEM Server an.
So ist zum Beispiel ein Aktor eingebunden:
# Steckdose 1
define Steckdose1 dummy
attr Steckdose1 eventMap on:on off:off
attr Steckdose1 room Wohnzimmer
define Steckdose1On notify Steckdose1:on {GetHttpFile("192.168.0.206:80", "/dyndata.html?led1=1") }
define Steckdose1Off notify Steckdose1:off {GetHttpFile("192.168.0.206:80", "/dyndata.html?led1=0") }
Als Antwort bei einem Schalbefehl kommt dann das bei FHEM an:
2016.08.28 18:47:33 3: Steckdose1On return value: ["0","So 28.Aug 2016","18:47:32","1","-68"]
Wobei die "0" anzeigt welcher Datensatz zurückgeliefert wurde, danach kommt das Datum und die Uhrzeit aus dem Aktor,
dann der Schaltzustand "1" = eingeschaltet und die Empfangsfeldstärke des Aktors.
Meine Frage ist wie zerlege ich diesen String nun in seine einzelnen werte, so das ich dann zum beispiel zyklisch den Schaltzustand des Aktor abfragen kann,
oder die Empf. Feldstärke in ein Diagramm einzeichnen kann?
Ich bräuchte da ein bisschen Hilfe da ich noch andere Aktoren / Sensoren habe, die ähnliche Werte zurückliefern.
Gruß
Frank
Entweder zerlegt man den String mittels perls split oder man pickt sich die Werte mithilfe einer regex raus. Regex dürfte hier einfacher sein:
$ruckgabewert =~ m/^."(.*)","(.*)","(.*)","(.*)".$/;
Danach hast Du die Werte in den Variablen $1 - $4 verfügbar... Die .* könnte man noch präzisieren.