Ankündigung

Einklappen
Keine Ankündigung bisher.

Homematic HM-ES-PMSw1

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

    Homematic HM-ES-PMSw1

    Hallo,

    ich habe mit dem Release 1.4 versucht den neuen Schaltaktor mit Energiemessung zu nutzen.

    Der Schaltkanal hat sofort funktioniert:

    Code:
    Switch S_TESTS "Testschalter" (C_Office) {homematic="id=KEQ0965514, channel=1, parameter=STATE"}
    Der Kanal 2 hat drei weitere Parameter, die mich interessieren:
    - POWER
    - CURRENT
    - VOLTAGE

    Da diese Parameter im Binding nicht bekannt sind, habe ich versucht nach folgender Anleitung vorzugehen:

    https://groups.google.com/forum/#!to...ab/KAfH32TPz1Y

    You can use it with binding definitions like this:

    {homematic="id=ABC1234567, channel=1, parameter=RAINING, converter=BooleanOnOffConverter"}
    {homematic="id=ABC1234567, channel=1, parameter=RAIN_COUNTER, converter=TemperatureConverter"}
    {homematic="id=ABC1234567, channel=1, parameter=WIND_DIRECTION, converter=IntegerDecimalConverter"}
    {homematic="id=ABC1234567, channel=1, parameter=WIND_DIRECTION_RANGE, converter=IntegerDecimalConverter"}
    {homematic="id=ABC1234567, channel=1, parameter=WIND_SPEED, converter=TemperatureConverter"}
    {homematic="id=ABC1234567, channel=1, parameter=SUNSHINEDURATION, converter=IntegerDecimalConverter"}
    In meinem Versuch:
    Code:
    Number S_CURRENT   				"Spannung [%.1f V]" 			 (C_Office) 	{homematic="id=KEQ0965514, channel=2, parameter=CURRENT, converter=IntegerDecimalConverter"}
    Der Converter kann jedoch nicht gefunden werden:

    13:26:48.237 ERROR o.o.b.h.i.c.HomematicGenericBindingProvider[:134] - Could not instanciate covnerter IntegerDecimalCon
    verterjava.lang.ClassNotFoundException: org.openhab.binding.homematic.internal.converter.I ntegerDecimalConverter
    at org.eclipse.osgi.internal.loader.BundleLoader.find ClassInternal(BundleLoader.java:501)


    Werte werden an Openhab übergeben, können jedoch nicht interpretiert werden:

    13:46:57.560 WARN o.o.b.h.i.bus.HomematicBinding[:200] - No converter found for {deviceId=KEQ0965514, channelId=2, parameterId=CURRENT} - doing nothing.

    Vorschläge?

    #2
    Detaillierte Kanalinformation von EQ3 zu HM-ES-PMSw1

    Kanal 2:

    Parameter ENERGY_COUNTER
    Typ: float

    Minimaler Wert: 0.0
    Maximaler Wert: 838860.7
    Einheit: Wh

    Parameter POWER
    Typ: float
    Minimaler Wert: 0.00
    Maximaler Wert: 167772.15
    Einheit: W

    Parameter CURRENT
    Typ: float
    Minimaler Wert: 0.0
    Maximaler Wert: 65535.0
    Einheit: mA

    Parameter VOLTAGE
    Typ: float
    Minimaler Wert: 0.0
    Maximaler Wert: 6553.5
    Einheit: V

    Parameter FREQUENCY
    Typ: float
    Minimaler Wert: 48.72
    Maximaler Wert: 51.27
    Einheit: Hz

    Erstaunlich, was die kleine Box alles messen kann.

    Sascha.

    Kommentar


      #3
      Nächster Versuch...

      Ich habe im Binding die Datei HM-LC-Bl1-FM.XML durch meine eigen Version ersetzt.

      Code:
      <?xml version="1.0" encoding="UTF-8"?>
      <device name="HM-LC-Bl1-FM" 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>
      Im Debug mode dann wieder ein Fehlschlag zu sehen : "Could not retrieve Paramset for device of VALUES for device at ..."


      Code:
      18:21:40.539 DEBUG o.o.b.h.i.c.l.ConverterLookup[:69] - Configuring item S_CURRENT on address {deviceId=KEQ0965514, chan
      nelId=2, parameterId=CURRENT}
      18:21:40.540 DEBUG o.o.b.h.internal.ccu.CCURF[:119] - listing physical device with address KEQ0965514
      18:21:40.541 DEBUG o.o.b.h.internal.ccu.CCURF[:124] - device KEQ0965514 not found in cache - trying to load ...
      18:21:40.541 DEBUG o.o.b.h.i.x.XmlRpcConnectionRF[:59] - called getDeviceDescription: KEQ0965514
      18:21:40.544 DEBUG o.o.b.h.i.x.XmlRpcConnectionRF[:97] - called getParamsetDescription: KEQ0965514, MASTER
      18:21:40.546 DEBUG o.o.b.h.i.x.XmlRpcConnectionRF[:59] - called getDeviceDescription: KEQ0965514:0
      18:21:40.548 DEBUG o.o.b.h.i.x.XmlRpcConnectionRF[:97] - called getParamsetDescription: KEQ0965514:0, VALUES
      18:21:40.551 INFO  o.o.b.h.i.x.XmlRpcConnectionRF[:81] - called getParamset: KEQ0965514:0, VALUES
      18:21:40.554 DEBUG o.o.b.h.i.x.XmlRpcConnectionRF[:97] - called getParamsetDescription: KEQ0965514:0, MASTER
      18:21:40.556 DEBUG o.o.b.h.i.x.XmlRpcConnectionRF[:59] - called getDeviceDescription: KEQ0965514:1
      18:21:40.559 DEBUG o.o.b.h.i.x.XmlRpcConnectionRF[:97] - called getParamsetDescription: KEQ0965514:1, VALUES
      18:21:40.562 INFO  o.o.b.h.i.x.XmlRpcConnectionRF[:81] - called getParamset: KEQ0965514:1, VALUES
      18:21:41.221 DEBUG o.o.b.h.i.x.c.CallbackServer[:136] - called event (Boolean) => dispatching to event (Object)
      18:21:41.226 DEBUG o.o.b.h.i.x.c.CallbackServer[:45] - dispatching event to 2 receivers
      18:21:41.228 DEBUG o.o.b.h.internal.ccu.CCURF[:189] - received callback event 192.168.1.107:9123/OPENHAB for device KEQ0
      965514:0#UNREACH with value true
      18:21:41.228 DEBUG o.o.b.h.i.d.c.AbstractHMChannel[:62] - Could not retrieve Paramset for device of VALUES for device at
       KEQ0965514:1: org.openhab.binding.homematic.internal.xmlrpc.HomematicBindingException: org.apache.xmlrpc.XmlRpcExceptio
      n: Failure
      18:21:41.228 DEBUG o.o.b.h.i.x.c.CallbackServer[:136] - called event (Boolean) => dispatching to event (Object)
      18:21:41.231 DEBUG o.o.b.h.i.x.XmlRpcConnectionRF[:97] - called getParamsetDescription: KEQ0965514:1, MASTER
      18:21:41.230 DEBUG o.o.b.h.i.bus.HomematicBinding[:194] - Received new value true for device at {deviceId=KEQ0965514, ch
      annelId=0, parameterId=UNREACH}
      18:21:41.232 DEBUG o.o.b.h.i.x.c.CallbackServer[:45] - dispatching event to 2 receivers
      18:21:41.236 DEBUG o.o.b.h.internal.ccu.CCURF[:189] - received callback event 192.168.1.107:9123/OPENHAB for device KEQ0
      965514:0#STICKY_UNREACH with value true
      18:21:41.237 DEBUG o.o.b.h.i.bus.HomematicBinding[:194] - Received new value true for device at {deviceId=KEQ0965514, ch
      annelId=0, parameterId=STICKY_UNREACH}
      18:21:41.239 DEBUG o.o.b.h.i.x.XmlRpcConnectionRF[:59] - called getDeviceDescription: KEQ0965514:2
      18:21:41.243 DEBUG o.o.b.h.i.x.XmlRpcConnectionRF[:97] - called getParamsetDescription: KEQ0965514:2, VALUES
      18:21:41.248 INFO  o.o.b.h.i.x.XmlRpcConnectionRF[:81] - called getParamset: KEQ0965514:2, VALUES
      18:21:42.076 DEBUG o.o.b.h.i.d.c.AbstractHMChannel[:62] - Could not retrieve Paramset for device of VALUES for device at
       KEQ0965514:2: org.openhab.binding.homematic.internal.xmlrpc.HomematicBindingException: org.apache.xmlrpc.XmlRpcExceptio
      n: Failure
      Die Anleitung zum Anfragen neuer Devices habe ich nicht verstanden. Gibt es da eine etwas ausführlichere Version?

      Sascha.

      Kommentar


        #4
        Hi Sascha,

        Zitat von swerner Beitrag anzeigen
        Nächster Versuch...

        Ich habe im Binding die Datei HM-LC-Bl1-FM.XML durch meine eigen Version ersetzt.

        Code:
        <?xml version="1.0" encoding="UTF-8"?>
        <device name="HM-LC-Bl1-FM" type="Switch and Metering">
        Sascha.
        schau mal in dein homematic_ccu_2014*.sbk (ist nur ne gepackte datei)

        in der usr_local.tar.gz gibt es unter /usr/local/config/etc/rfd/ eine datei K*.dev die so heisst wie dein neuer aktor da steht drin wie dein gerät offiziell heisst und das sollte in dem xml file auch genau so drin stehen denke ich.

        Gruss
        Falk

        Kommentar


          #5
          devicetypes

          Hi,

          ich habe den Lan Adapter mit dem BidCos Service unter Windows installiert.

          Die Device Konfigurationen liegen im Ordner "devicetypes".

          In der Datei rf_es_pmsw.xml existieren zwei Namen:
          - HM-ES-PMSw1-Pl
          - HM-ES-PMSwX

          Ich probiere beide mal und poste dann das Ergebnis.

          Sascha.

          Kommentar


            #6
            Hi Sascha,

            Zitat von swerner Beitrag anzeigen
            Hi,

            ich habe den Lan Adapter mit dem BidCos Service unter Windows installiert.

            Die Device Konfigurationen liegen im Ordner "devicetypes".
            ok, das teil hab ich nicht am laufen

            Zitat von swerner Beitrag anzeigen
            Hi,

            Ich probiere beide mal und poste dann das Ergebnis.
            fein

            Zitat von swerner Beitrag anzeigen
            Hi,

            <converter forType="DecimalType"> <className>org.openhab.binding.homematic.internal.converter.state.Temper atureConverter</className> </converter>

            Sascha.
            auch wenn ein temperatur converter ein sinnvoller float converter sein könnte zumindest schaut er so aus, so könnte es auch sein das ein passender converter auch noch anders heissen könnte, aber das musst Du entweder Thomas fragen oder selber mal im Quellcode nach den verfügbaren convertern suchen.

            ein ganz heisser Kandidat ist imho noch der DoubleDecimalConverter
            Die Fehlermeldung geht jedenfalls vordergründig in diese Richtung ... aber erst wenn der Name stimmt.

            Gruss
            Falk

            Kommentar


              #7
              Hi Sascha,

              ich seh grad das wird möglicherweise auch dann noch nicht gehen ...

              siehe:

              https://github.com/openhab/openhab/b...ameterKey.java
              public enum ParameterKey {


              PRESS_LONG, PRESS_LONG_RELEASE, TEMPERATURE, PRESS_SHORT, HUMIDITY, LEVEL, STATE, BRIGHTNESS, MOTION, SETPOINT, VALVE_STATE, STOP, WORKING, INSTALL_TEST, PRESS_CONT, ERROR, UNREACH, LOWBAT, MODE_TEMPERATUR_VALVE


              }

              ich weis nicht ob die xml files das übersteuern können, wenn nicht müsstest Du deine neuen ParameterKeys hier auf jeden fall noch ergänzen.


              Gruss
              Falk

              Kommentar


                #8
                Habe es gerade getestet - auch bei richtigem Namen kein Erfolg.

                Die Datei ist nun wie folgt aufgebaut:

                Code:
                <?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>
                Da ich keine eigene Entwicklungsumgebung habe, fällt mir das schwer die weiteren Parameter in die Klasse einzutragen.
                @FSTEC: Kannst du mich dabei unterstützen?

                Sascha.

                Kommentar


                  #9
                  Energiemessung mit Homematic funktioniert

                  ... und es funktioniert jetzt :-)

                  Die Items habe ich wie folgt aufgebaut:

                  Code:
                  Number S_POWER   				"Leistung [%.1f W]" 			 (C_Office) 	{homematic="id=KEQ0965514,channel=2,parameter=POWER,converter=DoubleDecimalConverter" } 
                  Number S_CURRENT   				"Strom [%.1f mA]" 			 (C_Office) 	{homematic="id=KEQ0965514,channel=2,parameter=CURRENT,converter=DoubleDecimalConverter" } 
                  Number S_VOLTAGE   				"Spannung [%.1f V]" 			 (C_Office) 	{homematic="id=KEQ0965514,channel=2,parameter=VOLTAGE,converter=DoubleDecimalConverter" } 
                  Number S_FREQUENCY   				"Frequenz [%.1f Hz]" 			 (C_Office) 	{homematic="id=KEQ0965514,channel=2,parameter=FREQUENCY,converter=DoubleDecimalConverter" }
                  Ich kann noch nicht erklären was genau notwendig ist,um einen neuen Sensor/Aktor Typ einzubinden. Ich baue mein Test zurück und finde den kürzesten Weg. Danach kann das dann dokumentiert werden.

                  Ich vermute, dass man auf diesem Weg jedes Homematic Device nutzen kann.

                  Sascha.

                  Kommentar


                    #10
                    Hi Sascha,

                    Gute Arbeit!

                    ich habs mal im wiki ergänzt, da darf sowieso noch einiges hinzugefügt werden.

                    Gruss
                    Falk

                    Kommentar


                      #11
                      Hallo Zusammen,

                      ich habe mich auch an der Integration versucht, funktioniert bei mir aber leider nicht mit der Beschreibung im Wiki. Muss im Binding noch etwas geändert werden?

                      Danke für einen kurzen Denkanstoß.

                      Michael

                      Kommentar


                        #12
                        Hallo,

                        bei der aktuellen Seitenstruktur finde ich nicht einmal den Wiki Eintrag.

                        Wenn jemand die URL hier ergänzt, dann schaue ich mir das gerne an.

                        Sascha.

                        Kommentar


                          #13
                          Hallo,

                          hier der Link zum Wiki

                          https://github.com/openhab/openhab/w...ematic-Binding

                          Noch zur Info, ich verwende openhab 1.4.

                          Danke!

                          Kommentar


                            #14
                            OK,

                            das ist das allgemeine Wiki, dort steht nichts von dem Sensor ...

                            Geht es um den Sensor im Thread oder allgemein um Homematic?

                            Sascha.

                            Kommentar


                              #15
                              Hm,

                              ich war der Meinung, das hier https://github.com/openhab/openhab/w...easure-values- ein Beispiel für den hm-es-pmsw1 steht?

                              Mir ist auch noch nicht ganz klar, welchen Converter ich bei neuen oder unbekannten homematic Devices verwenden kann, gibt es da eine Übersicht oder eine kurze Erklärung zu den einzelnen Konvertern?

                              Kommentar

                              Lädt...
                              X