FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Patrick Strassburger am 04 Mai 2016, 10:06:04

Titel: [gelöst] Slider Wert an Script übergeben
Beitrag von: Patrick Strassburger am 04 Mai 2016, 10:06:04
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
Titel: Antw:Slider Wert an Script übergeben
Beitrag von: viegener am 04 Mai 2016, 21:06:43
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?


Titel: Antw:Slider Wert an Script übergeben
Beitrag von: Patrick Strassburger am 08 Mai 2016, 17:39:38
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
Titel: [gelöst] Antw:Slider Wert an Script übergeben
Beitrag von: Patrick Strassburger am 08 Mai 2016, 19:17:36
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