Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Controllers
  3. OpenHAB
  4. openHAB 2.2 binding

openHAB 2.2 binding

Scheduled Pinned Locked Moved OpenHAB
132 Posts 32 Posters 58.2k Views 34 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L lesockz

    Hello,

    iam using "openHAB 2.2.0-1 (Release Build)" as openhabian on a PI3.

    i've installed "org.openhab.binding.mysensors-2.2.0-SNAPSHOT.jar" as explained in the instructions.

    configured the thing "MySensors Serial Gateway" to use "/dev/ttyACM0" with Baudrate "38400" because i'm using a pro micro with 8Mhz which isn't capable of 115200 (as far as i know).

    the Items got discovered fine.

    Atm i have only one item with

    #define CHILD_ID_TEMP 0
    unsigned long SLEEP_TIME = 3 * 1000; // Sleep time between reads (in milliseconds)
    
    MyMessage tempMsg(CHILD_ID_TEMP, S_TEMP);
    

    Presentation:

    void presentation()
    {
      // Send the sketch version information to the gateway and Controller
      sendSketchInfo("Temp/Hum/Pre Sensor", "1.2");
    
      // Register all sensors to gateway (they will be created as child devices)
      present(CHILD_ID_TEMP, S_TEMP);
    }
    

    and Loop:

      unsigned long currentTime = millis();
      temperature++;//bme.readTemperature();
    
    
        lastSend = currentTime;
        send(tempMsg.set(temperature, 2));
        lastTemp = temperature;
    
    
      sleep(SLEEP_TIME);
    

    This is my debug from "openhab-cli showlogs"

    2018-01-07 13:59:17.676 [DEBUG] [rsAbstractConnection$MySensorsReader] - Message from gateway received: 1;0;1;0;6;109.00
    2018-01-07 13:59:17.680 [DEBUG] [rs.internal.gateway.MySensorsGateway] - Node 1 found in gateway
    2018-01-07 13:59:17.683 [DEBUG] [rs.internal.gateway.MySensorsGateway] - Child 0 found in node 1
    2018-01-07 13:59:17.687 [WARN ] [rs.internal.gateway.MySensorsGateway] - Variable V_RAIN not present
    

    And this from Log Viewer

    2018-01-07 14:00:18.836 [DEBUG] [rs.internal.gateway.MySensorsGateway] - Node 1 found in gateway
    2018-01-07 14:00:18.841 [DEBUG] [rs.internal.gateway.MySensorsGateway] - Child 0 found in node 1
    2018-01-07 14:00:18.846 [WARN ] [rs.internal.gateway.MySensorsGateway] - Variable V_RAIN not present
    2018-01-07 14:00:27.561 [DEBUG] [rsAbstractConnection$MySensorsReader] - Message from gateway received: 0;255;3;0;9;TSF:MSG:READ,1-1-0,s=0,c=1,t=6,pt=7,l=5,sg=0:117.00
    2018-01-07 14:00:27.566 [DEBUG] [rsAbstractConnection$MySensorsReader] - Message from gateway received: 1;0;1;0;6;117.00
    2018-01-07 14:00:27.572 [DEBUG] [rs.internal.gateway.MySensorsGateway] - Node 1 found in gateway
    2018-01-07 14:00:27.577 [DEBUG] [rs.internal.gateway.MySensorsGateway] - Child 0 found in node 1
    2018-01-07 14:00:27.582 [WARN ] [rs.internal.gateway.MySensorsGateway] - Variable V_RAIN not present
    2018-01-07 14:00:36.301 [DEBUG] [rsAbstractConnection$MySensorsReader] - Message from gateway received: 0;255;3;0;9;TSF:MSG:READ,1-1-0,s=0,c=1,t=6,pt=7,l=5,sg=0:118.00
    2018-01-07 14:00:36.308 [DEBUG] [rsAbstractConnection$MySensorsReader] - Message from gateway received: 1;0;1;0;6;118.00
    2018-01-07 14:00:36.311 [DEBUG] [rs.internal.gateway.MySensorsGateway] - Node 1 found in gateway
    2018-01-07 14:00:36.315 [DEBUG] [rs.internal.gateway.MySensorsGateway] - Child 0 found in node 1
    2018-01-07 14:00:36.318 [WARN ] [rs.internal.gateway.MySensorsGateway] - Variable V_RAIN not present
    2018-01-07 14:00:45.034 [DEBUG] [rsAbstractConnection$MySensorsReader] - Message from gateway received: 0;255;3;0;9;TSF:MSG:READ,1-1-0,s=0,c=1,t=6,pt=7,l=5,sg=0:119.00
    2018-01-07 14:00:45.037 [DEBUG] [rsAbstractConnection$MySensorsReader] - Message from gateway received: 1;0;1;0;6;119.00
    2018-01-07 14:00:45.039 [DEBUG] [rs.internal.gateway.MySensorsGateway] - Node 1 found in gateway
    2018-01-07 14:00:45.042 [DEBUG] [rs.internal.gateway.MySensorsGateway] - Child 0 found in node 1
    2018-01-07 14:00:45.045 [WARN ] [rs.internal.gateway.MySensorsGateway] - Variable V_RAIN not present
    

    So from log i can see Temp is counting up. but in "Paper Ui"

    i always get "Temperature -NaN °C" or "Temperature 0 °C"

    Please correct me if this is the wrong place for this question.

    Greets Andi

    T Offline
    T Offline
    TimO
    Hero Member
    wrote on last edited by
    #86

    Hello @lesockz !

    Well your node is sending V_RAIN instead of V_TEMP, so OpenHAB is not able to work with that.

    Try:

    MyMessage tempMsg(CHILD_ID_TEMP, V_TEMP);
    

    For presentation S_TEMP (== 6) is used, while for set messages V_TEMP (==0) is used.

    1 Reply Last reply
    0
    • mythbaiM mythbai

      @mythbai said in openHAB 2.2 binding:

      After upgrade OH to 2.2 stable release. (2.2_01). I'm having the same issue that zwave binding not working. After Mysensors binding is installed and gateway configured. There is only one serial port visiable in PaperUI, which is /dev/ttyUSB0 that is configured for the serial gateway. I'm using org.openhab.binding.mysensors-2.2.0-SNAPSHOT-serial-fix.jar.

      Also the old 2.1 snapshot version doesn't work either. anyone else experience this issue?

      Up my own post. Not many users are using Zwave dongle and Mysensors at the same time? I feel this forum or trend is dead... This problem is driving me crazy, render all my mysensors useless. I'm trying to build a ethernet gateway now...

      T Offline
      T Offline
      TimO
      Hero Member
      wrote on last edited by TimO
      #87

      @mythbai While the code for the serial connection in the binding was unchanged for a while it definatly issn't working now together with zwave binding.

      Some time ago I've prepared a change of the serial library the binding is using. A few first tests looked promising but I didn't find the time to test it. So lets give it a new try: could you please test this binding: OH2 Binding with Serial Refactoring

      Please remove the old binding with bundle:list, bundle:remove ID before installing the new one.

      mythbaiM 1 Reply Last reply
      0
      • jocke4uJ Offline
        jocke4uJ Offline
        jocke4u
        wrote on last edited by
        #88

        I am moving the topic here as more appropriate :) (old ref)

        I have OH v2.2 and latest MySensors 2.2.0 binding and my power sensors have stopped working.
        After some investigation it seems they cannot receive the old pulse count value and by that cannot start working.
        MySensors GW running 2.1.1 and the one power sensor I am testing also 2.1.1 (the rest 1.5.x)

        The debug (serial monitor) of the sensor shows that

        0 MCO:BGN:INIT NODE,CP=RNNNA--,VER=2.1.1
        3 TSM:INIT
        4 TSF:WUR:MS=0
        11 TSM:INIT:TSP OK
        13 TSM:INIT:STATID=5
        14 TSF:SID:OK,ID=5
        16 TSM:FPAR
        52 TSF:MSG:SEND,5-5-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        2060 !TSM:FPAR:NO REPLY
        2062 TSM:FPAR
        2098 TSF:MSG:SEND,5-5-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        2983 TSF:MSG:READ,0-0-5,s=255,c=3,t=8,pt=1,l=1,sg=0:0
        2989 TSF:MSG:FPAR OK,ID=0,D=1
        4106 TSM:FPAR:OK
        4107 TSM:ID
        4108 TSM:ID:OK
        4110 TSM:UPL
        4147 !TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=NACK:1
        6154 TSM:UPL
        6159 TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=1,st=OK:1
        6168 TSF:MSG:READ,0-0-5,s=255,c=3,t=25,pt=1,l=1,sg=0:1
        6173 TSF:MSG:PONG RECV,HP=1
        6175 TSM:UPL:OK
        6177 TSM:READY:ID=5,PAR=0,DIS=1
        6182 TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
        6189 TSF:MSG:READ,0-0-5,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
        6232 !TSF:MSG:SEND,5-5-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=NACK:2.1.1
        6243 TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=1,st=OK:0
        6259 TSF:MSG:READ,0-0-5,s=255,c=3,t=6,pt=0,l=1,sg=0:M
        6305 !TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=11,pt=0,l=13,sg=0,ft=0,st=NACK:Heater Energy
        6349 !TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=1,st=NACK:2.0
        6391 !TSF:MSG:SEND,5-5-0-0,s=0,c=0,t=13,pt=0,l=0,sg=0,ft=2,st=NACK:
        6397 MCO:REG:REQ
        6435 !TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=3,st=NACK:2
        8476 !TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=4,st=NACK:2
        10486 TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=5,st=OK:2
        10493 TSF:MSG:READ,0-0-5,s=255,c=3,t=27,pt=1,l=1,sg=0:1
        10499 MCO:PIM:NODE REG=1
        10501 MCO:BGN:STP
        10528 TSF:MSG:SEND,5-5-0-0,s=0,c=2,t=24,pt=0,l=0,sg=0,ft=0,st=OK:
        Got Pulse
        10534 MCO:BGN:INIT OK,TSP=1
        Got Pulse
        Got Pulse
        Got Pulse
        Got Pulse
        Got Pulse
        Got Pulse
        No count received. Try requesting it again
        30570 !TSF:MSG:SEND,5-5-0-0,s=0,c=2,t=24,pt=0,l=0,sg=0,ft=0,st=NACK:
        Got Pulse
        Got Pulse
        Got Pulse
        Got Pulse
        Got Pulse
        Got Pulse
        Got Pulse
        No count received. Try requesting it again
        50546 TSF:MSG:SEND,5-5-0-0,s=0,c=2,t=24,pt=0,l=0,sg=0,ft=1,st=OK:
        Got Pulse
        

        The sketch looks like this:

        /**
         * The MySensors Arduino library handles the wireless radio link and protocol
         * between your home built sensors/actuators and HA controller of choice.
         * The sensors forms a self healing radio network with optional repeaters. Each
         * repeater and gateway builds a routing tables in EEPROM which keeps track of the
         * network topology allowing messages to be routed to nodes.
         *
         * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
         * Copyright (C) 2013-2015 Sensnology AB
         * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
         *
         * Documentation: http://www.mysensors.org
         * Support Forum: http://forum.mysensors.org
         *
         * This program is free software; you can redistribute it and/or
         * modify it under the terms of the GNU General Public License
         * version 2 as published by the Free Software Foundation.
         *
         *******************************
         *
         * REVISION HISTORY
         * Version 1.0 - Henrik EKblad
         *
         * DESCRIPTION
         * This sketch provides an example how to implement a distance sensor using HC-SR04
         * Use this sensor to measure KWH and Watt of your house meeter
         * You need to set the correct pulsefactor of your meeter (blinks per KWH).
         * The sensor starts by fetching current KWH value from gateway.
         * Reports both KWH and Watt back to gateway.
         *
         * Unfortunately millis() won't increment when the Arduino is in
         * sleepmode. So we cannot make this sensor sleep if we also want
         * to calculate/report watt-number.
         * http://www.mysensors.org/build/pulse_power
         */
        
        // Enable debug prints
        #define MY_DEBUG
        
        // Enable and select radio type attached
        #define MY_RADIO_NRF24
        //#define MY_RADIO_RFM69
        
        #define MY_NODE_ID 5
        #include <MySensors.h>
        
        #define DIGITAL_INPUT_SENSOR 3  // The digital input you attached your light sensor.  (Only 2 and 3 generates interrupt!)
        #define PULSE_FACTOR 1000       // Nummber of blinks per KWH of your meeter
        #define MAX_WATT 10000          // Max watt value to report. This filetrs outliers.
        
        #define CHILD_ID 0              // Id of the sensor child
        
        unsigned long SEND_FREQUENCY =
            20000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway.
        double ppwh = ((double)PULSE_FACTOR)/1000; // Pulses per watt hour
        bool pcReceived = false;
        volatile unsigned long pulseCount = 0;
        volatile unsigned long lastBlink = 0;
        volatile unsigned long watt = 0;
        unsigned long oldPulseCount = 0;
        unsigned long oldWatt = 0;
        double oldKwh;
        unsigned long lastSend;
        MyMessage wattMsg(CHILD_ID,V_WATT);
        MyMessage kwhMsg(CHILD_ID,V_KWH);
        MyMessage pcMsg(CHILD_ID,V_VAR1);
        
        
        void setup()
        {
         
          // Fetch last known pulse count value from gw
          request(CHILD_ID, V_VAR1);
        
          // Use the internal pullup to be able to hook up this sketch directly to an energy meter with S0 output
          // If no pullup is used, the reported usage will be too high because of the floating pin
          pinMode(DIGITAL_INPUT_SENSOR,INPUT_PULLUP);
        
          attachInterrupt(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), onPulse, RISING);
          lastSend=millis();
        }
        
        void presentation()
        {
          // Send the sketch version information to the gateway and Controller
          sendSketchInfo("Heater Energy", "2.0");
        
          // Register this device as power sensor
          present(CHILD_ID, S_POWER);
        }
        
        void loop()
        {
          unsigned long now = millis();
          // Only send values at a maximum frequency or woken up from sleep
          bool sendTime = now - lastSend > SEND_FREQUENCY;
          if (pcReceived && sendTime) {
            // New watt value has been calculated
            if (watt != oldWatt) {
              // Check that we dont get unresonable large watt value.
              // could hapen when long wraps or false interrupt triggered
              if (watt<((unsigned long)MAX_WATT)) {
                send(wattMsg.set(watt));  // Send watt value to gw
              }
              Serial.print("Watt:");
              Serial.println(watt);
              oldWatt = watt;
            }
        
            // Pulse cout has changed
            if (pulseCount != oldPulseCount) {
              send(pcMsg.set(pulseCount));  // Send pulse count value to gw
              double kwh = ((double)pulseCount/((double)PULSE_FACTOR));
              oldPulseCount = pulseCount;
              if (kwh != oldKwh) {
                send(kwhMsg.set(kwh, 4));  // Send kwh value to gw
                oldKwh = kwh;
              }
            }
            lastSend = now;
          } else if (sendTime && !pcReceived) {
            // No count received. Try requesting it again
            Serial.println("No count received. Try requesting it again");
            request(CHILD_ID, V_VAR1);
            lastSend=now;
          }
        
        }
        
        void receive(const MyMessage &message)
        {
          Serial.print("MessageType:");
          Serial.println(message.type);
          Serial.print("Message:");
          Serial.println(message.getLong());
          if (message.type==V_VAR1) {
            pulseCount = oldPulseCount = message.getLong();
            Serial.print("Received last pulse count from gw:");
            Serial.println(pulseCount);
            pcReceived = true;
          }
        }
        
        void onPulse()
        {
          Serial.println("Got Pulse");
          unsigned long newBlink = micros();
          unsigned long interval = newBlink-lastBlink;
          if (interval<10000L) { // Sometimes we get interrupt on RISING
            return;
          }
          watt = (3600000000.0 /interval) / ppwh;
          lastBlink = newBlink;
          pulseCount++;
        }
        

        Today I realized that I likely need to have item(s) created in OH to save the values - so created Var1 (and then added one after another with no success). Currently it looks like:

        Number CellarAirHeaterSensorWatt   "Airheater Watt" <energy> { channel="mysensors:power:gateway:sensor-air-pump-power:watt", mqtt=">[rabbitmq:/myhouse/airpump/sensor/power:state:*:Power,sensor=${itemName},location=airpump watt=${state} ]" }
        Number CellarAirHeaterSensorKwh    "Airheater Kwh" <energy> { channel="mysensors:power:gateway:sensor-air-pump-power:kwh", mqtt=">[rabbitmq:/myhouse/airpump/sensor/power:state:*:Power,sensor=${itemName},location=airpump kwh=${state} ]" }
        Number CellarAirHeaterSensorVar   "Airheater Var" <energy> { channel="mysensors:power:gateway:sensor-air-pump-power:var" }
        Number CellarAirHeaterSensorVar1   "Airheater Var1" <energy> { channel="mysensors:power:gateway:sensor-air-pump-power:var1" }
        Number CellarAirHeaterSensorVA   "Airheater VA" <energy> { channel="mysensors:power:gateway:sensor-air-pump-power:va" }
        

        Still no success!

        Do you have any idea what's wrong?

        T 1 Reply Last reply
        0
        • T TimO

          @mythbai While the code for the serial connection in the binding was unchanged for a while it definatly issn't working now together with zwave binding.

          Some time ago I've prepared a change of the serial library the binding is using. A few first tests looked promising but I didn't find the time to test it. So lets give it a new try: could you please test this binding: OH2 Binding with Serial Refactoring

          Please remove the old binding with bundle:list, bundle:remove ID before installing the new one.

          mythbaiM Offline
          mythbaiM Offline
          mythbai
          wrote on last edited by
          #89

          @timo said in openHAB 2.2 binding:

          Some time ago I've prepared a change of the serial library the binding is using. A few first tests looked promising but I didn't find the time to test it. So lets give it a new try: could you please test this binding: OH2 Binding with Serial Refactoring

          Please remove the old binding with bundle:list, bundle:remove ID before installing the new one.

          @TimO Thank you very much! Here is what I got with the new jar:

          Initial bundle:uninstall, and replace jar works. But after server reboot, the MySensor binding is not loading due to some "Multiexception" on framework level (sorry didn't capture that log).
          I tried to restart binding in console:

          openhab> bundle:restart 233
          Error executing command: Error restarting bundles:
                  Unable to start bundle 233: Could not resolve module: org.openhab.binding.mysensors [233]
            Unresolved requirement: Import-Package: org.eclipse.smarthome.io.transport.mqtt
          

          This is an easy fix by "feature:install openhab-transport-mqtt". And after that bundle works! (why do I have to install mqtt transport here .... )

          2). After fix above, did a server reboot. Got MySensors thing discovery related exceptions, but both zwave and mysensors binding loaded, and things got online. The fix actually works!!! just with some minor glitch:

          09:04:38.710 [ERROR] [org.openhab.binding.mysensors        ] - [org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService(221)] Error during instantiation of the implementation object
          java.lang.InstantiationException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService
                  at java.lang.Class.newInstance(Class.java:427) [?:?]
                  at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:237) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823) [42:org.apache.felix.scr:2.0.12]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) [?:?]
                  at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) [?:?]
                  at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) [?:?]
                  at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:72) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.inject.BindMethod.getServiceObject(BindMethod.java:651) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2201) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1714) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1699) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:372) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:320) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:291) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127) [42:org.apache.felix.scr:2.0.12]
                  at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [?:?]
                  at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) [?:?]
                  at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) [?:?]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) [42:org.apache.felix.scr:2.0.12]
                  at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) [?:?]
                  at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) [?:?]
                  at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [?:?]
                  at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [?:?]
                  at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
                  at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) [?:?]
                  at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) [?:?]
                  at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) [?:?]
                  at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) [?:?]
                  at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [?:?]
                  at org.eclipse.osgi.container.Module.start(Module.java:467) [?:?]
                  at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
                  at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
                  at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
                  at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
                  at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
          Caused by: java.lang.NoSuchMethodException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService.<init>()
                  at java.lang.Class.getConstructor0(Class.java:3082) ~[?:?]
                  at java.lang.Class.newInstance(Class.java:412) ~[?:?]
                  ... 70 more
          09:04:39.069 [WARN ] [org.openhab.binding.mysensors        ] - FrameworkEvent WARNING - org.openhab.binding.mysensors
          org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object
                  at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:232) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) [?:?]
                  at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) [?:?]
                  at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:72) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.inject.BindMethod.getServiceObject(BindMethod.java:651) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2201) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1714) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1699) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:372) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:320) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:291) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127) [42:org.apache.felix.scr:2.0.12]
                  at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [?:?]
                  at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) [?:?]
                  at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) [?:?]
                  at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) [?:?]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) [42:org.apache.felix.scr:2.0.12]
                  at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) [42:org.apache.felix.scr:2.0.12]
                  at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) [?:?]
                  at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) [?:?]
                  at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [?:?]
                  at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [?:?]
                  at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
                  at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) [?:?]
                  at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) [?:?]
                  at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) [?:?]
                  at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) [?:?]
                  at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [?:?]
                  at org.eclipse.osgi.container.Module.start(Module.java:467) [?:?]
                  at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
                  at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
                  at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
                  at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
                  at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                  at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
          

          It's a good start, I now have all my sensors working now!

          T 1 Reply Last reply
          0
          • mythbaiM mythbai

            @timo said in openHAB 2.2 binding:

            Some time ago I've prepared a change of the serial library the binding is using. A few first tests looked promising but I didn't find the time to test it. So lets give it a new try: could you please test this binding: OH2 Binding with Serial Refactoring

            Please remove the old binding with bundle:list, bundle:remove ID before installing the new one.

            @TimO Thank you very much! Here is what I got with the new jar:

            Initial bundle:uninstall, and replace jar works. But after server reboot, the MySensor binding is not loading due to some "Multiexception" on framework level (sorry didn't capture that log).
            I tried to restart binding in console:

            openhab> bundle:restart 233
            Error executing command: Error restarting bundles:
                    Unable to start bundle 233: Could not resolve module: org.openhab.binding.mysensors [233]
              Unresolved requirement: Import-Package: org.eclipse.smarthome.io.transport.mqtt
            

            This is an easy fix by "feature:install openhab-transport-mqtt". And after that bundle works! (why do I have to install mqtt transport here .... )

            2). After fix above, did a server reboot. Got MySensors thing discovery related exceptions, but both zwave and mysensors binding loaded, and things got online. The fix actually works!!! just with some minor glitch:

            09:04:38.710 [ERROR] [org.openhab.binding.mysensors        ] - [org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService(221)] Error during instantiation of the implementation object
            java.lang.InstantiationException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService
                    at java.lang.Class.newInstance(Class.java:427) [?:?]
                    at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:237) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823) [42:org.apache.felix.scr:2.0.12]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) [?:?]
                    at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) [?:?]
                    at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) [?:?]
                    at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:72) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.inject.BindMethod.getServiceObject(BindMethod.java:651) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2201) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1714) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1699) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:372) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:320) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:291) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127) [42:org.apache.felix.scr:2.0.12]
                    at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [?:?]
                    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) [?:?]
                    at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) [?:?]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) [42:org.apache.felix.scr:2.0.12]
                    at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) [?:?]
                    at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) [?:?]
                    at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [?:?]
                    at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [?:?]
                    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
                    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) [?:?]
                    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) [?:?]
                    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) [?:?]
                    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) [?:?]
                    at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [?:?]
                    at org.eclipse.osgi.container.Module.start(Module.java:467) [?:?]
                    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
                    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
                    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
                    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
                    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
            Caused by: java.lang.NoSuchMethodException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService.<init>()
                    at java.lang.Class.getConstructor0(Class.java:3082) ~[?:?]
                    at java.lang.Class.newInstance(Class.java:412) ~[?:?]
                    ... 70 more
            09:04:39.069 [WARN ] [org.openhab.binding.mysensors        ] - FrameworkEvent WARNING - org.openhab.binding.mysensors
            org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object
                    at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:232) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) [?:?]
                    at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) [?:?]
                    at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:72) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.inject.BindMethod.getServiceObject(BindMethod.java:651) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2201) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1714) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1699) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:372) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:320) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:291) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127) [42:org.apache.felix.scr:2.0.12]
                    at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [?:?]
                    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) [?:?]
                    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) [?:?]
                    at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) [?:?]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) [42:org.apache.felix.scr:2.0.12]
                    at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) [42:org.apache.felix.scr:2.0.12]
                    at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) [?:?]
                    at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) [?:?]
                    at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [?:?]
                    at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [?:?]
                    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
                    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) [?:?]
                    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) [?:?]
                    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) [?:?]
                    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) [?:?]
                    at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [?:?]
                    at org.eclipse.osgi.container.Module.start(Module.java:467) [?:?]
                    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
                    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
                    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
                    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
                    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
                    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
            

            It's a good start, I now have all my sensors working now!

            T Offline
            T Offline
            TimO
            Hero Member
            wrote on last edited by
            #90

            @mythbai Thank you for reporting back! I'm glad it is working now.

            The transport-mqtt feature is now needed because the support for MQTT GW is now part of the binding and the fix I've provided to you is based on the current code base.

            The exception is completely unrelated to your problem and will do no harm. It only occures on startup and will soon be fixed!

            1 Reply Last reply
            0
            • jocke4uJ jocke4u

              I am moving the topic here as more appropriate :) (old ref)

              I have OH v2.2 and latest MySensors 2.2.0 binding and my power sensors have stopped working.
              After some investigation it seems they cannot receive the old pulse count value and by that cannot start working.
              MySensors GW running 2.1.1 and the one power sensor I am testing also 2.1.1 (the rest 1.5.x)

              The debug (serial monitor) of the sensor shows that

              0 MCO:BGN:INIT NODE,CP=RNNNA--,VER=2.1.1
              3 TSM:INIT
              4 TSF:WUR:MS=0
              11 TSM:INIT:TSP OK
              13 TSM:INIT:STATID=5
              14 TSF:SID:OK,ID=5
              16 TSM:FPAR
              52 TSF:MSG:SEND,5-5-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
              2060 !TSM:FPAR:NO REPLY
              2062 TSM:FPAR
              2098 TSF:MSG:SEND,5-5-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
              2983 TSF:MSG:READ,0-0-5,s=255,c=3,t=8,pt=1,l=1,sg=0:0
              2989 TSF:MSG:FPAR OK,ID=0,D=1
              4106 TSM:FPAR:OK
              4107 TSM:ID
              4108 TSM:ID:OK
              4110 TSM:UPL
              4147 !TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=NACK:1
              6154 TSM:UPL
              6159 TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=1,st=OK:1
              6168 TSF:MSG:READ,0-0-5,s=255,c=3,t=25,pt=1,l=1,sg=0:1
              6173 TSF:MSG:PONG RECV,HP=1
              6175 TSM:UPL:OK
              6177 TSM:READY:ID=5,PAR=0,DIS=1
              6182 TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
              6189 TSF:MSG:READ,0-0-5,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
              6232 !TSF:MSG:SEND,5-5-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=NACK:2.1.1
              6243 TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=1,st=OK:0
              6259 TSF:MSG:READ,0-0-5,s=255,c=3,t=6,pt=0,l=1,sg=0:M
              6305 !TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=11,pt=0,l=13,sg=0,ft=0,st=NACK:Heater Energy
              6349 !TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=1,st=NACK:2.0
              6391 !TSF:MSG:SEND,5-5-0-0,s=0,c=0,t=13,pt=0,l=0,sg=0,ft=2,st=NACK:
              6397 MCO:REG:REQ
              6435 !TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=3,st=NACK:2
              8476 !TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=4,st=NACK:2
              10486 TSF:MSG:SEND,5-5-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=5,st=OK:2
              10493 TSF:MSG:READ,0-0-5,s=255,c=3,t=27,pt=1,l=1,sg=0:1
              10499 MCO:PIM:NODE REG=1
              10501 MCO:BGN:STP
              10528 TSF:MSG:SEND,5-5-0-0,s=0,c=2,t=24,pt=0,l=0,sg=0,ft=0,st=OK:
              Got Pulse
              10534 MCO:BGN:INIT OK,TSP=1
              Got Pulse
              Got Pulse
              Got Pulse
              Got Pulse
              Got Pulse
              Got Pulse
              No count received. Try requesting it again
              30570 !TSF:MSG:SEND,5-5-0-0,s=0,c=2,t=24,pt=0,l=0,sg=0,ft=0,st=NACK:
              Got Pulse
              Got Pulse
              Got Pulse
              Got Pulse
              Got Pulse
              Got Pulse
              Got Pulse
              No count received. Try requesting it again
              50546 TSF:MSG:SEND,5-5-0-0,s=0,c=2,t=24,pt=0,l=0,sg=0,ft=1,st=OK:
              Got Pulse
              

              The sketch looks like this:

              /**
               * The MySensors Arduino library handles the wireless radio link and protocol
               * between your home built sensors/actuators and HA controller of choice.
               * The sensors forms a self healing radio network with optional repeaters. Each
               * repeater and gateway builds a routing tables in EEPROM which keeps track of the
               * network topology allowing messages to be routed to nodes.
               *
               * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
               * Copyright (C) 2013-2015 Sensnology AB
               * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
               *
               * Documentation: http://www.mysensors.org
               * Support Forum: http://forum.mysensors.org
               *
               * This program is free software; you can redistribute it and/or
               * modify it under the terms of the GNU General Public License
               * version 2 as published by the Free Software Foundation.
               *
               *******************************
               *
               * REVISION HISTORY
               * Version 1.0 - Henrik EKblad
               *
               * DESCRIPTION
               * This sketch provides an example how to implement a distance sensor using HC-SR04
               * Use this sensor to measure KWH and Watt of your house meeter
               * You need to set the correct pulsefactor of your meeter (blinks per KWH).
               * The sensor starts by fetching current KWH value from gateway.
               * Reports both KWH and Watt back to gateway.
               *
               * Unfortunately millis() won't increment when the Arduino is in
               * sleepmode. So we cannot make this sensor sleep if we also want
               * to calculate/report watt-number.
               * http://www.mysensors.org/build/pulse_power
               */
              
              // Enable debug prints
              #define MY_DEBUG
              
              // Enable and select radio type attached
              #define MY_RADIO_NRF24
              //#define MY_RADIO_RFM69
              
              #define MY_NODE_ID 5
              #include <MySensors.h>
              
              #define DIGITAL_INPUT_SENSOR 3  // The digital input you attached your light sensor.  (Only 2 and 3 generates interrupt!)
              #define PULSE_FACTOR 1000       // Nummber of blinks per KWH of your meeter
              #define MAX_WATT 10000          // Max watt value to report. This filetrs outliers.
              
              #define CHILD_ID 0              // Id of the sensor child
              
              unsigned long SEND_FREQUENCY =
                  20000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway.
              double ppwh = ((double)PULSE_FACTOR)/1000; // Pulses per watt hour
              bool pcReceived = false;
              volatile unsigned long pulseCount = 0;
              volatile unsigned long lastBlink = 0;
              volatile unsigned long watt = 0;
              unsigned long oldPulseCount = 0;
              unsigned long oldWatt = 0;
              double oldKwh;
              unsigned long lastSend;
              MyMessage wattMsg(CHILD_ID,V_WATT);
              MyMessage kwhMsg(CHILD_ID,V_KWH);
              MyMessage pcMsg(CHILD_ID,V_VAR1);
              
              
              void setup()
              {
               
                // Fetch last known pulse count value from gw
                request(CHILD_ID, V_VAR1);
              
                // Use the internal pullup to be able to hook up this sketch directly to an energy meter with S0 output
                // If no pullup is used, the reported usage will be too high because of the floating pin
                pinMode(DIGITAL_INPUT_SENSOR,INPUT_PULLUP);
              
                attachInterrupt(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), onPulse, RISING);
                lastSend=millis();
              }
              
              void presentation()
              {
                // Send the sketch version information to the gateway and Controller
                sendSketchInfo("Heater Energy", "2.0");
              
                // Register this device as power sensor
                present(CHILD_ID, S_POWER);
              }
              
              void loop()
              {
                unsigned long now = millis();
                // Only send values at a maximum frequency or woken up from sleep
                bool sendTime = now - lastSend > SEND_FREQUENCY;
                if (pcReceived && sendTime) {
                  // New watt value has been calculated
                  if (watt != oldWatt) {
                    // Check that we dont get unresonable large watt value.
                    // could hapen when long wraps or false interrupt triggered
                    if (watt<((unsigned long)MAX_WATT)) {
                      send(wattMsg.set(watt));  // Send watt value to gw
                    }
                    Serial.print("Watt:");
                    Serial.println(watt);
                    oldWatt = watt;
                  }
              
                  // Pulse cout has changed
                  if (pulseCount != oldPulseCount) {
                    send(pcMsg.set(pulseCount));  // Send pulse count value to gw
                    double kwh = ((double)pulseCount/((double)PULSE_FACTOR));
                    oldPulseCount = pulseCount;
                    if (kwh != oldKwh) {
                      send(kwhMsg.set(kwh, 4));  // Send kwh value to gw
                      oldKwh = kwh;
                    }
                  }
                  lastSend = now;
                } else if (sendTime && !pcReceived) {
                  // No count received. Try requesting it again
                  Serial.println("No count received. Try requesting it again");
                  request(CHILD_ID, V_VAR1);
                  lastSend=now;
                }
              
              }
              
              void receive(const MyMessage &message)
              {
                Serial.print("MessageType:");
                Serial.println(message.type);
                Serial.print("Message:");
                Serial.println(message.getLong());
                if (message.type==V_VAR1) {
                  pulseCount = oldPulseCount = message.getLong();
                  Serial.print("Received last pulse count from gw:");
                  Serial.println(pulseCount);
                  pcReceived = true;
                }
              }
              
              void onPulse()
              {
                Serial.println("Got Pulse");
                unsigned long newBlink = micros();
                unsigned long interval = newBlink-lastBlink;
                if (interval<10000L) { // Sometimes we get interrupt on RISING
                  return;
                }
                watt = (3600000000.0 /interval) / ppwh;
                lastBlink = newBlink;
                pulseCount++;
              }
              

              Today I realized that I likely need to have item(s) created in OH to save the values - so created Var1 (and then added one after another with no success). Currently it looks like:

              Number CellarAirHeaterSensorWatt   "Airheater Watt" <energy> { channel="mysensors:power:gateway:sensor-air-pump-power:watt", mqtt=">[rabbitmq:/myhouse/airpump/sensor/power:state:*:Power,sensor=${itemName},location=airpump watt=${state} ]" }
              Number CellarAirHeaterSensorKwh    "Airheater Kwh" <energy> { channel="mysensors:power:gateway:sensor-air-pump-power:kwh", mqtt=">[rabbitmq:/myhouse/airpump/sensor/power:state:*:Power,sensor=${itemName},location=airpump kwh=${state} ]" }
              Number CellarAirHeaterSensorVar   "Airheater Var" <energy> { channel="mysensors:power:gateway:sensor-air-pump-power:var" }
              Number CellarAirHeaterSensorVar1   "Airheater Var1" <energy> { channel="mysensors:power:gateway:sensor-air-pump-power:var1" }
              Number CellarAirHeaterSensorVA   "Airheater VA" <energy> { channel="mysensors:power:gateway:sensor-air-pump-power:va" }
              

              Still no success!

              Do you have any idea what's wrong?

              T Offline
              T Offline
              TimO
              Hero Member
              wrote on last edited by TimO
              #91

              @jocke4u The request needs to be handled with rules because it is not allowed to access the value of an item via the binding API :smirk:.

              Please post the request (from the OpenHAB log, enable DEBUG with log:set DEBUG org.openhab.binding.mysensors if not already done in the karaf console) and we'll figure out the rule.

              NickBuilderN jocke4uJ 2 Replies Last reply
              0
              • T TimO

                @jocke4u The request needs to be handled with rules because it is not allowed to access the value of an item via the binding API :smirk:.

                Please post the request (from the OpenHAB log, enable DEBUG with log:set DEBUG org.openhab.binding.mysensors if not already done in the karaf console) and we'll figure out the rule.

                NickBuilderN Offline
                NickBuilderN Offline
                NickBuilder
                wrote on last edited by NickBuilder
                #92

                @timo regarding the issue with the pulse power node, the same as @jocke4u. I'm using a version of the same sketch and also the latest snapshot jar.

                This is the feedback in my openhab.log while looking att the debug level messages from the binding.

                15:59:15.829 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined
                15:59:15.834 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24;
                15:59:15.839 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gateway
                15:59:15.844 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 50
                15:59:15.849 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined
                15:59:15.854 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24;
                15:59:15.859 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gateway
                15:59:15.864 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 50
                15:59:15.869 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined
                15:59:15.874 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24;
                15:59:15.879 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gateway
                

                As you can see the messages are quite frequent making it quite tedious for me to extract the relevant log messages. I'm no expert in browsing and searching text files from the command line.

                I guess because I'm using a version of the standard sketch my node does not wait for a response to the request before starting to count. I'm not sure how the node can neglect the response. Anyhow I restarted my node and now it tried to SET a new count instead.

                2018-01-10 16:26:22.341 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150
                2018-01-10 16:26:22.571 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150
                2018-01-10 16:26:22.791 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150
                2018-01-10 16:26:23.011 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150
                2018-01-10 16:26:23.230 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150
                

                Hopefully this is useful feedback.

                jocke4uJ 1 Reply Last reply
                0
                • T TimO

                  @jocke4u The request needs to be handled with rules because it is not allowed to access the value of an item via the binding API :smirk:.

                  Please post the request (from the OpenHAB log, enable DEBUG with log:set DEBUG org.openhab.binding.mysensors if not already done in the karaf console) and we'll figure out the rule.

                  jocke4uJ Offline
                  jocke4uJ Offline
                  jocke4u
                  wrote on last edited by
                  #93

                  Hi @timo ,

                  Here is the log when restarting the sensor:

                  17:27:58.562 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;255;0;0;17;2.1.1
                  17:27:58.573 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Presentation Message received
                  17:27:58.583 [WARN ] [ors.internal.gateway.MySensorsGateway] - Presented child is alredy present in gateway
                  17:27:58.593 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;255;3;0;6;0
                  17:27:58.603 [DEBUG] [ors.internal.gateway.MySensorsGateway] - I_CONFIG request received from M, answering: (is imperial?)false
                  17:27:58.614 [DEBUG] [orsAbstractConnection$MySensorsWriter] - Sending to MySensors: 5;255;3;0;6;M
                  17:27:58.674 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;255;3;0;11;Heater Energy
                  17:27:58.682 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;255;3;0;12;2.0
                  17:27:58.690 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;0;0;0;13;
                  17:27:58.698 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Presentation Message received
                  17:27:58.705 [WARN ] [ors.internal.gateway.MySensorsGateway] - Presented child is alredy present in gateway
                  17:27:58.719 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;0;2;0;24;
                  17:27:58.727 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 5 found in gateway
                  17:27:58.735 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 0 found in node 5
                  17:27:58.743 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined
                  
                  1 Reply Last reply
                  0
                  • NickBuilderN NickBuilder

                    @timo regarding the issue with the pulse power node, the same as @jocke4u. I'm using a version of the same sketch and also the latest snapshot jar.

                    This is the feedback in my openhab.log while looking att the debug level messages from the binding.

                    15:59:15.829 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined
                    15:59:15.834 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24;
                    15:59:15.839 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gateway
                    15:59:15.844 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 50
                    15:59:15.849 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined
                    15:59:15.854 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24;
                    15:59:15.859 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gateway
                    15:59:15.864 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 50
                    15:59:15.869 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined
                    15:59:15.874 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24;
                    15:59:15.879 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gateway
                    

                    As you can see the messages are quite frequent making it quite tedious for me to extract the relevant log messages. I'm no expert in browsing and searching text files from the command line.

                    I guess because I'm using a version of the standard sketch my node does not wait for a response to the request before starting to count. I'm not sure how the node can neglect the response. Anyhow I restarted my node and now it tried to SET a new count instead.

                    2018-01-10 16:26:22.341 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150
                    2018-01-10 16:26:22.571 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150
                    2018-01-10 16:26:22.791 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150
                    2018-01-10 16:26:23.011 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150
                    2018-01-10 16:26:23.230 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150
                    

                    Hopefully this is useful feedback.

                    jocke4uJ Offline
                    jocke4uJ Offline
                    jocke4u
                    wrote on last edited by
                    #94

                    @nickbuilder Check the code here and there is a SEND_FREQUENCY of 20 sec - would reduce the load quite a lot :)

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      TimO
                      Hero Member
                      wrote on last edited by
                      #95

                      @jocke4u & @NickBuilder :

                      Thank you! This will help me to find a solution. For reference, here is the corresponding issue on github: https://github.com/tobof/openhab2-addons/issues/69

                      jocke4uJ 1 Reply Last reply
                      0
                      • T TimO

                        @jocke4u & @NickBuilder :

                        Thank you! This will help me to find a solution. For reference, here is the corresponding issue on github: https://github.com/tobof/openhab2-addons/issues/69

                        jocke4uJ Offline
                        jocke4uJ Offline
                        jocke4u
                        wrote on last edited by
                        #96

                        @timo Ok, so there is a plan to solve it in a better way than using rules?
                        Do you have any guidance of using rules until then?

                        T NickBuilderN 2 Replies Last reply
                        0
                        • jocke4uJ jocke4u

                          @timo Ok, so there is a plan to solve it in a better way than using rules?
                          Do you have any guidance of using rules until then?

                          T Offline
                          T Offline
                          TimO
                          Hero Member
                          wrote on last edited by
                          #97

                          @jocke4u I'll try to document an example for using rules tomorrow. I'm not yet sure about the best final solution. Maybe I'll experiment with persistence within the binding.

                          1 Reply Last reply
                          1
                          • L Offline
                            L Offline
                            LastSamurai
                            Hardware Contributor
                            wrote on last edited by LastSamurai
                            #98

                            @TimO Today I decided to finally read into how Openhab binding development works. And just when I started I saw that you finally fixed some of the problems that I reported via github (thank you very much for that). Had to laugh a little at that coincidence :rolling_on_the_floor_laughing:

                            I just started a pullrequest where I tried to implement pure white colors for RGBW values fixing one of my problems left open. If you find the time please have a look at it. I did not yet write any tests for it or test it on my actual RGBW nodes but I will do that as soon as possible

                            1 Reply Last reply
                            0
                            • K Offline
                              K Offline
                              kwull
                              wrote on last edited by kwull
                              #99

                              [Solved] I've solved the issue by changing docker base image. The issue described here - https://github.com/openhab/openhab-docker/issues/144

                              I'll keep the details for others:

                              @TimO, thanks for the great openhab binding. I've used it on openhab 2.0 and it works just great. Now I have totally fresh openhab 2.2 setup and cannot make mysensors binding working. I've tried many things but with no luck. Can you point me into direction how to fix that?

                              The gateway works as expected:

                              root@machine:/home/kwull# cat /dev/ttyUSB0
                              0;1;1;0;0;22.3
                              0;0;1;0;1;23.0
                              0;255;3;0;14;Gateway startup complete.
                              0;255;0;0;18;2.1.1
                              0;255;3;0;11;Garage Gateway
                              0;255;3;0;12;1.0
                              0;0;0;0;7;
                              0;1;0;0;6;
                              0;1;1;0;0;23.1
                              0;0;1;0;1;22.1
                              

                              Bindings:

                              25 │ Active   │  80 │ 3.12.0.OH              │ nrjavaserial
                              210 │ Active   │  80 │ 1.0.2                  │ Paho MQTT Client
                              211 │ Active   │  80 │ 0.10.0.b1              │ Eclipse SmartHome MQTT Transport Bundle
                              214 │ Active   │  80 │ 2.3.0.201801160936     │ MySensors Binding
                              

                              openhab.log:

                              2018-01-21 17:18:33.696 [DEBUG] [nsors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge
                              2018-01-21 17:18:33.703 [DEBUG] [ensors.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist.
                              2018-01-21 17:18:33.704 [DEBUG] [ensors.factory.MySensorsCacheFactory] - Cache (given_ids) content: []
                              2018-01-21 17:18:33.710 [DEBUG] [col.serial.MySensorsSerialConnection] - Enabling connection watchdog
                              2018-01-21 17:18:33.712 [DEBUG] [col.serial.MySensorsSerialConnection] - Connecting to /dev/ttyUSB0 [baudRate:115200]
                              2018-01-21 17:18:33.715 [DEBUG] [org.openhab.binding.mysensors       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=325, service.bundleid=214, service.scope=singleton} - org.openhab.binding.mysensors
                              2018-01-21 17:18:33.716 [DEBUG] [.discovery.MySensorsDiscoveryService] - Starting MySensors discovery scan
                              2018-01-21 17:18:33.716 [DEBUG] [nsors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE!
                              2018-01-21 17:18:36.027 [WARN ] [org.jline                           ] - Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)
                              

                              Exception log:

                              Current thread (0x000055797e792800):  JavaThread "org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection" [_thread_in_native, id=641, stack(0x00007f12eb309000,0x00007f12eb409aa8)]
                              
                              siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000000000037a6
                              
                              Registers:
                              RAX=0x0000000000000000, RBX=0x00007f12e7403940, RCX=0x00007f13197e3f04, RDX=0x00007f131934828c
                              RSP=0x00007f12eb407d48, RBP=0x0000000000000001, RSI=0x0000000000000900, RDI=0x000055797ccb99a0
                              R8 =0x000055797ccb99ac, R9 =0x000055797ccb99a0, R10=0x00000006d600e9d0, R11=0x0000000000000206
                              R12=0x000055797ccb99a0, R13=0x000055797e7929e0, R14=0x00007f12eb407ec8, R15=0x0000000000000082
                              RIP=0x00000000000037a6, EFLAGS=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000014
                                TRAPNO=0x000000000000000e
                              
                              Top of Stack: (sp=0x00007f12eb407d48)
                              0x00007f12eb407d48:   00007f12e64e0965 00007f12eb407de8
                              0x00007f12eb407d58:   00007f1300000001 00007f12e7403940
                              0x00007f12eb407d68:   000055797e792800 00007f12e7403940
                              0x00007f12eb407d78:   d85a256e98c0817f 00007f12eb407de8
                              0x00007f12eb407d88:   00007f1318b46afc 00007f12eb407de8
                              0x00007f12eb407d98:   00007f12eb407dc8 00007f12eb407de8
                              0x00007f12eb407da8:   00007f1318b46b68 000055797e792800
                              0x00007f12eb407db8:   00007f1318c99928 0000557981a9a5f0
                              0x00007f12eb407dc8:   000055797e792800 000055797e792800
                              0x00007f12eb407dd8:   00007f12e7403940 000055797e792800
                              0x00007f12eb407de8:   00007f12e7403940 000055797e792800
                              0x00007f12eb407df8:   d85a256e98c0817f 00007f12e7403940
                              0x00007f12eb407e08:   00007f12e7403940 00007f12eb407ea0
                              0x00007f12eb407e18:   0000000000000000 00007f12e7403940
                              0x00007f12eb407e28:   00007f12eb407ed0 000055797e792800
                              0x00007f12eb407e38:   00007f1308ccd7f4 00007f12eb407ea0
                              0x00007f12eb407e48:   00007f1308ccd579 fffffffe00000000
                              0x00007f12eb407e58:   00007f1308ccd542 00007f12eb407e60
                              0x00007f12eb407e68:   00007f12e7403940 00007f12eb407ed0
                              0x00007f12eb407e78:   00007f12e7405c28 0000000000000000
                              0x00007f12eb407e88:   00007f12e7403940 0000000000000000
                              0x00007f12eb407e98:   00007f12eb407ec0 00007f12eb407f18
                              0x00007f12eb407ea8:   00007f1308cbd7d0 0000000000000000
                              0x00007f12eb407eb8:   00007f1308cc7260 0000000000000001
                              0x00007f12eb407ec8:   00000006d600e9a8 00000006d600b490
                              0x00007f12eb407ed8:   00007f12eb407ed8 00007f12e7404122
                              0x00007f12eb407ee8:   00007f12eb407f98 00007f12e7405c28
                              0x00007f12eb407ef8:   0000000000000000 00007f12e7404270
                              0x00007f12eb407f08:   00007f12eb407ec0 00007f12eb407f80
                              0x00007f12eb407f18:   00007f12eb407fe0 00007f1308cbdffd
                              0x00007f12eb407f28:   0000000000000000 0000000000000000
                              0x00007f12eb407f38:   0000000000000000 00000006d600e9a8 
                              
                              Instructions: (pc=0x00000000000037a6)
                              0x0000000000003786:   
                              [error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb]
                              
                              Register to memory mapping:
                              
                              RAX=0x0000000000000000 is an unknown value
                              RBX={method} {0x00007f12e7403940} 'testRead' '(Ljava/lang/String;I)Z' in 'gnu/io/RXTXCommDriver'
                              RCX=0x00007f13197e3f04: getpid+0x7 in /lib/ld-musl-x86_64.so.1 at 0x00007f131978d000
                              RDX=0x00007f131934828c: gHotSpotVMStructs+0x218f4 in /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server/libjvm.so at 0x00007f1318861000
                              RSP=0x00007f12eb407d48 is pointing into the stack for thread: 0x000055797e792800
                              RBP=0x0000000000000001 is an unknown value
                              RSI=0x0000000000000900 is an unknown value
                              RDI=0x000055797ccb99a0 is an unknown value
                              R8 =0x000055797ccb99ac is an unknown value
                              R9 =0x000055797ccb99a0 is an unknown value
                              R10=0x00000006d600e9d0 is pointing into object: 0x00000006d600e9c0
                              [C 
                               - klass: {type array char}
                               - length: 12
                              R11=0x0000000000000206 is an unknown value
                              R12=0x000055797ccb99a0 is an unknown value
                              R13=0x000055797e7929e0 is an unknown value
                              R14=0x00007f12eb407ec8 is pointing into the stack for thread: 0x000055797e792800
                              R15=0x0000000000000082 is an unknown value
                              
                              
                              Stack: [0x00007f12eb309000,0x00007f12eb409aa8],  sp=0x00007f12eb407d48,  free space=1019k
                              Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
                              C  0x00000000000037a6
                              
                              Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
                              j  gnu.io.RXTXCommDriver.testRead(Ljava/lang/String;I)Z+0
                              j  gnu.io.RXTXCommDriver.registerValidPorts([Ljava/lang/String;[Ljava/lang/String;I)V+202
                              j  gnu.io.RXTXCommDriver.registerScannedPorts(I)V+1466
                              j  gnu.io.RXTXCommDriver.initialize()V+35
                              j  gnu.io.CommPortIdentifier.getPortIdentifiers()Ljava/util/Enumeration;+53
                              j  gnu.io.NativeResource.testNativeCode()V+0
                              j  gnu.io.NativeResource.inJarLoad(Ljava/lang/String;)V+37
                              j  gnu.io.NativeResource.loadLib(Ljava/lang/String;)V+54
                              j  gnu.io.NativeResource.load(Ljava/lang/String;)V+138
                              j  gnu.io.SerialManager.<init>()V+23
                              j  gnu.io.SerialManager.getInstance()Lgnu/io/SerialManager;+10
                              j  gnu.io.RXTXCommDriver.<clinit>()V+39
                              v  ~StubRoutines::call_stub
                              J 1368  java.lang.Class.forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class; (0 bytes) @ 0x00007f1309151eba [0x00007f1309151e40+0x7a]
                              J 3010 C1 java.lang.Class.forName(Ljava/lang/String;)Ljava/lang/Class; (15 bytes) @ 0x00007f13096ee94c [0x00007f13096ee7a0+0x1ac]
                              j  gnu.io.CommPortIdentifier.<clinit>()V+12
                              v  ~StubRoutines::call_stub
                              j  org.openhab.binding.mysensors.internal.protocol.serial.MySensorsSerialConnection.establishConnection()Z+32
                              j  org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection.connect()Z+2
                              j  org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection.run()V+46
                              J 10253 C2 java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object; (14 bytes) @ 0x00007f1309884cac [0x00007f1309884c60+0x4c]
                              J 9236 C1 java.util.concurrent.FutureTask.runAndReset()Z (128 bytes) @ 0x00007f130a4cd17c [0x00007f130a4ccf00+0x27c]
                              J 9408 C1 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run()V (59 bytes) @ 0x00007f130a57bb8c [0x00007f130a57b600+0x58c]
                              J 8894 C1 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (225 bytes) @ 0x00007f130a3b8e3c [0x00007f130a3b7e00+0x103c]
                              j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
                              J 11172 C1 java.lang.Thread.run()V (17 bytes) @ 0x00007f1308f58584 [0x00007f1308f58440+0x144]
                              v  ~StubRoutines::call_stub
                              

                              Additional logs:

                              2018-01-08 20:55:18.426 [ERROR] [org.openhab.binding.mysensors       ] - [org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService(195)] Error during instantiation of the implementation object
                              java.lang.InstantiationException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService
                              	at java.lang.Class.newInstance(Class.java:427) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:237) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) ~[?:?]
                              	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?]
                              	at com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) ~[?:?]
                              	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?]
                              	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?]
                              	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?]
                              	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
                              	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) ~[?:?]
                              	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
                              	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) ~[?:?]
                              	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) ~[?:?]
                              	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) ~[?:?]
                              	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) ~[?:?]
                              	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) ~[?:?]
                              	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) ~[?:?]
                              	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) ~[?:?]
                              	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) ~[?:?]
                              	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) ~[?:?]
                              	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[?:?]
                              	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) ~[?:?]
                              	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
                              	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) ~[?:?]
                              	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?]
                              	at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?]
                              	at org.eclipse.smarthome.extensionservice.marketplace.internal.BindingExtensionHandler.install(BindingExtensionHandler.java:82) ~[?:?]
                              	at org.eclipse.smarthome.extensionservice.marketplace.internal.MarketplaceExtensionService.install(MarketplaceExtensionService.java:222) ~[?:?]
                              	at org.eclipse.smarthome.io.rest.core.internal.extensions.ExtensionResource.lambda$0(ExtensionResource.java:157) ~[?:?]
                              	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
                              	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
                              	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
                              	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
                              	at java.lang.Thread.run(Thread.java:748) [?:?]
                              Caused by: java.lang.NoSuchMethodException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService.<init>()
                              	at java.lang.Class.getConstructor0(Class.java:3082) ~[?:?]
                              	at java.lang.Class.newInstance(Class.java:412) ~[?:?]
                              	... 65 more
                              2018-01-08 20:55:18.450 [WARN ] [org.openhab.binding.mysensors       ] - FrameworkEvent WARNING - org.openhab.binding.mysensors
                              org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:232) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?]
                              	at com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) ~[?:?]
                              	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?]
                              	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?]
                              	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?]
                              	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
                              	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) ~[?:?]
                              	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
                              	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) ~[?:?]
                              	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) ~[?:?]
                              	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) ~[?:?]
                              	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) ~[?:?]
                              	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) ~[?:?]
                              	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) ~[?:?]
                              	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) ~[?:?]
                              	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) ~[?:?]
                              	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) ~[?:?]
                              	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) ~[?:?]
                              	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) ~[?:?]
                              	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[?:?]
                              	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) ~[?:?]
                              	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
                              	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) ~[?:?]
                              	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?]
                              	at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
                              	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?]
                              	at org.eclipse.smarthome.extensionservice.marketplace.internal.BindingExtensionHandler.install(BindingExtensionHandler.java:82) ~[?:?]
                              	at org.eclipse.smarthome.extensionservice.marketplace.internal.MarketplaceExtensionService.install(MarketplaceExtensionService.java:222) ~[?:?]
                              	at org.eclipse.smarthome.io.rest.core.internal.extensions.ExtensionResource.lambda$0(ExtensionResource.java:157) ~[?:?]
                              	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
                              	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
                              	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
                              	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
                              	at java.lang.Thread.run(Thread.java:748) [?:?] 
                              

                              Any ideas where to look?

                              K 1 Reply Last reply
                              0
                              • K kwull

                                [Solved] I've solved the issue by changing docker base image. The issue described here - https://github.com/openhab/openhab-docker/issues/144

                                I'll keep the details for others:

                                @TimO, thanks for the great openhab binding. I've used it on openhab 2.0 and it works just great. Now I have totally fresh openhab 2.2 setup and cannot make mysensors binding working. I've tried many things but with no luck. Can you point me into direction how to fix that?

                                The gateway works as expected:

                                root@machine:/home/kwull# cat /dev/ttyUSB0
                                0;1;1;0;0;22.3
                                0;0;1;0;1;23.0
                                0;255;3;0;14;Gateway startup complete.
                                0;255;0;0;18;2.1.1
                                0;255;3;0;11;Garage Gateway
                                0;255;3;0;12;1.0
                                0;0;0;0;7;
                                0;1;0;0;6;
                                0;1;1;0;0;23.1
                                0;0;1;0;1;22.1
                                

                                Bindings:

                                25 │ Active   │  80 │ 3.12.0.OH              │ nrjavaserial
                                210 │ Active   │  80 │ 1.0.2                  │ Paho MQTT Client
                                211 │ Active   │  80 │ 0.10.0.b1              │ Eclipse SmartHome MQTT Transport Bundle
                                214 │ Active   │  80 │ 2.3.0.201801160936     │ MySensors Binding
                                

                                openhab.log:

                                2018-01-21 17:18:33.696 [DEBUG] [nsors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge
                                2018-01-21 17:18:33.703 [DEBUG] [ensors.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist.
                                2018-01-21 17:18:33.704 [DEBUG] [ensors.factory.MySensorsCacheFactory] - Cache (given_ids) content: []
                                2018-01-21 17:18:33.710 [DEBUG] [col.serial.MySensorsSerialConnection] - Enabling connection watchdog
                                2018-01-21 17:18:33.712 [DEBUG] [col.serial.MySensorsSerialConnection] - Connecting to /dev/ttyUSB0 [baudRate:115200]
                                2018-01-21 17:18:33.715 [DEBUG] [org.openhab.binding.mysensors       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=325, service.bundleid=214, service.scope=singleton} - org.openhab.binding.mysensors
                                2018-01-21 17:18:33.716 [DEBUG] [.discovery.MySensorsDiscoveryService] - Starting MySensors discovery scan
                                2018-01-21 17:18:33.716 [DEBUG] [nsors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE!
                                2018-01-21 17:18:36.027 [WARN ] [org.jline                           ] - Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)
                                

                                Exception log:

                                Current thread (0x000055797e792800):  JavaThread "org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection" [_thread_in_native, id=641, stack(0x00007f12eb309000,0x00007f12eb409aa8)]
                                
                                siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000000000037a6
                                
                                Registers:
                                RAX=0x0000000000000000, RBX=0x00007f12e7403940, RCX=0x00007f13197e3f04, RDX=0x00007f131934828c
                                RSP=0x00007f12eb407d48, RBP=0x0000000000000001, RSI=0x0000000000000900, RDI=0x000055797ccb99a0
                                R8 =0x000055797ccb99ac, R9 =0x000055797ccb99a0, R10=0x00000006d600e9d0, R11=0x0000000000000206
                                R12=0x000055797ccb99a0, R13=0x000055797e7929e0, R14=0x00007f12eb407ec8, R15=0x0000000000000082
                                RIP=0x00000000000037a6, EFLAGS=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000014
                                  TRAPNO=0x000000000000000e
                                
                                Top of Stack: (sp=0x00007f12eb407d48)
                                0x00007f12eb407d48:   00007f12e64e0965 00007f12eb407de8
                                0x00007f12eb407d58:   00007f1300000001 00007f12e7403940
                                0x00007f12eb407d68:   000055797e792800 00007f12e7403940
                                0x00007f12eb407d78:   d85a256e98c0817f 00007f12eb407de8
                                0x00007f12eb407d88:   00007f1318b46afc 00007f12eb407de8
                                0x00007f12eb407d98:   00007f12eb407dc8 00007f12eb407de8
                                0x00007f12eb407da8:   00007f1318b46b68 000055797e792800
                                0x00007f12eb407db8:   00007f1318c99928 0000557981a9a5f0
                                0x00007f12eb407dc8:   000055797e792800 000055797e792800
                                0x00007f12eb407dd8:   00007f12e7403940 000055797e792800
                                0x00007f12eb407de8:   00007f12e7403940 000055797e792800
                                0x00007f12eb407df8:   d85a256e98c0817f 00007f12e7403940
                                0x00007f12eb407e08:   00007f12e7403940 00007f12eb407ea0
                                0x00007f12eb407e18:   0000000000000000 00007f12e7403940
                                0x00007f12eb407e28:   00007f12eb407ed0 000055797e792800
                                0x00007f12eb407e38:   00007f1308ccd7f4 00007f12eb407ea0
                                0x00007f12eb407e48:   00007f1308ccd579 fffffffe00000000
                                0x00007f12eb407e58:   00007f1308ccd542 00007f12eb407e60
                                0x00007f12eb407e68:   00007f12e7403940 00007f12eb407ed0
                                0x00007f12eb407e78:   00007f12e7405c28 0000000000000000
                                0x00007f12eb407e88:   00007f12e7403940 0000000000000000
                                0x00007f12eb407e98:   00007f12eb407ec0 00007f12eb407f18
                                0x00007f12eb407ea8:   00007f1308cbd7d0 0000000000000000
                                0x00007f12eb407eb8:   00007f1308cc7260 0000000000000001
                                0x00007f12eb407ec8:   00000006d600e9a8 00000006d600b490
                                0x00007f12eb407ed8:   00007f12eb407ed8 00007f12e7404122
                                0x00007f12eb407ee8:   00007f12eb407f98 00007f12e7405c28
                                0x00007f12eb407ef8:   0000000000000000 00007f12e7404270
                                0x00007f12eb407f08:   00007f12eb407ec0 00007f12eb407f80
                                0x00007f12eb407f18:   00007f12eb407fe0 00007f1308cbdffd
                                0x00007f12eb407f28:   0000000000000000 0000000000000000
                                0x00007f12eb407f38:   0000000000000000 00000006d600e9a8 
                                
                                Instructions: (pc=0x00000000000037a6)
                                0x0000000000003786:   
                                [error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb]
                                
                                Register to memory mapping:
                                
                                RAX=0x0000000000000000 is an unknown value
                                RBX={method} {0x00007f12e7403940} 'testRead' '(Ljava/lang/String;I)Z' in 'gnu/io/RXTXCommDriver'
                                RCX=0x00007f13197e3f04: getpid+0x7 in /lib/ld-musl-x86_64.so.1 at 0x00007f131978d000
                                RDX=0x00007f131934828c: gHotSpotVMStructs+0x218f4 in /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server/libjvm.so at 0x00007f1318861000
                                RSP=0x00007f12eb407d48 is pointing into the stack for thread: 0x000055797e792800
                                RBP=0x0000000000000001 is an unknown value
                                RSI=0x0000000000000900 is an unknown value
                                RDI=0x000055797ccb99a0 is an unknown value
                                R8 =0x000055797ccb99ac is an unknown value
                                R9 =0x000055797ccb99a0 is an unknown value
                                R10=0x00000006d600e9d0 is pointing into object: 0x00000006d600e9c0
                                [C 
                                 - klass: {type array char}
                                 - length: 12
                                R11=0x0000000000000206 is an unknown value
                                R12=0x000055797ccb99a0 is an unknown value
                                R13=0x000055797e7929e0 is an unknown value
                                R14=0x00007f12eb407ec8 is pointing into the stack for thread: 0x000055797e792800
                                R15=0x0000000000000082 is an unknown value
                                
                                
                                Stack: [0x00007f12eb309000,0x00007f12eb409aa8],  sp=0x00007f12eb407d48,  free space=1019k
                                Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
                                C  0x00000000000037a6
                                
                                Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
                                j  gnu.io.RXTXCommDriver.testRead(Ljava/lang/String;I)Z+0
                                j  gnu.io.RXTXCommDriver.registerValidPorts([Ljava/lang/String;[Ljava/lang/String;I)V+202
                                j  gnu.io.RXTXCommDriver.registerScannedPorts(I)V+1466
                                j  gnu.io.RXTXCommDriver.initialize()V+35
                                j  gnu.io.CommPortIdentifier.getPortIdentifiers()Ljava/util/Enumeration;+53
                                j  gnu.io.NativeResource.testNativeCode()V+0
                                j  gnu.io.NativeResource.inJarLoad(Ljava/lang/String;)V+37
                                j  gnu.io.NativeResource.loadLib(Ljava/lang/String;)V+54
                                j  gnu.io.NativeResource.load(Ljava/lang/String;)V+138
                                j  gnu.io.SerialManager.<init>()V+23
                                j  gnu.io.SerialManager.getInstance()Lgnu/io/SerialManager;+10
                                j  gnu.io.RXTXCommDriver.<clinit>()V+39
                                v  ~StubRoutines::call_stub
                                J 1368  java.lang.Class.forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class; (0 bytes) @ 0x00007f1309151eba [0x00007f1309151e40+0x7a]
                                J 3010 C1 java.lang.Class.forName(Ljava/lang/String;)Ljava/lang/Class; (15 bytes) @ 0x00007f13096ee94c [0x00007f13096ee7a0+0x1ac]
                                j  gnu.io.CommPortIdentifier.<clinit>()V+12
                                v  ~StubRoutines::call_stub
                                j  org.openhab.binding.mysensors.internal.protocol.serial.MySensorsSerialConnection.establishConnection()Z+32
                                j  org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection.connect()Z+2
                                j  org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection.run()V+46
                                J 10253 C2 java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object; (14 bytes) @ 0x00007f1309884cac [0x00007f1309884c60+0x4c]
                                J 9236 C1 java.util.concurrent.FutureTask.runAndReset()Z (128 bytes) @ 0x00007f130a4cd17c [0x00007f130a4ccf00+0x27c]
                                J 9408 C1 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run()V (59 bytes) @ 0x00007f130a57bb8c [0x00007f130a57b600+0x58c]
                                J 8894 C1 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (225 bytes) @ 0x00007f130a3b8e3c [0x00007f130a3b7e00+0x103c]
                                j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
                                J 11172 C1 java.lang.Thread.run()V (17 bytes) @ 0x00007f1308f58584 [0x00007f1308f58440+0x144]
                                v  ~StubRoutines::call_stub
                                

                                Additional logs:

                                2018-01-08 20:55:18.426 [ERROR] [org.openhab.binding.mysensors       ] - [org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService(195)] Error during instantiation of the implementation object
                                java.lang.InstantiationException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService
                                	at java.lang.Class.newInstance(Class.java:427) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:237) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) ~[?:?]
                                	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?]
                                	at com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) ~[?:?]
                                	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?]
                                	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?]
                                	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?]
                                	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
                                	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) ~[?:?]
                                	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
                                	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) ~[?:?]
                                	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) ~[?:?]
                                	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) ~[?:?]
                                	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) ~[?:?]
                                	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) ~[?:?]
                                	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) ~[?:?]
                                	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) ~[?:?]
                                	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) ~[?:?]
                                	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) ~[?:?]
                                	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[?:?]
                                	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) ~[?:?]
                                	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
                                	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) ~[?:?]
                                	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?]
                                	at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?]
                                	at org.eclipse.smarthome.extensionservice.marketplace.internal.BindingExtensionHandler.install(BindingExtensionHandler.java:82) ~[?:?]
                                	at org.eclipse.smarthome.extensionservice.marketplace.internal.MarketplaceExtensionService.install(MarketplaceExtensionService.java:222) ~[?:?]
                                	at org.eclipse.smarthome.io.rest.core.internal.extensions.ExtensionResource.lambda$0(ExtensionResource.java:157) ~[?:?]
                                	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
                                	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
                                	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
                                	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
                                	at java.lang.Thread.run(Thread.java:748) [?:?]
                                Caused by: java.lang.NoSuchMethodException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService.<init>()
                                	at java.lang.Class.getConstructor0(Class.java:3082) ~[?:?]
                                	at java.lang.Class.newInstance(Class.java:412) ~[?:?]
                                	... 65 more
                                2018-01-08 20:55:18.450 [WARN ] [org.openhab.binding.mysensors       ] - FrameworkEvent WARNING - org.openhab.binding.mysensors
                                org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:232) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?]
                                	at com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) ~[?:?]
                                	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?]
                                	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?]
                                	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?]
                                	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
                                	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) ~[?:?]
                                	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
                                	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) ~[?:?]
                                	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) ~[?:?]
                                	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) ~[?:?]
                                	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) ~[?:?]
                                	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) ~[?:?]
                                	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) ~[?:?]
                                	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) ~[?:?]
                                	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) ~[?:?]
                                	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) ~[?:?]
                                	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) ~[?:?]
                                	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) ~[?:?]
                                	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[?:?]
                                	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) ~[?:?]
                                	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
                                	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) ~[?:?]
                                	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?]
                                	at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
                                	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?]
                                	at org.eclipse.smarthome.extensionservice.marketplace.internal.BindingExtensionHandler.install(BindingExtensionHandler.java:82) ~[?:?]
                                	at org.eclipse.smarthome.extensionservice.marketplace.internal.MarketplaceExtensionService.install(MarketplaceExtensionService.java:222) ~[?:?]
                                	at org.eclipse.smarthome.io.rest.core.internal.extensions.ExtensionResource.lambda$0(ExtensionResource.java:157) ~[?:?]
                                	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
                                	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
                                	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
                                	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
                                	at java.lang.Thread.run(Thread.java:748) [?:?] 
                                

                                Any ideas where to look?

                                K Offline
                                K Offline
                                kwull
                                wrote on last edited by
                                #100

                                @kwull, @TimO - I've solved the issue by changing docker base image. The issue described here - https://github.com/openhab/openhab-docker/issues/144

                                1 Reply Last reply
                                1
                                • seeersS Offline
                                  seeersS Offline
                                  seeers
                                  wrote on last edited by seeers
                                  #101

                                  Hi, I'd like to use the expert mode for viewing the raw messages from the serial gateway.
                                  I've created a new thing and item
                                  Thing:

                                   mySensorsMessage mySMsg01   [ nodeId=999, childId=999 ]
                                  

                                  Item:

                                  String mySMsg01  "MySensorsMessage"   { channel="mysensors:mySensorsMessage:gateway:mySMsg01:mySensorsMessage" }
                                  

                                  unfortunately i get no item state :
                                  openhab> smarthome:items list my*
                                  mySMsg01 (Type=StringItem, State=NULL, Label=MySensorsMessage, Category=null)

                                  did I do something wrong here?

                                  1 Reply Last reply
                                  0
                                  • seeersS Offline
                                    seeersS Offline
                                    seeers
                                    wrote on last edited by
                                    #102

                                    ok, it works after updating to snapshot 2.3
                                    btw: 2.3 requeres esh-io-transport-mqtt
                                    Intallation in karaf console:
                                    feature:install esh-io-transport-mqtt

                                    T 1 Reply Last reply
                                    0
                                    • seeersS seeers

                                      ok, it works after updating to snapshot 2.3
                                      btw: 2.3 requeres esh-io-transport-mqtt
                                      Intallation in karaf console:
                                      feature:install esh-io-transport-mqtt

                                      T Offline
                                      T Offline
                                      TimO
                                      Hero Member
                                      wrote on last edited by
                                      #103

                                      @seeers yes, I've located a bug in the expert mode an fixed it recently!

                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        LastSamurai
                                        Hardware Contributor
                                        wrote on last edited by
                                        #104

                                        @TimO I saw that you fixed some other bugs too in the repo. Will you create a new version 2.3 of the binding soon? Or will there be more changes first?
                                        As most of the changes (at least also) concern RGBW lighting I would really like to use it but I can't seem to build the binding locally (I postet the error in the git pr).

                                        1 Reply Last reply
                                        0
                                        • jocke4uJ jocke4u

                                          @timo Ok, so there is a plan to solve it in a better way than using rules?
                                          Do you have any guidance of using rules until then?

                                          NickBuilderN Offline
                                          NickBuilderN Offline
                                          NickBuilder
                                          wrote on last edited by NickBuilder
                                          #105

                                          @jocke4u, I really want my power node to work so I was going to try to make my own rule based on the "expert" strategy and the 999 node/child.

                                          But first I tried an even simpler approach, I added a var1-item from the power thing and now I have communication between node and gateway. Please give it a try yourself and see if it works for you.

                                          More specifically I defined the following item:
                                          Number PulseVar "Var1 [%d]" { channel="mysensors:power:gateway:pulseThing:var1" }

                                          Be sure to also persist the item. I store it in a mapdb dataset:
                                          PulseVar : strategy = everyChange, restoreOnStartup

                                          FYI, my thing is defined as follows:
                                          power pulseThing [ nodeId=50, childId=1 ]

                                          Please give it a try and come back with the outcome.

                                          EDIT: this feels like a too simple fix, I suspect that @TimO has made some changes in the 2.3 snapshot...

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          19

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular