FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Samsi am 02 November 2013, 23:21:51

Titel: chn:on phys:0 % phyLevel:100% ???
Beitrag von: Samsi am 02 November 2013, 23:21:51
Ich verstehe gerade nicht, warum mir mein neuer Dimmer folgendes anzeigt wenn das Licht 100%  eingeschaltet ist (set licht_EG_Wohnzimmer_CH1 on):

state:    chn:on phys:0 %
phyLevel: 100%
level: 100%

und umgekehrt set licht_EG_Wohnzimmer_CH1 off

state:    chn:off phys:100 %
phyLevel: 0%
level: 0%

Offensichtlich passiert das, wenn ich die Im Webfrontend mit dem slider Dimme und dann mit set xxx off steuere.

Weis hier jemand rat?


EDIT: offensichtlich betrifft das auch alle alten Dimmer. Ich habe jetzt festgestellt, das der phyLevel auf dem Level von der letzten Dimmstufe stehen bleibt, z.B. 39%, wen ich set on oder set off sende. Wenn ich aber vorher auff 100% gedimmt habe und ich mache dan set on/off dann kommen die Werte wie oben beschrieben.
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: martinp876 am 03 November 2013, 08:46:04
Hallo Samsi,

was ist dein Problem? bleibt der state auf einem falschen Wert? hast du einmal refreshed?
Du hast dimmer mit 3 "virtuellen" channels zur steuerung - aber nur eine physikalische Lampe.
Phy sollte der Wert an deiner Lampe sein - level ist der Wert dieses einen eingabe-channels. FHEM liest - wenn du es nicht abschaltest - den physikalischen Wert der Lampe nach dem  schalten.
Wenn du den Channel 2 schaltest wird dieser verändert, aber das Licht nicht (annahme: default der logischen Verknüpfung steht immer noch auf "aus")

Wird jetzt also etwas falsch angezeigt?

Gruss Martin

Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: Samsi am 03 November 2013, 10:59:49
Zitatwas ist dein Problem? bleibt der state auf einem falschen Wert?
Hallo, ja, der bleibt auf chn:off phys:100 %. Das liegt wohl daran, dass ich autoRegRead auf 0 gestellt habe wie ich jetzt festgestellt habe. Ich würde autoRegRead auch gerne auslassen, weil mir das einfach zu viel Funkverkehr verursacht, z.B. jedes mal wenn ich die fhem.cfg speicher werden erst mal alle devices neu abgefragt. Früher, ohne AutoRegReg hat auch alles einwandfrei funktioniert.

Aber selbst wenn ich jetzt das AutoRegRead für diese einen Dimmer auf 4 stelle habe ich da noch ein kleines Problem, es scheint so, als ob der Slider von Kanal 1 aus dem Webfrontend  wenn ich ihn benutze, alle Channels setzt. Also wenn ich Kanal 1 auf 15% setze, zeigen auch die Kanäle 2 und 3 15% an. Wenn ich set On/Off für Kanal 1 mache, bleiben die anderen Kanäle unbeeinflusst, aber offensichtlich bezieht der Slider für Kanal 1 seine Info aus allen drei Kanälen, so das dieser nur stimmt, wenn alle drei kanäle gleich sind. Da ich kanäle 2u.3 aber nie schalte, sind diese in der regel immer Off und obwohl die Lampe an ist, zeigt mir der Slider dann auch 0%.

Ich habe noch mal ein Paar Bilder anghängt. Bild 1 Zeigt, wenn alle kanäle aus sind.
autoReadeReg ist bei allen kanälen auf 4
Bild 2 zeigt wie es aussieht, wenn ich CH1 mit "set on" einschalte Das heist der Slider ist auf 0 obwohl die Level und physLevel auf 100% sind. Auch nach einem reload der Seite. Bei CH2/3 wird statt des einfachen States (off)  chn:off phys (100%) angezeigt. Nicht schön, aber da weiss ich mir zu helfen.
Bild 3 zeigt, wenn ich CH1 mit dem SLider auf 16% setze.


Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: martinp876 am 03 November 2013, 12:56:52
Hallo Samsi,

Die Automatik abzuschalten ist - wie du weißt - nicht meine Empfehlung - jedenfalls nicht komplett. Genau diese Fälle hatte ich erwähnt - und die kann man nur in den Griff bekommen, wenn man einen statusRequest ausführt. Es wurde auf expliziten Wunsch abschaltbar gemacht - insofern ist es wie gewünscht.
Der Level des realen - physkalischen - Schalters wurde früher nicht berücksichtigt. Kein Wunder, die virtuellen Kanäle wurden nicht berücksichtigt, noch nicht einmal dargestellt.
Wenn es nur einen virtuellen Channel gibt kannst du den "level" in state schreiben.

Ich denke, du hast schon darüber nachgedacht was es bedeuted 3 virtuelle Kanäle zu haben und nur eine Lampe? Du hast 3 virtuelle Level und einen Physikalischen. Jetzt musst du entscheiden, was du eigentlich im State sehen willst.
Default ist, dass der Level angezeigt wird, wenn der Virtuelle mit dem Physikalischen FÜR DIESEN KANAL übereinstimmt. Das halte ich schon einmal für wichtig, schon um dem User klar zu machen, was passiert.

Wenn du es ändern willst, kannst du stateFormat setzen und es dir einrichten wie du willst.

Zum Verständniss - wenn du channel1 auf 15% setzt sollte dies bei channel 2 und 3 den physikalischen Level auf ändern (ist ja der gleiche) - der "level" - also der des Channels darf sich nicht ändern.

wenn du die Channels 2 und 3 nicht schaltest bleibt der "level" auch auf 0 - klar. Der Physikalische aber nicht (unbedingt).

wie du deinen Slider für die virtuellen Kanäle gebaut hast weis sich nicht - meiner zeigt 0 wenn der channel "off" ist.

Du kannst mittlerweile auch alles abschalten - setze in HMInfo das Attribut hmManualOper auf 1_manual. dann kannst du channels 1-3 löschen und ruhe ist. FHEM wird keine Channles mehr automatisch anlegen. Das Device wird immer noch die Kanäle haben und betreiben - wenn du nie etwas reinschreibst sollte es aber korrekt dargestellt werden.

Andererseits - wenn du die Kanäle nicht nutzt - warum stört dich deren Status? Schiebe sie doch einfach aus deiner Frontend-Darstellung. Du hast doch sowieso alle Möglichkeiten an der Hand

Gruss Martin
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: Samsi am 03 November 2013, 14:33:26
Hallo Martin,

danke für Deine Bemühungen, aber irgendwie hast Dumich immer noch nicht richtig verstanden. Die Anzeigen der beiden anderen Kanäle stören mich ja gar nicht, sondern die des eigentlichen Kanals. Und das obwohl ich alle Kanäle auf autoRegRead stehen habe.
Bei licht_Wohnzimmer_CH1 ist der State "on", die lampe leuchtet, der Slider ist aber 0. Und bei den anderen beiden zeigt er dafür richtig die 100% obwohl ich die gar nicht geschaltet habe.

Die Slider habe ich einfach mit Attr webCmd pct gemacht. Gibt es noch andere Möglichkeiten?


"Die Automatik abzuschalten ist - wie du weißt - nicht meine Empfehlung - jedenfalls nicht komplett. Genau diese Fälle hatte ich erwähnt - und die kann man nur in den Griff bekommen, wenn man einen statusRequest ausführt."
Wie gesagt, alle Kanäle stehen auf autoReadREag 4. Und der einzige unterschied ist, das am ende des schaltvorgangs im Status "on" steht und nicht chn:on phys:100%. Bei den beiden Kanälen die ich nicht geschaltet habe steht am ende aber trotzdem dann chn:of phys:100%

Vorher ging auch alles ohne die Automatik ;) Ich verstehe da auch noch nicht ganz denn Sinn, ein Device noch mal den Status abzufragen, obwohl es mir den ja gerade gesendet hat.

Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: Samsi am 03 November 2013, 15:00:51
Hallo,

vielleicht erkläre ich es noch mal anhand der Events:

Das ist mit autoRegRead 0:
2013-11-03 14:50:44 CUL_HM licht_EG_Wohnzimmer_CH1 set_off
2013-11-03 14:50:45 CUL_HM licht_EG_Wohnzimmer_CH1 level: 0 %
2013-11-03 14:50:45 CUL_HM licht_EG_Wohnzimmer_CH1 deviceMsg: off (to HMLAN1)
2013-11-03 14:50:45 CUL_HM licht_EG_Wohnzimmer_CH1 chn:off phys:100 %
2013-11-03 14:50:45 CUL_HM licht_EG_Wohnzimmer_CH1 timedOn: off
2013-11-03 14:50:45 CUL_HM licht_EG_Wohnzimmer_CH1 dim: stop:off
2013-11-03 14:50:45 CUL_HM licht_EG_Wohnzimmer_CH1 overload: off
2013-11-03 14:50:45 CUL_HM licht_EG_Wohnzimmer_CH1 overheat: off
2013-11-03 14:50:45 CUL_HM licht_EG_Wohnzimmer_CH1 reduced: off

Hier ist das Problem, das er zwar erst level 0 % sendet, dann später aber chn:off phys:100 %



Das ist mit autoRegRead 4:
2013-11-03 14:52:37 CUL_HM licht_EG_Wohnzimmer_CH1 set_off
2013-11-03 14:52:38 CUL_HM licht_EG_Wohnzimmer_CH1 level: 0 %
2013-11-03 14:52:38 CUL_HM licht_EG_Wohnzimmer_CH1 deviceMsg: off (to HMLAN1)
2013-11-03 14:52:38 CUL_HM licht_EG_Wohnzimmer_CH1 chn:off phys:100 %
2013-11-03 14:52:38 CUL_HM licht_EG_Wohnzimmer_CH1 timedOn: off
2013-11-03 14:52:38 CUL_HM licht_EG_Wohnzimmer_CH1 dim: stop:off
2013-11-03 14:52:38 CUL_HM licht_EG_Wohnzimmer_CH1 overload: off
2013-11-03 14:52:38 CUL_HM licht_EG_Wohnzimmer_CH1 overheat: off
2013-11-03 14:52:38 CUL_HM licht_EG_Wohnzimmer_CH1 reduced: off
2013-11-03 14:52:41 CUL_HM licht_EG_Wohnzimmer_CH1 phyLevel: 0 %
2013-11-03 14:52:41 CUL_HM licht_EG_Wohnzimmer_CH1 level: 0 %
2013-11-03 14:52:41 CUL_HM licht_EG_Wohnzimmer_CH1 deviceMsg: off (to HMLAN1)
2013-11-03 14:52:41 CUL_HM licht_EG_Wohnzimmer_CH1 off
2013-11-03 14:52:41 CUL_HM licht_EG_Wohnzimmer_CH1 timedOn: off
2013-11-03 14:52:41 CUL_HM licht_EG_Wohnzimmer_CH1 dim: stop:off
2013-11-03 14:52:41 CUL_HM licht_EG_Wohnzimmer_CH1 overload: off
2013-11-03 14:52:41 CUL_HM licht_EG_Wohnzimmer_CH1 overheat: off
2013-11-03 14:52:41 CUL_HM licht_EG_Wohnzimmer_CH1 reduced: off
2013-11-03 14:52:41 CUL_HM licht_EG_Wohnzimmer_CH1 doubleon: false
2013-11-03 14:52:42 CUL_HM licht_EG_Wohnzimmer_CH2 off
2013-11-03 14:52:42 CUL_HM licht_EG_Wohnzimmer_CH2 phyLevel: 0 %
2013-11-03 14:52:42 CUL_HM licht_EG_Wohnzimmer_CH3 off
2013-11-03 14:52:42 CUL_HM licht_EG_Wohnzimmer_CH3 phyLevel: 0 %

Hier kommt zwar später noch mal ein  phyLevel: 0 % und auch bei den CH2 und 3, aber der Slider springt dann auf 100% bei allen 3 Kanälen obwohl eigentlich alle readings (level, phyLevel) von allen kanälen 0 ist.

Wenn ich dann noch mal ein "setReading licht_EG_Wohnzimmer_CH1 phyLevel 0" mache, gehen alle Slider von allen Kanälen auf 0 % (wo sie eigentlich schon vorher hätten stehen sollen)
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: martinp876 am 03 November 2013, 19:10:54
Hallo Samsi,

hm - ok, sehe gerade dass mein slider immer bei 0 steht.
woher bezieht der slider seinen ausgangs-level? Habe ich nicht erforscht - weisst du es?

Gruss Martin
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: Samsi am 03 November 2013, 19:58:48
Hallo,

ich habe mal ein bischen experimentiert:

setReading licht_EG_Wohnzimmer_CH2 level 10 %
und
setReading licht_EG_Wohnzimmer_CH2  phyLevel 10 %
Ändern zwar die Readings, abe rnicht den Slider.

Bei
setReading licht_EG_Wohnzimmer_CH2  state chn:43 % phys:0 %

Wird der Slider geupdated aber die Readings level und physLevel werden nicht geändert.

Vielleicht hilft Dir das weiter.
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: justme1968 am 03 November 2013, 20:37:08
hallo martin,

das hatten wir schon vor ganz langer zeit mal :)

die slider beziehen den wert aus einem reading das genau so heissen muss wie das kommando das zum slider gehört.

hm verwendet als slider pct das reading heisst aber dim.

gruss
  andre
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: martinp876 am 04 November 2013, 08:39:42
@Andre danke, das habe ich gesucht.
HM sollte aber nicht "dim" sondern besser "level" nutzen. Das funktioniert dann auch bei blinds.
Wenn ich es richtig sehe muss das Kommandos und das Reading gleich lauten. demnach muss ich wohl das Reading "level" nach "pct" duplizieren.
Level wäre dann obsolet aber das wird sicher schon von anderen Usern genutzt - ein löschen wäre problematisch.

@samsi
bei dir ist die Frage, warum der slider  überhaupt auf den aktuellen stand gesetzt wird. hast du etwas eigenes eingebaut?

Gruss Martin
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: justme1968 am 04 November 2013, 09:14:45
ja. genau. sobald das kommando und das reading gleich lauten wird der solider (oder pulldown) automatisch auf den aktuellen wert initialisiert.

wenn du level einführst kannst du vielleicht gleich die chance ergreifen und das % weg lassen :)

gruss
  andre
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: martinp876 am 04 November 2013, 09:26:18
Hallo Andre,

level ist schon eingeführt. Neu wäre das Reading pct - und da kann ich das "%" weglassen

Gruss Martin
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: justme1968 am 04 November 2013, 09:40:00
ja. so rum sollte es natürlich sein.
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: Samsi am 04 November 2013, 12:03:27
Zitat von: martinp876 am 04 November 2013, 08:39:42

bei dir ist die Frage, warum der slider  überhaupt auf den aktuellen stand gesetzt wird. hast du etwas eigenes eingebaut?


Ich vermute weil ich ab und an folgende Events bekomme:  chn:43 % phys:0 % welche dann im State stehen bleiben (siehe meine Screenshots)

Das hat mich ja dann auf die Idee gebracht das reading mal selbst zu setzen:

setReading licht_EG_Wohnzimmer_CH2  state chn:43 % phys:0 %, woraufhin sich dann der Slider ändert.
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: martinp876 am 04 November 2013, 12:36:39
das habe ich nicht hin bekommen. Dass ein komplexer Ausdruck im state stehen bleibt ist klar - immer wenn der virtual-channel-level vom Physikalischen abweicht. Aber das beeinflusst den Slider nicht (bei mir)

die nächste Version wird jedenfalls ein Reading "pct" haben - daran sollte sich der slider orientieren. Du kannst ja einmal testen, ob dies bei dir prinzipiell funktioniert und das Reading pct (mutwillig) auf irgendwelche Werte setzen.
Titel: Antw:chn:on phys:0 % phyLevel:100% ???
Beitrag von: Samsi am 04 November 2013, 19:05:46
Ja, auf pct reagiert der bei mir auch.