FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: sepultura30 am 23 Februar 2021, 18:07:20

Titel: Akuelle 10_CUL_HM.pm ist bei mir fehlerhaft
Beitrag von: sepultura30 am 23 Februar 2021, 18:07:20
Hallo,

die Aktuelle 10_CUL_HM.pm arbeit bei mir nicht sauber, im DOIF habe ich diesen Code drinnen:

([Flur_Oben] eq "on")
  (set Flur_Oben on-for-timer 120)

wenn jetzt das Licht angeht, dann springt das DOIF immer hin und her "cmd_1 cmd_2 cmd_1 cmd_2 u.s.w" und ich bekomme das Licht auch nicht mehr aus.
Mit dieser Version vom 20.02.2021 16:03:14 habe ich keine Probleme, die läuft sauber.

Grüße

Sandro
Titel: Antw:Akuelle 10_CUL_HM.pm ist bei mir fehlerhaft
Beitrag von: frank am 23 Februar 2021, 18:40:00
zeig ein "list Flur_Oben"
Titel: Antw:Akuelle 10_CUL_HM.pm ist bei mir fehlerhaft
Beitrag von: Otto123 am 23 Februar 2021, 19:35:14
Hallo Sandro,

egal wie es mit den Versionen, das ist äußerst unsaubere Code!
Du musst 2 Dinge beachten:
1. STATE (state) bei einem Homematic Device zu verwenden ist äußerst kritisch! Schau Dir im Eventmonitor an was da passiert wenn Du schaltest!
2. Du setzt auf ein on (trigger) ein on-for-timer - der schon immer wieder ein state=on erzeugt. Das muss eigentlich schon immer eine  Schleife geben wie Du beschreibst. Wenn es das bisher nicht gemacht hat war es ein Fehler! :)

Nimm z.B. level der wird nicht neu gesetzt - etwas kritisch bleibt das (auf alle Fälle event-on-change-reading setzen).

([Flur_Oben:level] == 100)   (set Flur_Oben on-for-timer 120)

Programmiere doch den Schalter direkt auf timer? Mit Template oder mit register direkt (hier beschrieben (https://heinz-otto.blogspot.com/2015/08/zeitschalter-mit-homematic-aktoren.html))
Code ist nur Prinzip und stimmt so nicht!
set hminfo templateSet Flur_Oben autoOff self01:short 120

Gruß Otto
Titel: Antw:Akuelle 10_CUL_HM.pm ist bei mir fehlerhaft
Beitrag von: sepultura30 am 28 Februar 2021, 15:02:32
Hallo Otto,

besten Dank, so geht es und ich habe alles bei mir umgestellt.


Zitat von: Otto123 am 23 Februar 2021, 19:35:14
Hallo Sandro,

egal wie es mit den Versionen, das ist äußerst unsaubere Code!
Du musst 2 Dinge beachten:
1. STATE (state) bei einem Homematic Device zu verwenden ist äußerst kritisch! Schau Dir im Eventmonitor an was da passiert wenn Du schaltest!
2. Du setzt auf ein on (trigger) ein on-for-timer - der schon immer wieder ein state=on erzeugt. Das muss eigentlich schon immer eine  Schleife geben wie Du beschreibst. Wenn es das bisher nicht gemacht hat war es ein Fehler! :)

Nimm z.B. level der wird nicht neu gesetzt - etwas kritisch bleibt das (auf alle Fälle event-on-change-reading setzen).

([Flur_Oben:level] == 100)   (set Flur_Oben on-for-timer 120)

Programmiere doch den Schalter direkt auf timer? Mit Template oder mit register direkt (hier beschrieben (https://heinz-otto.blogspot.com/2015/08/zeitschalter-mit-homematic-aktoren.html))
Code ist nur Prinzip und stimmt so nicht!
set hminfo templateSet Flur_Oben autoOff self01:short 120

Gruß Otto