Rückgabewert eines get Befehls in Variable schreiben

Begonnen von mago0211, 10 September 2016, 09:49:26

Vorheriges Thema - Nächstes Thema

mago0211

Hallo zusammen,

isch hab da mal ne Frage  ::)

Seit gestern Benutze ich einen Zwave Zwischenstecker, auf diesem Zwischenstecker ist ein Schalter damit man die Steckdose auch lokal ein und ausschalten kann. Leider sendet der Zwischenstecker keine Statusänderung an den Server. Mann kann aber mit einem get, also in meinem Fall  "get DingsBums swbStatus" den aktuellen Zustand vom Gerät anfordern.
Wenn ich das in der Fhem Eingabezeile mache erscheint auch im Fontend der Wert.

Jetzt würde ich gerne in einen Notify den aktuellen Zustand abragen und den Wert in eine Variable schreiben um ihn dann Später zu verwenden.


{
my $var = fhem ("get DingsBums swbStatus");
Log 1, "Ergebnis Auswertung = $var";
}


Leider funktioniert das so nicht. Im Log steht dann folgendes

2016.09.10 09:20:13 1: PERL WARNING: Use of uninitialized value $var in concatenation (.) or string at (eval 15865) line 5.
2016.09.10 09:20:13 1: Ergebnis Auswertung =



Wenn ich zuerst einen get mache und danach das Reading abfrage geht leider auch nicht da ich dann immer den Falschen Zustand bekomme.
also...

{
fhem ("get DingsBums swbStatus");
my $var = ReadingsVal("DingsBums","state","");
Log 1, "Ergebnis Auswertung = $var";
}


Ich vermute das die Zeitspanne zwischen dem get und dem Reading lesen zu kurz ist.

Gibt es für das Problem eine Einfache Lösung? Oder muss ich den etwas Längern Weg über ein externes Skript gehen?

Danke und Gruß
Markus

KernSani

Kannst du nicht nur das get machen und dann in einem notify/DOIF auf die Statusänderung reagieren?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

scooty

Hallo Markus,

schau 'mal in diesen Thread, da ging es um die gleiche Problemstellung, vielleicht hilft es (An/Aus-Auswertung über den gemeldeten Verbrauch) weiter?

Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH1080 / IO Homecontrol

mago0211

Zitat von: KernSani am 10 September 2016, 10:33:44
Kannst du nicht nur das get machen und dann in einem notify/DOIF auf die Statusänderung reagieren?

Leider nicht da ich nicht jedes mal bei einer Statusänderung was machen will sondern nur gezielt abfragen will.

Zitat von: scooty am 10 September 2016, 10:47:00
Hallo Markus,

schau 'mal in diesen Thread, da ging es um die gleiche Problemstellung, vielleicht hilft es (An/Aus-Auswertung über den gemeldeten Verbrauch) weiter?

Andreas

Danke für den Hinweis das hat mir weitergeholfen. Ich frage mich nur gerade mal wieder warum ich so Sachen über die Suche nicht finde ....  :-X  :'(

Danke für den Input und Gruß
Markus