notify - 2 Werte via ReadingsVal in Script übergeben

Begonnen von Humi$$, 06 Juli 2019, 20:56:22

Vorheriges Thema - Nächstes Thema

Humi$$

Hallo zusammen,

ich habe in smartVISU ein {{ device.shutter }} mit den Parametern min: '0', max: '100'. Je nach Stellung des device.shutter wird der Wert in ein dummy geschrieben.
Das dummy heißt so wie der Rolladen in der API (myGekko) angelegt ist. z.B "item0" für Küchenfenster Süd, "item1" für Küchenfenster Ost.

Jetzt ist zu dem dummy auch ein notify angelegt, und liest den state des zuvor gesetzten device.shutter z.B 100 (für komplett geschlossen) aus
Das notify soll nun ein externes Script ausführen, das die API des myGekko anspricht und den jeweiligen Rolladen mit dem gesetzten Wert ansteuert.
Ist es möglich, das ich in dem notify dem Script 2 Werte via ReadingsVal mitgeben kann? Ich habe das leider noch nicht hinbekommen.

Beide Varianten übermitteln dem Script immer nur den "state" Wert:
Benötigen würde ich aber "state" und "alias" damit ich nicht für jedes myGekko API Device ein eigenes Script anlegen müsste item0-item18

testslider {system('bash /tmp/test.sh'." ".ReadingsVal( 'testslider',"state","")." ".ReadingsVal('testslider',"alias",""));}
testslider { my $action = "/tmp/test.sh ".ReadingsVal( 'testslider',"state","")." ".ReadingsVal( 'testslider',"alias","");; `$action`; }


ein "list testslider alias" gibt zumindest schon den richtigen Namen aus.
testslider               item0

Habt Ihr einen Tipp für mich?

Viele Grüße und einen schönen Abend
Humi$$


Otto123

Hi,

ich würde das anders angehen:
testslider {my $a = ReadingsVal( 'testslider',"state",""); my $b = ReadingsVal('testslider',"alias","");system("bash /tmp/test.sh $a $b")}

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Humi$$

Servus Otto,

mein Gott, ich fünferl Hirn. Da hab ich wohl gestern den Wald vor lauter Bäumen nicht mehr gesehen. Hätt ich auch selbst draufkommen können.

Danke Dir.

Viele Grüße
Humi$$

Humi$$

Servus Otto,

ich hab jetzt den Befehl für das auslesen des "alias" Attributes die Funktion AttrVal() hinzugefügt. So gehts :)

testslider {my $a = ReadingsVal( 'testslider',"state",""); my $b = AttrVal('testslider',"alias","");system("bash /tmp/test.sh $a $b")}

Grüße

Otto123

Hi,
Ja ok, ich verwende nirgendwo alias und denke dann immer nicht dran, dass es kein Reading ist :)
Wahrscheinlich geht da auch dein Originalkonstrukt, trotzdem finde ich es so übersichtlicher. ;)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz