FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Manley am 27 März 2018, 20:04:42

Titel: DOIF und Internal Problem
Beitrag von: Manley am 27 März 2018, 20:04:42
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
Titel: Antw:DOIF und Internal Problem
Beitrag von: CoolTux am 27 März 2018, 20:20:09
Internals werfen keinen Event und triggern kann man nur auf Events. Geht also nicht.
Du kannst Internals aber abfragen.
Titel: Antw:DOIF und Internal Problem
Beitrag 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?
Titel: Antw:DOIF und Internal Problem
Beitrag von: CoolTux am 27 März 2018, 20:31:59
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.
Titel: Antw:DOIF und Internal Problem
Beitrag von: Manley am 27 März 2018, 20:38:57
Funktioniert so nicht.
Ich werde mal weiter tüfteln.

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

Danke.
Titel: Antw:DOIF und Internal Problem
Beitrag von: CoolTux am 27 März 2018, 20:43:15
Tüfteln ist kacke. Schau in die Commandref

Eventuell so
([:00] and [MAX:&rferror] == 1)
Titel: Antw:DOIF und Internal Problem
Beitrag von: Manley am 27 März 2018, 20:53:00
Naja. Tüfteln mit der Commandref :)

Dein Code gibt leider    
condition c01: Argument "" isn't numeric in numeric eq (==)
zurück.
Titel: Antw:DOIF und Internal Problem
Beitrag von: CoolTux am 27 März 2018, 21:00:36
gib mal bitte ein list von dem Max Gerät und verschiebe das Thema bitte nach Automatisierung -> DOIF
Titel: Antw:DOIF und Internal Problem
Beitrag von: Manley am 27 März 2018, 21:09:09
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
Titel: Antw:DOIF und Internal Problem
Beitrag von: CoolTux am 27 März 2018, 21:16:53
past, keine Ahnung wie man das aus lliest mit DOIF

Kannst auch ein at machen und dann mit InternalVal() arbeiten.
Titel: Antw:DOIF und Internal Problem
Beitrag von: Damian am 27 März 2018, 21:52:15
DOIF ([MAX_0e7611:&rferror] == 1) (...)

triggert auf alle Events des Devices MAX_0e7611. Attribut do always nicht vergessen.
Titel: Antw:DOIF und Internal Problem
Beitrag von: Manley am 27 März 2018, 22:05:42
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?