Hauptmenü

DOIF und Internal Problem

Begonnen von Manley, 27 März 2018, 20:04:42

Vorheriges Thema - Nächstes Thema

Manley

Hi.

Ich hatte letztens durch Zufall gesehen, daß einer meiner Max-Thermostaten einen rf error gemeldet hatte.
Das ganze löste sich von selbst nach ca 3 Std.
Allerdings hätte ich gern eine Meldung gehabt.
Die Max-Thermostate haben als Internal rferror  0/1
Habe das (["^MAX:&rferror:1"]) als Trigger in nem DOIF probiert. Leider ohne Erfolg.
Vieleicht habe ich auch die Commandref missverstanden.
Vieleicht hat jmd auch eine bessere Idee.

MfG
Manley
Wir essen jetzt Opa!
Satzzeichen können Leben retten.

CoolTux

Internals werfen keinen Event und triggern kann man nur auf Events. Geht also nicht.
Du kannst Internals aber abfragen.
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

Manley

Achso. Also müsste ich einen Trigger schaffen und dann das Internal auslesen?

Z.B. so ([+:00] and [^MAX:&rferror:1])  ?

Das er also immer zu vollen Stunde nachschaut?
Wir essen jetzt Opa!
Satzzeichen können Leben retten.

CoolTux

Zitat von: Manley am 27 März 2018, 20:30:35
Achso. Also müsste ich einen Trigger schaffen und dann das Internal auslesen?

Z.B. so ([+:00] and [^MAX:&rferror:1])  ?

Das er also immer zu vollen Stunde nachschaut?

Der Gedanke wäre korrekt aber ob Dein DOIF Code so geht kann ich nicht sagen.
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

Manley

Funktioniert so nicht.
Ich werde mal weiter tüfteln.

Aber das ein Internal kein Event auslöst war der wichtige Hinweis.

Danke.
Wir essen jetzt Opa!
Satzzeichen können Leben retten.

CoolTux

Tüfteln ist kacke. Schau in die Commandref

Eventuell so
([:00] and [MAX:&rferror] == 1)
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

Manley

Naja. Tüfteln mit der Commandref :)

Dein Code gibt leider    
condition c01: Argument "" isn't numeric in numeric eq (==)
zurück.
Wir essen jetzt Opa!
Satzzeichen können Leben retten.

CoolTux

gib mal bitte ein list von dem Max Gerät und verschiebe das Thema bitte nach Automatisierung -> DOIF
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

Manley

Internals:
   CHANGED   
   DEF        HeatingThermostat 0e7611
   IODev      ml
   LASTInputDev ml
   MSGCNT     216
   NAME       MAX_0e7611
   NR         24
   STATE      19.0 °C
   TYPE       MAX
   addr       0e7611
   backend    ml
   dstsetting 1
   ml_MSGCNT  216
   ml_TIME    2018-03-27 21:06:38
   mode       0
   rferror    0
   serial     LEQ0008941
   type       HeatingThermostat
   READINGS:
     2018-03-27 21:06:38   MAXLAN_error    0
     2018-03-27 21:06:38   MAXLAN_errorInCommand
     2018-03-27 21:06:38   MAXLAN_initialized 1
     2018-03-27 21:06:38   MAXLAN_isAnswer 0
     2018-03-27 21:06:38   MAXLAN_valid    1
     2018-03-27 21:06:38   battery         ok
     2018-03-27 17:58:19   boostDuration   5
     2018-03-27 17:58:19   boostValveposition 80
     2018-03-27 17:58:19   comfortTemperature 21.5
     2018-03-27 17:58:19   decalcification Sat 12:00
     2018-03-27 21:06:38   desiredTemperature 19.0
     2018-03-27 17:58:19   ecoTemperature  16.5
     2018-03-27 17:58:19   firmware        1.0
     2018-03-27 17:58:19   groupid         1
     2018-03-27 17:58:19   maxValveSetting 100
     2018-03-27 17:58:19   maximumTemperature on
     2018-03-27 17:58:19   measurementOffset 1.0
     2018-03-27 17:58:19   minimumTemperature off
     2018-03-27 21:06:38   mode            auto
     2018-03-27 21:06:38   state           19.0 °C
     2018-03-27 21:06:38   temperature     24.0
     2018-03-27 17:58:19   testresult      160
     2018-03-27 17:58:19   valveOffset     0
     2018-03-27 21:06:38   valveposition   0
     2018-03-27 17:58:19   weekprofile-0-Sat-temp 19.0 °C  /  22.0 °C  /  19.0 °C  /  19.0 °C
     2018-03-27 17:58:19   weekprofile-0-Sat-time 00:00-06:00  /  06:00-21:00  /  21:00-23:55  /  23:55-00:00
     2018-03-27 17:58:19   weekprofile-1-Sun-temp 19.0 °C  /  22.0 °C  /  19.0 °C  /  19.0 °C
     2018-03-27 17:58:19   weekprofile-1-Sun-time 00:00-06:00  /  06:00-21:00  /  21:00-23:55  /  23:55-00:00
     2018-03-27 17:58:19   weekprofile-2-Mon-temp 19.0 °C  /  22.0 °C  /  19.0 °C  /  19.0 °C
     2018-03-27 17:58:19   weekprofile-2-Mon-time 00:00-06:00  /  06:00-21:00  /  21:00-23:55  /  23:55-00:00
     2018-03-27 17:58:19   weekprofile-3-Tue-temp 19.0 °C  /  22.0 °C  /  19.0 °C  /  19.0 °C
     2018-03-27 17:58:19   weekprofile-3-Tue-time 00:00-06:00  /  06:00-21:00  /  21:00-23:55  /  23:55-00:00
     2018-03-27 17:58:19   weekprofile-4-Wed-temp 19.0 °C  /  22.0 °C  /  19.0 °C  /  19.0 °C
     2018-03-27 17:58:19   weekprofile-4-Wed-time 00:00-06:00  /  06:00-21:00  /  21:00-23:55  /  23:55-00:00
     2018-03-27 17:58:19   weekprofile-5-Thu-temp 19.0 °C  /  22.0 °C  /  19.0 °C  /  19.0 °C
     2018-03-27 17:58:19   weekprofile-5-Thu-time 00:00-06:00  /  06:00-21:00  /  21:00-23:55  /  23:55-00:00
     2018-03-27 17:58:19   weekprofile-6-Fri-temp 19.0 °C  /  22.0 °C  /  19.0 °C  /  19.0 °C
     2018-03-27 17:58:19   weekprofile-6-Fri-time 00:00-06:00  /  06:00-21:00  /  21:00-23:55  /  23:55-00:00
     2018-03-27 17:58:19   windowOpenDuration 15
     2018-03-27 17:58:19   windowOpenTemperature 12.0
   internals:
     interfaces thermostat;battery;temperature
Attributes:
   IODev      ml
   alias      Heizungsthermostat Esszimmer
   event-min-interval valveposition:300,desiredTemperature:300,state:300
   event-on-change-reading .*
   group      Heizung
   icon       hc_wht_regler
   room       1.2_Esszimmer,2.1_Heizung
   userattr   room_map structexclude weekprofile
   weekprofile Plan_ez
Wir essen jetzt Opa!
Satzzeichen können Leben retten.

CoolTux

past, keine Ahnung wie man das aus lliest mit DOIF

Kannst auch ein at machen und dann mit InternalVal() arbeiten.
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

Damian

DOIF ([MAX_0e7611:&rferror] == 1) (...)

triggert auf alle Events des Devices MAX_0e7611. Attribut do always nicht vergessen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Manley

#11
Werde ich gleich mal testen.
Nur leider müsste ich dann für jedes Max-Gerät ein eigenes DOIF machen.
Oder zumindest alle namentlich in einem DOIF nennen.

([:00] and ["MAX:&rferror"] == 1)
Damit scheint es zu funktionieren.

Leider kann ich nur auf 0 die Funktion testen, da im Moment kein rferror ansteht.
([:00] and ["MAX:&rferror"] == 0)

Oder kann ich einem Dummy ein Internal zum testen zuweisen?
Wir essen jetzt Opa!
Satzzeichen können Leben retten.