Parameter "condition" aus myTwilight extrahieren

Begonnen von grappa24, 24 Juni 2013, 19:37:01

Vorheriges Thema - Nächstes Thema

grappa24

Hallo,

ich bastle an einem notify, welches ein dummy-device namens "twilight_condition" mit dem Parameter "condition" aus myTwilight belegt und stehe iwie auf dem Schlauch ...

meine Schnipsel:

set twilight_condition  {ReadingsVal(myTwilight, condition, "99")}

und das ganze in einem notify verpackt ... ich brauch ne Pause ...


FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

Puschel74

Hallo,

also ich hab das

Zitatset twilight_condition {ReadingsVal(myTwilight, condition, "99")}

bei meinen Abfragen eigentlich immer so:

set twilight_condition {ReadingsVal("myTwilight","condition",99)}

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Dietmar63

Man kann fhem Kommandos nicht mit Perl vermischen, wenn der Autor des Moduls, in diesem Fall set es nicht vorgesehen hat.
Das Kommando "set <dummy> <value>" verändert den Inhalt von <dummy> auf den Text <value>.

Das dummy twilight_condition wird durch deine Zuweisung vermutlich den Inhalt "{ReadingsVal(myTwilight, condition, "99")}" bekommen. Der PerlCode wird nicht ausgeführt.
 
Du kannst im notify die Funktion fhem () aufrufen und als Parameter das Set Kommando it dem dot-Operator für Stringconcatenation zusammen basteln:


fhem ("set twilight_condition " . ReadingsVal("myTwilight","condition",99))
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

grappa24

sorry, aber ich kriegs nicht gebacken, was ist denn an diesem notify noch falsch:

myTwilight {fhem("set twilight_condition ReadingsVal("myTwilight", "condition", 77)")}
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

Dietmar63

define myTwilightN notify myTwilight:.* {fhem("set twilight_condition ". ReadingsVal("myTwilight", "condition", 77))}

Aus dem Kopf, oneliner, per Smartphone, keine Garantie.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

grappa24

ich taste mich jetzt langsam ran und gebe mal Befehle auf der Kommandozeile ein:

set twilight_condition 99
-> geht natürlich

set twilight_condition Readingsval( ... )
-> setzt den String "Readingsval( ... )" als Wert und nicht das Funktions-Ergebnis

Hier "scheint der Hund begraben zu sein" ...

VG, Dieter
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

Puschel74

Hallo,

das hat doch Dietmar63 schon weiter oben gepostet - oder lies ich das falsch?

ZitatMan kann fhem Kommandos nicht mit Perl vermischen, wenn der Autor des Moduls, in diesem Fall set es nicht vorgesehen hat.
Das Kommando "set <dummy> <value>" verändert den Inhalt von <dummy> auf den Text <value>.

Das dummy twilight_condition wird durch deine Zuweisung vermutlich den Inhalt "{ReadingsVal(myTwilight, condition, "99")}" bekommen. Der PerlCode wird nicht ausgeführt.

Du kannst im notify die Funktion fhem () aufrufen und als Parameter das Set Kommando it dem dot-Operator für Stringconcatenation zusammen basteln:

fhem ("set twilight_condition " . ReadingsVal("myTwilight","condition",99))

Sorry für Fullquote.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

grappa24

Zitat von: Dietmar63 schrieb am Mo, 24 Juni 2013 20:04
fhem ("set twilight_condition " . ReadingsVal("myTwilight","condition",99))
super, damit geht es jetzt, war wohl einfach zu spät heute Nacht, alte Binsenweisheit ;-)
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...