Bedingung (DEVICE1:temp+DEVICE2:temp)/2 > DEVICE3:temp

Begonnen von CoolTux, 27 August 2016, 10:42:12

Vorheriges Thema - Nächstes Thema

CoolTux

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?
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

CoolTux

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.  :-\
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

stromer-12

beim ersten hast du glaube ich eine klammer vergessen
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

CoolTux

Hast Recht. Ich schaue mal ob es nun besser geht. Denke aber eher mal nicht.
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

CoolTux

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
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