Verständnisproblem: Logik in den Bedingungen

Begonnen von Barracus, 04 Oktober 2016, 22:43:57

Vorheriges Thema - Nächstes Thema

Barracus

Hallo zusammen,

ich habe ein Verständlichkeitsproblem mit dem DOIF:

Ich habe eine sehr einfach Logik umgesetzt um meine Rollos zu steuern: wenn hell--> rollos auf, mit min und max Zeiten für unter der Woche und am WE.

Diese Kommando funktioniert einwandfrei:

([proxy.eg.garten.nord.luminance] > 100 and [[7:00]-[8:30]|8] or [[9:00]-[11:00]|7]) (set eg.ku.rollo on)


Da aber der Sensor aufgrund der Reichweite nicht immer zuverlässig funktioniert, wollte ich es mit einem Twilight ergänzen, und zwar so:

(([proxy.eg.garten.nord.luminance] > 100  or [home.twilight:sr_indoor]) and [[7:00]-[8:30]|8] or [[9:00]-[11:00]|7]) (set eg.ku.rollo on)


Problem ist jetzt, dass das Kommando nicht mehr funktioniert und die Rollos immer um 7:00 aufgehen.

Woran kann es liegen? Habe ich die () Klammer irgendwie falsch eingesetzt? Wie Funktionier die Logik für die Auswertung der Ausführungszeitpunkt im ersten Beispiel? (Da sind gar keine Klammern und es funktioniert)

Danke für eure Hilfe!

Ciao!

KernSani

Hi,

von der Klammersetzung sollte folgendes funktionieren:

((([proxy.eg.garten.nord.luminance] > 100  or [home.twilight:sr_indoor])) and ([[7:00]-[8:30]|8] or [[9:00]-[11:00]|7])) (set eg.ku.rollo on)

d.h. nur wenn (luminance oder twilight) und (Wochentag oder Wochenende)

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Ellert

Statt
Zitat([[7:00]-[8:30]|8] or [[9:00]-[11:00]|7])

so ([7:00-8:30|8] or [9:00-11:00|7])

Doppelte eckige Klammer bei indirekten Zeitangaben.

Barracus

Danke für die Antworte.

Ich bin leider noch nicht dazu gekommen es auszuprobieren, weil die SD meines PI hat entschieden nicht mehr funktionieren zu wollen und ich bin noch nicht dazu gekommen das Backup wieder "live" zu schalten.

Zu den Antworten:
@Ellert:
Zitat von: Ellert am 04 Oktober 2016, 23:39:24
so ([7:00-8:30|8] or [9:00-11:00|7])
Die doppelte eckige Klammer sind hier ein Copy-Paste Fehler gewesen. In dem System habe ich die Zeit als Parameter angegeben, deswegen brauche ich die doppelte Klammer. Hier habe ich die Parameter durch feste Zeiten ersetzt, so dass es übersichtlich bleibt, habe aber vergessen, die Klammer zu entfernen. Sorry :)

@KernSani:
Danke! Ich werde deine Lösung ausprobieren, sobald das System wieder läuft.

Ciao!

Barracus

#4
Hi, da bin ich wieder.
Ich habe endlich die Zeit gefunden, das System wieder am Laufen zu bringen.

Leider hat der Vorschlag mit den Klammern nicht funktioniert und ich komme mit diesem DOIF immer noch nicht ganz klar.
ich habe jetzt was anderes versucht und habe folgenden Kode probiert, der wiederum nicht funktioniert hat. (Ich poste jetzt das DOIF für das Runterfahren der Rollos, da habe ich keinen Unterschied zwischen Woche und WE gemacht und ist ein bisschen Übersichtlicher zu posten):

(([proxy.eg.garten.nord.luminance] < [par.rollo.lux.down] and [[par.rollo.time.down.min]-[par.rollo.time.down.max]]) or ([{twilight("home.twilight","ss_civil",Value("par.rollo.time.down.min"),Value("par.rollo.time.down.max"))}]))

damit gehen die Rollos Pünktlich um 16:30 runter obwohl es noch hell war und ss_civil liegt ca bei 18:35 oder so (16:30 ist der Wert des Parameters "par.rollo.time.down.min")

Kann mir bitte jemand sagen, was ich falsch mache? :)

Danke euch!

Ellert

[[par.rollo.time.down.min]-[par.rollo.time.down.max]] Du könntest versuchen diesen Teil nichttriggernd zu machen [?[par.rollo.time.down.min]-[par.rollo.time.down.max]]
http://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Stati_ohne_Trigger