Autor Thema: Parameter "condition" aus myTwilight extrahieren  (Gelesen 7635 mal)

Offline grappa24

  • Hero Member
  • *****
  • Beiträge: 1017
Parameter "condition" aus myTwilight extrahieren
« am: 24 Juni 2013, 19:37:01 »
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, ...

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9839
Aw: Parameter "condition" aus myTwilight extrahieren
« Antwort #1 am: 24 Juni 2013, 19:39:06 »
Hallo,

also ich hab das

Zitat
set 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.

Offline Dietmar63

  • Hero Member
  • *****
  • Beiträge: 2329
Aw: Parameter "condition" aus myTwilight extrahieren
« Antwort #2 am: 24 Juni 2013, 20:04:31 »
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

Offline grappa24

  • Hero Member
  • *****
  • Beiträge: 1017
Aw: Parameter "condition" aus myTwilight extrahieren
« Antwort #3 am: 25 Juni 2013, 00:37:26 »
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, ...

Offline Dietmar63

  • Hero Member
  • *****
  • Beiträge: 2329
Aw: Parameter "condition" aus myTwilight extrahieren
« Antwort #4 am: 25 Juni 2013, 01:53:28 »
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

Offline grappa24

  • Hero Member
  • *****
  • Beiträge: 1017
Aw: Parameter "condition" aus myTwilight extrahieren
« Antwort #5 am: 25 Juni 2013, 10:48:19 »
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, ...

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9839
Aw: Parameter "condition" aus myTwilight extrahieren
« Antwort #6 am: 25 Juni 2013, 10:52:44 »
Hallo,

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

Zitat
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))


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.

Offline grappa24

  • Hero Member
  • *****
  • Beiträge: 1017
Aw: Parameter "condition" aus myTwilight extrahieren
« Antwort #7 am: 25 Juni 2013, 19:13:38 »
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, ...