Ankündigung

Einklappen
Keine Ankündigung bisher.

openHAB + HomeMatic = es läuft einfach nicht rund

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    openHAB + HomeMatic = es läuft einfach nicht rund

    Hallo zusammen,

    ich habe Homematic in Kombination mit openHAB eigentlich von Anfang an zum laufen gebracht. Hatte damals glaub ich mit Version 1.2 angefangen.
    Irgendwann im Laufe der Version 1.3 bin ich dann auf Probleme gestoßen die regelmässig dazu geführt haben das ersten die Homematic Items in openHAB nicht mehr wirklich aktualisiert wurden und meine CCU sich ständig aufgegangen hat (nach Deaktivierung der Stellantriebe und Wandthermostatet konnte ich damals zumindest bei mir die Probleme in den Griff bekommen).
    Als ich dann vor einer Weile zur 1.4er gewechselt habe und meine openHAB Konfiguration etwas aufgeräumt habe, lief dann wieder alles wie gewünscht (inklusive Stellantriebe und Wandthermostate). Habe dann eine ganze Weile openHAB durchlaufen lassen ohne eine Neustart durchzuführen. Vor kurzem musste ich aber meine Synology RackStation auf Grund einer anderen Sache komplett durchstarten. Seit dem Zeitpunkt ist es irgendwie ein Glücksspiel ob beim Hochfahren von openHAB die Homematic Items richtig eingebunden werden bzw. überhaupt irgendwelche Werte anzeigen. Zusätzlich verabschiedet sich dazu weiterhin die CCU. Nach dem x-ten Versuch openHAB neu zu starten, ging es dann auf einmal scheinbar wieder bis sich nach zwei Tage wieder alles verabschiedet hatte.

    Mich irritieren irgendwie auch die vielen Logeinträge mit dem Log-Level WARN wo es heisst: "No item converter found for item ......"

    Hat jemand von euch eventuell ähnliche Erfahrungen gemacht?

    #2
    Mich irritieren irgendwie auch die vielen Logeinträge mit dem Log-Level WARN wo es heisst: "No item converter found for item ......"
    das ist erst seit dem 1.4 Release.


    Keine Ahnung was da nun anders ist, ich verwende immer noch den 1.4 Snapshot

    Kommentar


      #3
      Hi,

      Zitat von milymat Beitrag anzeigen
      Keine Ahnung was da nun anders ist, ich verwende immer noch den 1.4 Snapshot
      kannst Du sagen, welchen Build Du verwendest (vom welchem Datum?)

      Gruß,

      Thomas E.-E.
      Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

      Kommentar


        #4
        Das Änderungsdatum sagt: 30. Dezember 2013 03:21

        Habs mal angehängt.

        Einfach in .jar umbenennen.

        Mit dem Binding läuft alles fein.
        Angehängte Dateien

        Kommentar


          #5
          Auch mit der Snapshot-Version scheint das in meinem Fall nicht zu laufen.
          Ich musste alleine heute meine CCU bestimmt 5-6 Mal durchstarten da irgendetwas aus openHAB heraus dafür gesorgt hat das sich die CCU aufgehängt hat. Habe dann wieder Schritt für Schritt einzelne Device-Gruppen in openHAB deaktiviert. Mittlerweile habe ich die Stellantriebe, Bewegungsmelder und nun auch die Thermostate deaktiviert und siehe da auf einmal kann ich openHAB starten und die verbliebenen Homematic-Geräte wie Fensterkontakte, Lichter und Aussentemperatursensoren steuern/überwachen.

          Das ist mittlerweile leider ziemlich frustrierend. Wenn ich zumindest wüsste welche Konstellation genau so problematisch ist!? Ist die Homematic Doku im Wiki aktuell?

          Kann eventuell jemand der Stellantriebe und Thermostate im Einsatz hat mal seine Items Datei hochladen damit ich das mit meiner Definition vergleichen kann?

          Kommentar


            #6
            Habe heute ma ein paar Tests mit der 1.5er Snapshot Version gemacht.

            Wenn ich die Homematic Thermostate in der openHAB Items Datei deaktiviere dann scheint das zu laufen. Sobald ich die Thermostate aktiviere erscheint kurz darauf im openHAB Logfile folgender Fehler und die CCU verabschiedet sich:


            12:38:36.055 ERROR o.o.m.i.b.AbstractGenericBindingProvider[:110] - Binding org.openhab.binding.homematic.internal.bus.Homemat icBinding threw an exception:
            java.lang.NullPointerException: null
            at org.openhab.binding.homematic.internal.converter.l ookup.StateConverterLookupByConfiguredDevices.getB indingValueToStateConverter(StateConverterLookupBy ConfiguredDevices.java:107)
            12:38:37.384 ERROR o.o.m.i.b.AbstractGenericBindingProvider[:110] - Binding org.openhab.binding.homematic.internal.bus.Homemat icBinding threw an exception:
            java.lang.NullPointerException: null
            at org.openhab.binding.homematic.internal.converter.l ookup.StateConverterLookupByConfiguredDevices.getB indingValueToStateConverter(StateConverterLookupBy ConfiguredDevices.java:107)

            Kommentar


              #7
              Ich häng mich auch mal hier mit rein, da wir das gleiche Problem haben.

              Eigentlich lief alles rund mit 1.3er Version. Da ich mir den neuen HomeMatic Funk-Schaltaktor mit Leistungsmessung geholt habe, habe ich gleich die OpenHab Version auf 1.4 angehoben. Nun geht bei mir gar nichts mehr. Da ich hierzu keine weiteren Infos gefunden habe, habe ich selber mal auf die Fehlersuche begeben.

              Zum einem wird wohl mein neuer Funk-Schaltaktor mit Leistungsmessung noch nicht unterstützt. Ich habe das Homaticbinding entsprechend erweitert. Das geht nun jetzt.

              Das zweite Problem hat mich etwas mehr Zeit gekostet, um es zu analysieren, da ich zuerst dachte, dass das mit meinem Fix mit dem Funk-Schaltaktor zu tun hatte. Ich bin auf die folgende Methode in der Klasse HomematicBinding gestoßen. Dieser initialisiert die Verbindung zur CCU:

              public void updated(Dictionary<String, ?> config)

              Diese Methode müßte eigentlich initial als erstes aufgerufen werden. Das scheint nicht der Fall zu sein. Da dann die Verbindung zur CCU nicht initialisiert ist, schlagen die anderen Methodenaufrufe, wie z.B. "public void allBindingsChanged(BindingProvider provider)", fehl. Dies führt dann zu den bekannten Fehlermeldungen.

              Weiter bin ich in der kurzen Zeit nicht gekommen. Vielleicht hilft das euch weiter, den Fehler zu fixen. Ich werde mich erst nächstes Wochenende weiter damit beschäftigen können.

              Kommentar


                #8
                Wenigstens stehe ich mit meinen Probleme nicht alleine da :-)

                Werde demnächst auf jeden Fall mal auch eine aktuelle 1.5er Entwicklungsumgebung aufsetzen und schauen ob ich noch irgendwas herausfinden kann.

                Kommentar


                  #9
                  Zitat von Sivarupan Beitrag anzeigen
                  Eigentlich lief alles rund mit 1.3er Version. Da ich mir den neuen HomeMatic Funk-Schaltaktor mit Leistungsmessung geholt habe, habe ich gleich die OpenHab Version auf 1.4 angehoben. Nun geht bei mir gar nichts mehr. Da ich hierzu keine weiteren Infos gefunden habe, habe ich selber mal auf die Fehlersuche begeben.
                  Den neuen Aktor habe ich auch. Damit der läuft habe ich in die JAR Datei einfach eine Konfiguration für den Aktor gelegt.

                  Die Version 1.4 scheint ja die converter=xy nicht mehr richtig auszuwerten.

                  Ich habe nach 20 Jahren als Informatiker mich immer noch nicht an Java rangetraut. Naja, ist ja bald Rente - dafür muss man noch was interessantes aufheben.

                  Sascha.

                  Kommentar


                    #10
                    swerner poste doch auch mal deine Konfiguration ... Danke !!

                    Kommentar


                      #11
                      Hi,

                      in diesem Thread hatte ich meinen Weg dokumentiert:

                      https://knx-user-forum.de/openhab/33...s-pmsw1-2.html

                      Erfolg hat erst das Einfügen einer eigenen Definition für das Device in die .jar Datei des Homemmatic Addins gebracht:

                      HM-LC-Bl1PBU-FM.xml

                      Code:
                      SERVER (09:39):
                      <?xml version="1.0" encoding="UTF-8"?>
                      <device name="HM-ES-PMSw1-Pl" type="Switch and Metering">
                          <channel name="2">
                              <parameter name="ENERGY_COUNTER">
                                  <converter forType="DecimalType">
                                      <className>org.openhab.binding.homematic.internal.converter.state.TemperatureConverter</className>
                                  </converter>
                              </parameter>
                              <parameter name="POWER">
                                  <converter forType="DecimalType">
                                      <className>org.openhab.binding.homematic.internal.converter.state.TemperatureConverter</className>
                                  </converter>
                              </parameter>
                              <parameter name="CURRENT">
                                  <converter forType="DecimalType">
                                      <className>org.openhab.binding.homematic.internal.converter.state.TemperatureConverter</className>
                                  </converter>
                              </parameter>
                              <parameter name="VOLTAGE">
                                  <converter forType="DecimalType">
                                      <className>org.openhab.binding.homematic.internal.converter.state.TemperatureConverter</className>
                                  </converter>
                              </parameter>
                              <parameter name="FREQUENCY">
                                  <converter forType="DecimalType">
                                      <className>org.openhab.binding.homematic.internal.converter.state.TemperatureConverter</className>
                                  </converter>
                              </parameter>
                                </channel>
                      </device>
                      So sieht das Ergebnis aus (Stromverbrauch Server):

                      Energiemessung.PNG


                      Sascha.

                      Kommentar


                        #12
                        Hi Sascha,

                        Zitat von swerner Beitrag anzeigen
                        Hi,


                        Erfolg hat erst das Einfügen einer eigenen Definition für das Device in die .jar Datei des Homemmatic Addins gebracht:

                        HM-LC-Bl1PBU-FM.xml

                        Sascha.
                        das war mir letztens als ich den Wiki Eintrag ergänzt hatte nicht wirklich klar das das xml dann noch nötig war als du die converter in dem items file ergänzt hattest. ich hab dieses Device derzeit nicht ...
                        Hab dann gestern im wiki noch einen Hinweis auf diese Seite hinterlassen bei dem Messaktor.
                        Übrigens kannst Du dort auch schreiben ein einfacher kostenloser GitHub Account reicht dafür völllig aus.

                        Weiter vorne in diesem Thread hat auch jemand über Temperaturregler gejammert, das kann ich seit gestern nachvollziehen. Für mich schaut das so aus als ob das Problem auftritt sobald float Werte ins Spiel kommen.

                        Beispiel:
                        HM-TC-IT-WM-W-EU (brand new)
                        sobald man auch nur einen temperaturwert in openhab einträgt

                        Number blah "blah [%.1f]" (Gruppe) {homematic="id=XXX000000, channel=1 parameter=TEMPERATURE}

                        schaut es so aus als würde es funktionieren, die temperaturen werden brav ausgelesen, auch ein 2. Wert HUMIDITY geht problemlos. Nur was man dabei in der ersten Euphorie übersieht ist das offenbar größere Nebenwirkungen von diesen floats ausgehen. Bei mir z.b. werden anschließend keinerlei rules mehr ausgeführt. Einen erhellenden Eintrag im Logfile sehe ich auch nicht.

                        An Versionen verwende ich derzeit oh1.4, halbwegs aktuelle ccu2 fw 2.7.16 und das Ganze auf einem cubietruck.

                        Die ccu2 fw 2.7.17 probier ich heute noch, aber ich tippe bei diesem bug eher auf openhab.

                        Falls ich irgendwie noch mehr zur Fehlersuche beitragen kann bitte melden.

                        Noch eine einfache Frage zur Eingrenzung des Problembären:
                        Was passiert wenn man einen reinen Temperatursensor in eine 1.4 hinein konfiguriert? Geht das ohne Nebenwirkungen oder kracht das auch?

                        Gruss
                        Falk

                        Kommentar


                          #13
                          Hallo,

                          also mit swerner Änderungen hatte ich bisher keinen Erfolg. Eventuell könntest du mal das jar File hochladen.

                          Hat sich schon mal jemand die Mühe gemacht in den Verlauf des Plugins zu schauen. Eventuell sieht man eine Änderung die das ganze Chaos verursacht.

                          Gruß Moe

                          Kommentar


                            #14
                            Hi,

                            hier die gezippte JAR Datei, die ich verwende:

                            org.openhab.binding.homematic-1.4.0.jar.zip

                            In dieser habe ich die Datei HM-LC-Bl1-FM.xml gegen meine eigene Definition vom HM-ES-PMSw1-Pl ausgetauscht. Die Datei HM-LC-Bl1-FM_org.xml enhält das Original. Damit konnte ich die neuen Parameter des HM-ES-PMSw1-Pl auslesen.

                            Sascha.

                            Kommentar


                              #15
                              Danke swerner,

                              leider hilft das auch nichts. Bei "deinem" Binding werden absolut gar keine Werte mehr an angezeigt. Sobald ich das "normale" Binding lade, bekomme ich eine flut an Werten.

                              Wenn ich mir den Log anschaue bekomme ich auch folgende Meldung mit dem normalen Plugin. Wenn ich mir aber die Sourcen ansehe finde ich die Klasse auf anhieb. Sehr merkwürdig.
                              Code:
                              15:51:27.514 ERROR o.o.b.h.i.c.HomematicGenericBindingProvider[:134] - Could not instanciate covnerter DoubleDecimalConverter
                              java.lang.ClassNotFoundException: org.openhab.binding.homematic.internal.converter.DoubleDecimalConverter
                                      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
                                      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
                                      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
                                      at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
                                      at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
                                      at java.lang.Class.forName0(Native Method)
                                      at java.lang.Class.forName(Class.java:188)
                                      at org.openhab.binding.homematic.internal.config.HomematicGenericBindingProvider.getConverter(HomematicGenericBindingProvider.java:132)
                                      at org.openhab.binding.homematic.internal.bus.HomematicBinding.configureConverterForItem(HomematicBinding.java:374)
                                      at org.openhab.binding.homematic.internal.bus.HomematicBinding.initializeDeviceAndParameters(HomematicBinding.java:367)
                                      at org.openhab.binding.homematic.internal.bus.HomematicBinding.queryAndSendAllActualStates(HomematicBinding.java:350)

                              Kommentar

                              Lädt...
                              X