Neuanlage Homematic-Instanzen

Ich habe in den letzten Wochen auf IPS 2.5 (#2237) und CCU-Firmware 1.504 upgedatet. Nach längerer Pause habe ich nun heute mal wieder eine paar neue Homematic-Geräte in der CCU angelernt und in IPS hinzugefügt. Dabei ist mir aufgefallen, dass beim Anlegen neuer Homematic-Instanzen immer die Option „Status emulieren“ ausgewählt ist. Soweit ich es verstanden habe, bewirkt diese Option eine sofortige Änderung der Statusvariablen einer Instanz (z.B. bei Bedienung im WebFront), ohne auf die Rückmeldung des Devices zu warten? Da Homematic den Status nach Änderung zurückmeldet, sollte diese Option per Default doch eigentlich nicht aktiviert sein? Zumindest ist das bei allen meinen bestehenden Instanzen so.

Beim Anlegen eines Rauchmelders (HM-Sec-SD) und eines Türkontaktes (HM-Sec-SC) wird außerdem die Option „Benutze Standardaktion“ bei der Statusvariable „STATE“ gesetzt. Dadurch wird ja nicht nur der momentane Status sondern zwei Aktions-Schaltflächen im WF angezeigt. Es ist mir nicht gelungen diese Option abzuwählen. Beim Speichern wird der Hacken immer wieder gesetzt. Da unterschiedliche Darstellungen verschiedener Rauchmelder im WF nicht ganz so hübsch sind, habe ich dann eine Änderung per Script versucht. Nach einem Fehler bei der Skriptausführung und Suche im Forum habe im Changelog zur Version 2.5 gelesen das IPS_SetStatusVariableUseAction nicht mehr unterstützt wird (hier müsste die Doku mal noch angepasst werden ;-).

Kann jemand mal bitte das beschriebene Verhalten testen? Ist doch bestimmt nicht so gedacht?

Eigentlich wollte ich ja vor dem Schreiben noch auf die neuste Version updaten. Aber wie es immer so ist, gerade jetzt ist die Subskription abgelaufen. Habe aber schon neu bestellt :loveips: und im Changelog habe ich aber auch nichts zum beschriebenen Problem gefunden.

Viele Grüße

MSC

Das hatte ich vorgeschlagen und finde es immer noch gut, da jede 5. Frage der Neuen im Forum darauf abzielt, warum im WebFront nix passiert, wenn der Knopf gedrückt wird. Homematic verliert keine Befehle, darum war die Einstellung richtig.
Wer es nicht mag, kann ja ausschalten.

Danke, die Diskussion ist an mir vorbeigegangen, obwohl ich eigentlich regelmäßig im Forum mitlese. Wie du schon schreibst, kann das ja jeder selbst entscheiden. Ich persönlich habe hier lieber Gewissheit über einen erfolgten Statuswechsel.

Bleibt noch die Frage nach der hartnäckigen Option „Benutze Standardaktion“ beim Rauchmelder und TFK. Hat dazu jemand eine Idee?

Gruß,
MSC

Über Sinn und Unsinn lässt sich hier sicher streiten, auch die andere Aussage über HM wage ich anzuzweifeln. Die Fragen gehen heute halt anders rum. Siehe Keymatic.
Ich brauche keine Anzeige für „hätte geschaltet haben sollen“. :cool:

Das mit dem Haken sieht mir nach Bug aus, kann aber sein, daß das absichtlich geändert wurde. Weiss ich auf die Schnelle nicht.
Paresy fragen, oder eine Fehlermeldung ins Forum stellen.

Gruß
Bruno

Bruno, Du darfst gerne zweifeln. Ändert aber rein gar nix an den Fakten. :smiley:

Es ist vielleicht bei Dir so, bei mir nicht. Von dem her :wink:

Hmmm, eigentlich wollte ich Bruno beipflichten und „Homematic verliert keine Befehle“ anzweifeln (ja, das mit der bidirektionalen Kommunikation in HM habe ich schon grundsätzlich verstanden).
Aber dann habe ich das Verhalten in IPS mal ausprobiert.
Ich habe mir eine HM-Funksteckdosen stromlos auf den Schreibtisch gelegt und diese mit und ohne „Status emulieren“ probiert einzuschalten. Was soll ich sagen, für mich ist kein Unterschied erkennbar. In beiden Fällen erscheint kurz die Animation zum Statusübergang im WebFront und danach wird eine Nachricht „Fehler“ angezeigt. Ich hatte mit „Status emulieren“ aber auch nicht das Gefühl das der Status kurz auf „true“ wechselt. Also wird trotz „Status emulieren“ noch auf die Rückmeldung von Homematic gewartet? Ich hätte in dem Fall eher erst mal einen emulierten Wechsel auf „true“ erwartet. Oder geht das so schnell das man es nicht sieht und durch die Fehlermeldung wird der Status wieder zurückgesetzt? Um das zu testen, habe ich ein Ereignis auf Statusänderung mit Wert „true“ angelegt. Dieses wird aber nur ausgelöst wenn die Funksteckdose auch erreichbar ist, auch mit Haken bei „Status emulieren“. Auch die Events „Bei Variablenänderung“ oder „Bei Variablenaktualisierung“ werden in keinem Fall bei Nichterreichbarkeit ausgelöst.

Ich könnte zwar einfach weiter den Haken bei neuen Instanzen entfernen, nun will ich es aber doch genau wissen. Kann jemand mir noch mal den Unterschied erklären? Boui wird jetzt wahrscheinlich in die Tischkante beißen, aber trotz nochmaliger Suche in Doku und Forum habe ich keine erschöpfende Antwort darauf gefunden.

Gruß,
MSC

Ich bin doch friedlich, so es nicht um Phasenausgleich geht. :wink:

Das Problem ist bei den WTs erkennbar. Die senden im Gegensatz zu den Aktoren (wäre auch komisch wenn anders) nicht sofort, sondern deutlich verzögert.

Gut. Es gibt also Module, welche sich nur periodisch oder bei Variablenänderung melden und trotzdem die Einstellung von (Betriebs-)Parametern (z.B. Solltemperatur im WTs) bieten. Außer WTs fällt mir da jetzt spontan nichts ein. Bewegungsmelder, TFKs, Wassermelder und ähnliche Geräte melden sich zwar auch nur bei einer Variablenänderung, abgesehen von den Config-Parameter über die HM-Software kann man dort ja aber auch nichts „bedienen“.

Nehmen wir also die Solltemperatur eines WTs (habe ich leider nicht im Einsatz, nur irgendwo noch eines in der Kiste). In IPS wird die Solltemperatur geändert und der Befehl zur Änderung in Richtung HM abgesetzt. Die CCU oder entsprechend der BidCos-Service des LAN-Adapters „puffert“ den Befehl und sendet diesen erst bei der nächsten periodischen Meldung des WTs weiter. IPS bekommt aber sofort die Rückmeldung, dass der Befehl ordnungsgemäß abgesetzt wurde. Erst nach dieser positiven Rückmeldung unterscheidet sich das Verhalten in Abhängigkeit von der Option „Status emulieren“. Ist diese gesetzt, wird sofort der Sollwert in IPS auf den veränderten Wert gesetzt. Wenn nicht, erfolgt die Änderung erst wenn eine Kommunikation von CCU / LAN-Adapter mit dem WT stattgefunden hat und dieses die neue Solltemperatur zurückmeldet. Meldet sich das WT nicht bzw. stürzt die HM-Software zwischenzeitlich ab, ist der Wert in IPS schon gesetzt und kommt aber nie im WT an.

Bei allen ständig empfangsbereiten Funk- bzw. wired Module würde der emulierte Status also nur bei positiver Quittung des Befehls gesetzt werden, da die HM-Software diese nicht „puffert“? Was aber nicht bedeutet, dass das Modul diesen Status auch wirklich erreicht.
Das habe ich dann mal mit einem wired Jalousie-Aktor getestet. Dort sieht man dann schön den Unterschied. Ich schalte diesen einfach über die Standardaktion der Statusvariable „LEVEL“ im WebFront. Zwar wird hier der geänderte Level auch erst nach dem Erreichen angezeigt, dass scheint aber an den Statusmeldungen des Moduls nach Befehlsempfang zu liegen. Ein Ereignis bei Variablenwert „0.00“ wird mit „Status emulieren“ zumindest sofort nach dem Losfahren ausgelöst während es ohne emulierten Status wirklich erst beim Erreichen der Position geschieht.

Zusammengefasst wird also auch bei emuliertem Status dieser nur gesetzt, wenn der entsprechende Befehl von HM positiv quittiert wurde. Da hier bei den meisten Modulen deren Erreichbarkeit berücksichtigt wird, ergibt sich daraus eine gewisse Sicherheit, dass die Änderung auch ausgeführt wird. Geschieht dies nicht, wird der Status in IPS erst bei der nächsten Statusmeldung des Moduls korrigiert. Da die Module offensichtlich nach Befehlsempfang erst einmal ihren aktuellen Status zurückmelden, erscheint das Ganze nur bei zeitverzögerter Befehlsausführung wie im Falle der WTs sinnvoll zu sein. Die Wahrscheinlichkeit einer wirklichen Diskrepanz ist also bei den meisten Modulen eher gering. Und je nach persönlicher Vorliebe kann man das Verhalten mit einem Klick beeinflussen ;).

Ist das soweit korrekt?

Viele Grüße

MSC

Boa, soviel Zeit zum Lesen hab ich nicht.

Na überhaupt kein Problem. Ich denke ich habe es auch soweit rausgefunden wie es funktioniert. Und vielleicht liest es ja dann mal einer, der auch nicht sofort den Sinn von „Status emulieren“ in einem bidirektionalen System versteht.

Gruß,
MSC

Hätteste mal lieber getan … dann müssten wir jetzt nicht haufenweise Haken rausmachen … :cool: :smiley:

Hallo MSC,

ich hab’s gelesen und ENDLICH wohl umfassend verstanden. Spätes DANKE!

Alexander