FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: hme am 03 Januar 2017, 00:36:32

Titel: Rätselhaftes Problem mit Watchdog
Beitrag von: hme am 03 Januar 2017, 00:36:32
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?  ???
Titel: Antw:Rätselhaftes Problem mit Watchdog
Beitrag von: hme am 04 Januar 2017, 14:25:47
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?
Titel: Antw:Rätselhaftes Problem mit Watchdog
Beitrag von: CoolTux am 04 Januar 2017, 14:28:16
Wenn Du den Code in der DEF bearbeitest, dann erfolgt zu mindest ein kleiner Syntaxcheck. Du kannst auch Codemirror aktivieren.
Titel: Antw:Rätselhaftes Problem mit Watchdog
Beitrag von: hme am 05 Januar 2017, 04:15:00
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
Titel: Antw:Rätselhaftes Problem mit Watchdog
Beitrag von: CoolTux am 05 Januar 2017, 06:55:27
Dann scheinst Du direkt das cfg File zu bearbeiten.
Titel: Antw:Rätselhaftes Problem mit Watchdog
Beitrag von: hme am 08 Januar 2017, 15:25:59
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.
Titel: Antw:Rätselhaftes Problem mit Watchdog
Beitrag von: CoolTux am 08 Januar 2017, 15:39:35
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.