Rätselhaftes Problem mit Watchdog

Begonnen von hme, 03 Januar 2017, 00:36:32

Vorheriges Thema - Nächstes Thema

hme

Ich stehe ein bisschen auf dem Schlauch und hoffe, dass mit jemand helfen kann:

Ich habe folgendes definiert:


# Eigene Variablen
define Enable_Auto_Bad_Dimmen dummy
set Enable_Auto_Bad_Dimmen 1


Was in folgendem Watchdog verwendet wird, um das automatische Dimmen einer Badlampe zu realisieren.


define wd_BewegungErkannt watchdog Sensor_Bewegung_Bad:motion 00:01:00 SAME { if (ReadingsVal("Enable_Auto_Bad_Dimmen","state", "") eq "1") { fhem("set HUEDevice17 rgb 502020 ;; set telegram message Watchdog Bad - Dimmen On ;; ") } else { fhem("set telegram message Watchdog Bad - Dimmen Off;; ") } } ;; setstate wd_BewegungErkannt defined


Die vorhergehende always-on Variante:


define wd_BewegungErkannt watchdog Sensor_Bewegung_Bad:motion 00:01:00 SAME set HUEDevice17 rgb 502020 ;; set telegram message Watchdog Test ;; setstate wd_BewegungErkannt defined


funktioniert problemlos. Bei dem neuen Watchdog mit If/Else bekomme ich zwar die korrekte Telegram Nachricht ("...Dimmen On..."), aber das Licht ändert sich nicht. Was mache ich falsch?  ???

hme

Hallo, gibt es generell eine Möglichkeit derlei Code zu checken welche über Syntax-Highlighting ala Notepad++ hinausgeht? Eine Art Compiler? Ich finde das Debuggen sonst reichlich schwierig... oder wie macht ihr das?

CoolTux

Wenn Du den Code in der DEF bearbeitest, dann erfolgt zu mindest ein kleiner Syntaxcheck. Du kannst auch Codemirror aktivieren.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

hme

Problem wurde gelöst durch massives und langes rumprobieren  :-\

Korrekt ist (mit ";;;;"):


define wd_BewegungErkannt watchdog Sensor_Bewegung_Bad:motion 00:01:00 SAME { if (ReadingsVal("Enable_Auto_Bad_Dimmen","state", "") eq "1") { fhem("set HUEDevice17 rgb 502020 ;;;; set telegram message Watchdog Bad - Dimmen On ;; ") } else { fhem("set telegram message Watchdog Bad - Dimmen Off;; ") } } ;; setstate wd_BewegungErkannt defined

CoolTux

Dann scheinst Du direkt das cfg File zu bearbeiten.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

hme

Ja, mache ich. Ich weiss schon, ohne Syntaxprüfung ist das eigentlich nicht so toll, aber ich persönlich finde es übersichtlicher mir die fhem.cfg selbst zu formatieren und kommentieren, als alles über die UI zu machen.

CoolTux

Nur damit es später nicht heißt es wurde Dir nie gesagt.
So gut wie jeder Helfende hier wird Dir Syntax und/oder Code nur für das DEF des Frontends geben. Bedeutet auch das wenn Du Fehlermeldungen hast wird es für die Helfenden schwer Dir Tips zu geben.
Mal ab von den nicht einzuschätzenden Seiteneffekten wenn man die CFG selbst editiert statt es dem System zu überlassen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net