[gelöst] Slider Wert an Script übergeben

Begonnen von Patrick Strassburger, 04 Mai 2016, 10:06:04

Vorheriges Thema - Nächstes Thema

Patrick Strassburger

Hallo,

ich bin absolut neu hier, habe FHEM in den letzten Wochen eingerichtet und will nun sukzessive die komplett proprietäre Lösung zu FHEM migrieren soweit dies möglich ist und ich die Zeit dazu finde.
Die Heizungssteuerung läuft derzeit auf einem FoxBoard, diese soll auf einen Raspberry emigriert werden.

Derzeit scheitere ich an einem Slider für die Vorlauf Temperatur. Der Wert soll an ein Script übergeben werden welches einfach nur den Sollwert in eine MySQL DB schreibt, die vom FoxBoard gelesen und beschrieben wird.
FHEM loggt auch schon in eine MySQL DB aber nicht die gleiche DB und ich finde keinen Weg, den Eintrag ohne ein Script zu machen.


attr vorlauf_haus_soll group Steuerung
attr vorlauf_haus_soll room Heizung
attr vorlauf_haus_soll setList state:slider,15,1,50
attr vorlauf_haus_soll webCmd state


fehlt ein define notify aber hier kommt ich nicht weiter.
Parallel wäre natürlich schön, wenn der Slider den Wert aus der DB ausliest falls dieser sich von ausserhalb ändert.


define changeVorlaufHaus notify {system('/home/fhem/python/setvorlauf.py' 'vorauf_haus_soll');;}


Kann mir jemand die Richtung vorgeben? Ich brauche nicht unbedingt die komplette Lösung - mir fehlt wie man Parameter vom Slider und FHEM zu einem Script sendet und idealerweise den Weg zurück.

Vielen Dank,
Patrick

viegener

Zitat von: Patrick Strassburger am 04 Mai 2016, 10:06:04

define changeVorlaufHaus notify {system('/home/fhem/python/setvorlauf.py' 'vorauf_haus_soll');;}



Ich weiss jetzt nicht genau was vorauf_haus_soll für ein Gerät ist, aber ich denke DU willst vermutlich auf ein Reading davon zugreifen. Wenn das so ist, musst Du die Funktion ReadingsVal verwenden. Dazu gibt es in der Commandref einige Beispiele wie man die innerhalb von perlcode einsetzt.

Ausserdem musst Du den Pfad des Skriptes und den Wert in perl-Methode zusammenbauen und die Syntax vom notify-Befehl enthält noch ein "pattern".

Also vielleicht etwas wie:


define changeVorlaufHaus notify vorauf_haus_soll {system('/home/fhem/python/setvorlauf.py'." ".ReadingsVal( 'vorauf_haus_soll',"state",""));;}


Heisst das wirklich vorauf und nicht vorlauf?


Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Patrick Strassburger

Hallo,

vielen Dank - funktioniert noch nicht ganz aber ich komme weiter.
Ist natürlich ein Schreibfehler und soll Vorlauf heissen.

Im Moment sehe ich nicht, dass ein Wert übergeben wird aber ich schaue erst noch einmal selbst.

Vielen Dank!
Patrick

Patrick Strassburger

Hallo,

habe den letzten Fehler gefunden, war zu nah dran.
Im Python Script fehlte die erste Zeile "#!/usr/bin/python" - damit konnte nichts importiert werden...

Vielen Dank,
Patrick