HM-Sec-SCo mit verkehrtem STATE?

Hallo zusammen,

ich bin absoluter Einsteiger in der Heimautomation und möchte mich zuerst bei allen bedanken, die hier ihre Zeit und Energie reinstecken, um Software zu entwickeln oder Dummies wie mich zu unterstützen.

In den letzten Tagen habe ich mich in openHAB mit Homegear und hmland mit einem HM-CFG-USB-2 eingearbeitet und das ganze soweit auch zum Laufen gebracht. Nun ist der erste Fensterkontakt eingebunden und liefert auch brav seinen Status offen oder geschlossen im openHAB. Leider jedoch verkehrt herum :frowning: Ich konnte zwar über eine windowcontact.map praktisch den Text rechts im BrowserUI entsprechend richtigstellen, links das Fenster zeigt jedoch weiterhin den falschen Status an (ist offen bei CLOSED und umgekehrt). Trotz aller Forensuche und gegoogle finde ich dazu keine Lösung.

Muss ich nun jeden dieser optischen Kontakte im HomeMatic Konfigurator umstellen und die beiden Stati gegeneinander austauschen oder kann ich das in irgendeinem File (um)konfigurieren, bei openHAB oder ggf. dass homegear was anderes anhand der Stati 0xC8 und 0x00 weitergibt?

Viele Grüße
Steffen

Hallo Steffen,

du kannst prinzipiell die XML-Datei des Fensterkontaktes so anpassen, dass STATE invertiert ist (oder eine zweite Variable z. B. INVERTED_STATE einfügen). Ich bin gerade nicht zu Hause und habe keine XML-Datei parat, sonst hätte ich dir auch ein Beispiel gepostet (im “physical”-Block der Variablen “STATE” muss so etwas wie “trueValue=0” und “falseValue=200” stehen).

Ich schaue morgen aber mal, ob ich herausfinden kann, warum du überhaupt das Problem hast - der XML-Datei-Schritt sollte eigentlich nicht erforderlich sein.

Liebe Grüße

Sathya

Hallo Steffen,

also bei mir liefert der HM-Sec-SCo in OpenHAB den korrekten Status… komisch.

Aber schau mal hier: https://github.com/openhab/openhab/issues/1611

Liebe Grüße

Sathya

Hallo Sathya,

erst mal vielen Dank für deine schnellen Antworten, leider hatte ich in beiden Lösungsansätzen keinen Erfolg. Zuerst suchte ich nach passenden XML Files und bin unter /etc/homegear/devices/0 fündig geworden, ich denke, das müsste jetzt vielleicht noch richtig sein. Am passendsten erschien mir dann das File rf_sec_sco.xml, darin habe ich mich auf die Suche nach einem “physical” Block gemacht, auch mit den anderen Begriffen, die du angegeben hast, aber nichts gefunden. Auch ein grep mit 200 oder C8 über alle Files in dem Verzeichnis brachte mir nicht die Erleuchtung, wo ich was gegeneinander austauschen müsste.

Dann probierte ich es über den Workaroud von StefanBartels, aber da fehlt mir noch das Knowhow in openHAB. Das Item Contact “Fenster” habe ich dann weiterhin (falschherum) in der Gruppe EG_Bad und irgendwas mit Group:Contact… konnte ich danach nirgends finden, das ist mir noch eine Nummer zu hoch.

Daher habe ich nun doch beschlossen, über den Homematic Konfigurator erstmal das Sendekommando im Device gegeneinander auszutauschen. Bei geschlossen kommt jetzt 0xC8 und bei offen 0x00 und dann stimmt die Anzeige in openHAB.

Viele Grüße und schöne Osterfeiertage.
Steffen

Hallo Steffen,

falls du es doch noch einmal mit der XML-Datei probieren möchtest (rf_sec_sco.xml war genau richtig):

Füg im Block “<parameter id=“STATE” …” unter “” folgende Zeile ein (“physical” steht in der Datei drin :wink:, 200 oder C8 allerdings nicht):

Liebe Grüße

Sathya

Hallo Sathya,

sorry für die späte Antwort, wir waren nach Ostern ein paar Tage weg und danach hatte meine Regierung einige andere Aufgabe :slight_smile: Auf jeden Fall konnte ich nun deine Zeile testen und muss leider sagen, dass ich überhaupt keinen Unterschied feststellen kann. Homegear habe ich durchgestartet. So sieht das File rf_sec_sco.xml an der entsprechenden Stelle aus:

<paramset type="VALUES" id="sc_ch_values"> <parameter id="STATE" operations="read,event" control="DOOR_SENSOR.STATE"> <logical type="boolean"/> <physical type="integer" interface="command" value_id="STATE"> <event frame="EVENT" auth_violate_policy="reject"/> <event frame="INFO_LEVEL" auth_violate_policy="reject"/> <event frame="ACK_STATUS" auth_violate_policy="reject"/> </physical> <conversion type="boolean_integer" invert="true" /> </parameter>

Egal, ob die Zeile drin ist oder nicht, es kommt Status 0xC8 bei Fenster zu und 0x00 bei offen. Stimmt noch was nicht?

Liebe Grüße
Steffen

Hallo Steffen,

0xC8 und 0x00 sind die Rohwerte vom Gerät - die lassen sich nicht beeinflussen. Mit der entsprechenden Zeile sollte der Rohwert aber invertiert konvertiert werden. Das bedeutet über Ereignisse und “getValue” sollte der Status invertiert übertragen werden. Oder ist das auch nicht der Fall - dann schaue ich hier noch einmal.

Liebe Grüße

Sathya

Hallo Sathya,

kurzer Bericht, wie es gestern Abend lief. Ich hatte den invert-Eintrag im xml File drin und Homegear durchgestartet, erhielt dann jedoch keine Stati-Änderungen mehr im OpenHAB. Also Eintrag wieder raus, Homegear wieder durchgestartet, immer noch keine Stati-Änderungen?? Daraufhin OpenHAB ebenfalls durchgestartet und nun kamen invertierte Stati-Meldungen, jedoch ohne den Eintrag im xml-File. Also habe ich übers Homematic-Tool die Status-Einstellungen, die der Fensterkontakt schickt, wieder auf original zurückgestellt und nun war alles bestens.

Daraufhin zweiten Fensterkontakt ausgepackt und eingelernt und das Problem ließ sich reproduzieren. Obwohl beide geschlossen waren, kam im openhab.log beim ersten CLOSED und beim zweiten OPEN, und zwar solange, bis ich OpenHAB durchgestartet habe, dann waren beide richtig.

Ebenfalls beim dritten und aktuell letzten Kontakt, den ich habe, auch dieser lieferte solange den falschen STATE im OpenHAB bis dieses durchgestartet wurde. Daher würde ich sagen, entweder stimmt in meiner OpenHAB Konfiguration was nicht, oder das ist ein Bug in OpenHAB. Wobei ich aktuell nicht wüsste, was in der Config falsch ist, da es nach dem Durchstarten ja stimmt.

Sorry, dass ich dich mit dem Problem beschäftigt habe, Homegear macht alles richtig.

Liebe Grüße
Steffen

Hallo Stifi,

schreib das mal Gerhard, der entwickelt das OpenHAB-Binding. Er kann bestimmt mehr zu dem Problem sagen, als ich. Aber schön, dass es funktioniert :slight_smile:! Wenn wieder irgendwas nicht läuft, sofort melden, dafür sind wir ja hier :wink:!

Liebe Grüße

Sathya

Hallo zusammen,

ich habe einen HM-Sec-SC-2, mit dem das identische Verhalten reproduzieren konnte.
Nachdem in der rf_sc.xml an der passenden Stelle die Konvertierung eingefügt habe, alles einmal durchgestartet habe, wurde immernoch der falsche Wert von STATE an openHab übermittelt. Erst als ich die Konvertierung wieder entfernt habe, alles einmal durchgestartet habe, kam der Wert korrekt an.

Das hört sich für mich nach einem generellen Problem an.

Installiert habe ich homegear in der aktuellen Version und betreibe es auf einem Raspberry Pi 2 mit openHab 1.7.1

homegear -v
Homegear version 0.5.25
Copyright (C) 2013-2015 Sathya Laufer

Gibt es an dieser Stelle, da das Thema doch etwas älter ist, bereits neue Erkenntnisse? :slight_smile:

Viele Grüße,
Daniel

Hallo Daniel,

nein, von meiner Seite aus nicht, ich hatte im letzten halben Jahr leider keine Zeit, mich mit dem Thema zu beschäftigen.

Da ich openHAB auf einer Intel NUC betreibe, die außerdem owncloud, Mailserver und Mediacenter Kodi sein sollte, hatte ich nach jedem Ubuntu Update Probleme, dass irgendwas nicht lief oder ebenfalls upgedated werden wollte :confused: Daher bin ich gerade dran, das auf mehrere Geräte zu verteilen und wollte in den nächsten Wochen dann auf einem RasPi gleich mit openHAB2 neu beginnen, dann kann ich wieder berichten, wie es gelaufen ist.

Viele Grüße
Steffen

Hallo Daniel,

auf meiner Seite gibt es keine neuen Erkenntnisse. Allerdings hat sich viel in Homegear 0.6 getan. Vielleicht löst das Update das Problem. Zur OpenHAB-Seite kann ich leider nichts sagen. Auf Homegear-Seite kann ich mir das Log ansehen und schauen, ob STATE richtig verarbeitet wurde.

Viele Grüße

Sathya

Mit der 0.6 habe ich zu diesem Thema keine Probleme. Unter der 0.5 hatte ich das auchmal.

Thomas