Eigentlich eine ganz einfache Sache. Das DOIF soll cmd1 erst aktivieren wenn folgende Bedingung erfüllt ist
(DEVICE1:temp + DEVICE2:temp + DEVICE3:temp) / 3 soll größer sein wie DEVICE3:temp
Also
(
([TempFeuchtSensorKinZimSteven:temperature] + [TempFeuchtSensorKinZimIsabel:temperature] + [WandThermostatWohnzimmer_Weather:temperature] / 3) > [TempFeuchtSensorAussen:temperature]
)
(set pushmsg msg 'Wohnungstemperatur Kritisch!!!' 'Die Temperatur in der Wohnung ist höher wie die Aussentemperatur. Bitte Fenster schließen und zuziehen!!!' 'nexus5-marko' 0 '')
DOELSE ()
Leider hat er cmd1 bereits bei der ersten Aktuallisierung eines Devices aktiviert. Geht es doch nicht so einfach wie ich dachte?
Meine zweite Überlegung wäre alle Devices einzeln und dann die Berechnung als and Verknüpfung
(
(
([TempFeuchtSensorKinZimSteven:temperature] or [TempFeuchtSensorKinZimIsabel:temperature] or [WandThermostatWohnzimmer_Weather:temperature] or [TempFeuchtSensorAussen:temperature])
and
(([?TempFeuchtSensorKinZimSteven:temperature] + [?TempFeuchtSensorKinZimIsabel:temperature] + [?WandThermostatWohnzimmer_Weather:temperature]) / 3) > [?TempFeuchtSensorAussen:temperature]
)
)
(set pushmsg msg 'Wohnungstemperatur Kritisch!!!' 'Die Temperatur in der Wohnung ist höher wie die Aussentemperatur. Bitte Fenster schließen und zuziehen!!!' 'nexus5-marko' 0 '')
DOELSE ()
Ich habe mal versucht das zweite Beispiel Klammertechnisch übersichtlich zu gestallten. Die Anzahl der Klammern sollte jedenfalls stimmen.
Aber es geht bestimmt total einfach, oder?
Also zu mindestens die zweite Variante scheint zu funktionieren. cmd2 wird ausgeführt was den Werten entsprechend wäre. Aber muß das echt so komplex gemacht werden? Dann kann ich ja auch eine myUtils bauen. :-\
beim ersten hast du glaube ich eine klammer vergessen
Hast Recht. Ich schaue mal ob es nun besser geht. Denke aber eher mal nicht.
Ok ich korrigiere mich. Es scheint in der Tat doch so zu funktionieren. Zu mindest geht die Version 1 mit den korrekten Klammern nun in den richtigen cmd