MySensors Ethernet Gateway goes to OFFLINE state



  • Trying to set up OpenHAB 2 beta4 system to talk with MySensors GatewayW5100MQTT Client (2.0 Library) without success. I managed to install MySensors Binding into OpenHAB2 and i can add Things MySensors Ethernet Gateway on Paper UI. This gateway starts to initialize, but it will go into OFFLINE state.
    Have someone managed to get this working yet or shall I wait next beta OpenHAB release?


  • Hero Member

    @pentti12 The MQTT Gateway is not supported by the OH2 Mysensors binding. Use the MQTT binding from OH2 instead.



  • OK, but I am still confused, why MQTT Gateway is listed in Configuration Things of OpenHAB, but not the MQTT binding (binding-mqtt - 1.9.0.SNAPSHOT). OpenHAB shows that MQTT binding is installed state.


  • Hero Member

    I suppose you have used the configuration instructions for the ethernet gateway to connect to your MQTT gateway. The binding will be able to establish a TCP/IP connection this way, but they don't speak the same language.



  • So, what is your suggestion? Shall I go back to OpenHAB 1.8 or something else?


  • Hero Member

    No, just look for the instructions to use the MQTT gateway with OpenHAB. It works the same way with OH1 and OH2.
    If I recall correctly you need a MQTT broker like mosquitto and connect the gateway and OpenHAB to the broker. I'm using the MQTT binding with OH2 myself to communicate to nodered.

    The communication works this way:
    MQTT gateway --> Mosquitto --> OpenHAB
    (and vice versa)

    With the OH2 binding the communication is this way:
    Ethernet gateway --> OH2 binding --> OH2



  • I have mosquitto broker installed into Pine64 and it is up and running. MySensors GatewayW5100MQTT Client has establish the connection with mosquitto broker. But the OH2 log show:
    2016-11-20 10:09:15.875 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.items'
    2016-11-20 10:09:25.235 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.sitemap'
    2016-11-20 10:09:32.486 [INFO ] [basic.internal.servlet.WebAppServlet] - Started Basic UI at /basicui/app
    2016-11-20 10:09:34.022 [INFO ] [assic.internal.servlet.WebAppServlet] - Started Classic UI at /classicui/app
    2016-11-20 10:09:34.634 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /ui
    2016-11-20 10:09:35.139 [INFO ] [.dashboard.internal.DashboardService] - Started dashboard at /start
    2016-11-20 10:09:36.492 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
    2016-11-20 10:09:37.044 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type MAP

    What to do next?



  • I changed my Arduino UNO Sketch to GatewayW5100. Now I get MySensors Ethernet Gateway at OH2 into ONLINE state.
    Next question: how I configure MQTT gateway - Mosquitto - OpenHAB communication branch?



  • @pentti12

    I think we should clarify what should be setup. If you want to use mqtt gateway the have a look at https://forum.mysensors.org/topic/3605/can-t-get-openhab2-to-see-my-mqtt-messages
    Besides that I have the same setup like you. Openhab2 be, mysensors ethernet gateway. Works very reliable for four weeks now without any drops. I prefer this as we have a real oh2 binding with autodetection of things etc.

    Best regards
    jogant



  • Detection of Things worked from MySensors network (only one gateway and one node, which has temperature and humidity sensor). But I can't get real temperature nor humidity values to be shown on Paper UI control screen. I don't have glue what to do next.

    I don't understand why the Arduino MQTT Gateway is not supported by the OH2 Mysensors binding, so shall I go still to mqtt gateway direction?



  • @pentti12

    depends on what you want. At the moment there is no separate OH2 MQTT binding. You can use OH1 MQTT binding through compatibility layer but you will lose some features of OH2 like autodetection.
    To see values from a sensor in UI you have to define an item and link it to the thing whereas a thing can have lot of different sensors (two in your example) and you have to define an item for each sensor. You also can use autogeneration of items for new detected things. This is also a feature of OH2.
    If you use MQTT there is no autodetection. You have to define things through things configuration file(s) and also have to link items to thing-values. But you have to do it by hand.
    MQTT is the better choice if you plan to share your mysensors values with other controllers like node-red or similar. If you only use openhab then I would prefer using mysensors binding. That's what I did.



  • OK I stay with MySensors Binding and use MySensors Ethernet Gateway Things. And on Arduino side I use GatewayW5100 sketch.

    Still problem with getting real values of temperature or humidity. For example the Humidity Sensor is ONLINE and it has linked into Humidity channels, but when I switch to control screen of Paper UI, there is no humidity values reported (show -NaN). What is missing from OH2?



  • @pentti12

    did you debug your sensor? Does it transmit correct values for both temperature and humidity?
    I recognized that sometimes the initialization of the OH binding is not complete. So what I did was first restart mysensors binding via OH console (bundle:restart <mysensors binding number>), made a reset of the gateway and a reset of the sensor node. Then sensor node remains online with valid values.
    Or try to increase OH debugging and see what happens in OH logs. log:set DEBUG org.openhab.binding.mysensors and log:tail
    There you should see mysensor messages coming in. What do you see there?



  • OK, I will try to debug. It will take some time to done. I'll be back later on.


  • Hero Member

    @pentti12 This is a bug in the binding. Please restart OH2 (or just the binding as @jogant suggested) after discovery of a new device till I was able to fix the issue . After the restart it should work.



  • Hi

    I switched from win7 laptop to pine64 in order to continue searching problem.
    What I did:

    I started Karaf Console and restarted mysensors binding --> no help
    I restarted Arduino UNO Ethernet Gateway --> no help
    I restarted Arduino UNO Node 9 (which has temperature and humidity sensor) --> no help

    Here is the listing of the DEBUG:

    10:15:32.075 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while disposing handler of thing 'mysensors:humidity:a9d5757b': java.lang.NullPointerException
    java.util.concurrent.ExecutionException: java.lang.NullPointerException
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_101]
    at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_101]
    at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:186)
    at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:79)
    at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:63)
    at org.eclipse.smarthome.core.thing.internal.ThingManager.disposeHandler(ThingManager.java:857)
    at org.eclipse.smarthome.core.thing.internal.ThingManager.handlerRemoved(ThingManager.java:311)
    at org.eclipse.smarthome.core.thing.internal.ThingManager$ThingHandlerTracker.removedService(ThingManager.java:138)
    at org.eclipse.smarthome.core.thing.internal.ThingManager$ThingHandlerTracker.removedService(ThingManager.java:1)
    at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:967)[org.osgi.core-6.0.0.jar:]
    at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:870)[org.osgi.core-6.0.0.jar:]
    at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)[org.osgi.core-6.0.0.jar:]
    at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:909)[org.osgi.core-6.0.0.jar:]
    at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:222)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.unregisterHandler(BaseThingHandlerFactory.java:125)
    at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.deactivate(BaseThingHandlerFactory.java:79)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_101]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_101]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_101]
    at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_101]
    at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:295)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.manager.SingleComponentManager.disposeImplementationObject(SingleComponentManager.java:342)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.manager.SingleComponentManager.deleteComponent(SingleComponentManager.java:157)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:783)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:757)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.manager.AbstractComponentManager.dispose(AbstractComponentManager.java:550)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.config.ConfigurableComponentHolder.disposeComponents(ConfigurableComponentHolder.java:725)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:530)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:414)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.Activator.access$300(Activator.java:53)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.Activator$ScrExtension.destroy(Activator.java:273)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.utils.extender.AbstractExtender$2.run(AbstractExtender.java:290)[33:org.apache.felix.scr:2.0.2]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_101]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]
    at org.apache.felix.utils.extender.AbstractExtender.destroyExtension(AbstractExtender.java:312)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.utils.extender.AbstractExtender.bundleChanged(AbstractExtender.java:186)[33:org.apache.felix.scr:2.0.2]
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:902)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:165)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:75)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:67)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:102)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.container.Module.publishEvent(Module.java:466)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.container.Module.doStop(Module.java:624)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.container.Module.stop(Module.java:488)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.EquinoxBundle.stop(EquinoxBundle.java:420)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.apache.karaf.bundle.command.Restart.doExecute(Restart.java:44)[39:org.apache.karaf.bundle.core:4.0.4]
    at org.apache.karaf.bundle.command.BundlesCommand.execute(BundlesCommand.java:54)[39:org.apache.karaf.bundle.core:4.0.4]
    at org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:83)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:67)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:87)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:270)[54:org.apache.karaf.shell.core:4.0.4]
    at java.lang.Thread.run(Thread.java:745)[:1.8.0_101]
    Caused by: java.lang.NullPointerException
    at org.openhab.binding.mysensors.handler.MySensorsHandler.getBridgeHandler(MySensorsHandler.java:207)[201:org.openhab.binding.mysensors:2.0.0.201601251249]
    at org.openhab.binding.mysensors.handler.MySensorsHandler.dispose(MySensorsHandler.java:67)[201:org.openhab.binding.mysensors:2.0.0.201601251249]
    at org.eclipse.smarthome.core.thing.internal.ThingManager$12.call(ThingManager.java:860)[103:org.eclipse.smarthome.core.thing:0.9.0.201611102032]
    at org.eclipse.smarthome.core.thing.internal.ThingManager$12.call(ThingManager.java:1)[103:org.eclipse.smarthome.core.thing:0.9.0.201611102032]
    at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:177)[96:org.eclipse.smarthome.core:0.9.0.201611102032]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_101]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_101]
    ... 1 more
    10:15:32.165 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:temperature:9d001ab8' changed from ONLINE to UNINITIALIZED (HANDLER_MISSING_ERROR)
    10:15:32.167 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while disposing handler of thing 'mysensors:temperature:9d001ab8': java.lang.NullPointerException
    java.util.concurrent.ExecutionException: java.lang.NullPointerException
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_101]
    at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_101]
    at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:186)
    at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:79)
    at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:63)
    at org.eclipse.smarthome.core.thing.internal.ThingManager.disposeHandler(ThingManager.java:857)
    at org.eclipse.smarthome.core.thing.internal.ThingManager.handlerRemoved(ThingManager.java:311)
    at org.eclipse.smarthome.core.thing.internal.ThingManager$ThingHandlerTracker.removedService(ThingManager.java:138)
    at org.eclipse.smarthome.core.thing.internal.ThingManager$ThingHandlerTracker.removedService(ThingManager.java:1)
    at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:967)[org.osgi.core-6.0.0.jar:]
    at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:870)[org.osgi.core-6.0.0.jar:]
    at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)[org.osgi.core-6.0.0.jar:]
    at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:909)[org.osgi.core-6.0.0.jar:]
    at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:222)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.unregisterHandler(BaseThingHandlerFactory.java:125)
    at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.deactivate(BaseThingHandlerFactory.java:79)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_101]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_101]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_101]
    at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_101]
    at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:295)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.manager.SingleComponentManager.disposeImplementationObject(SingleComponentManager.java:342)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.manager.SingleComponentManager.deleteComponent(SingleComponentManager.java:157)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:783)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:757)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.manager.AbstractComponentManager.dispose(AbstractComponentManager.java:550)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.config.ConfigurableComponentHolder.disposeComponents(ConfigurableComponentHolder.java:725)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:530)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:414)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.Activator.access$300(Activator.java:53)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.scr.impl.Activator$ScrExtension.destroy(Activator.java:273)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.utils.extender.AbstractExtender$2.run(AbstractExtender.java:290)[33:org.apache.felix.scr:2.0.2]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_101]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]
    at org.apache.felix.utils.extender.AbstractExtender.destroyExtension(AbstractExtender.java:312)[33:org.apache.felix.scr:2.0.2]
    at org.apache.felix.utils.extender.AbstractExtender.bundleChanged(AbstractExtender.java:186)[33:org.apache.felix.scr:2.0.2]
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:902)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:165)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:75)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:67)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:102)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.container.Module.publishEvent(Module.java:466)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.container.Module.doStop(Module.java:624)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.container.Module.stop(Module.java:488)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.eclipse.osgi.internal.framework.EquinoxBundle.stop(EquinoxBundle.java:420)[org.eclipse.osgi-3.10.2.v20150203-1939.jar:]
    at org.apache.karaf.bundle.command.Restart.doExecute(Restart.java:44)[39:org.apache.karaf.bundle.core:4.0.4]
    at org.apache.karaf.bundle.command.BundlesCommand.execute(BundlesCommand.java:54)[39:org.apache.karaf.bundle.core:4.0.4]
    at org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:83)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:67)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:87)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94)[54:org.apache.karaf.shell.core:4.0.4]
    at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:270)[54:org.apache.karaf.shell.core:4.0.4]
    at java.lang.Thread.run(Thread.java:745)[:1.8.0_101]
    Caused by: java.lang.NullPointerException
    at org.openhab.binding.mysensors.handler.MySensorsHandler.dispose(MySensorsHandler.java:67)[201:org.openhab.binding.mysensors:2.0.0.201601251249]
    at org.eclipse.smarthome.core.thing.internal.ThingManager$12.call(ThingManager.java:860)[103:org.eclipse.smarthome.core.thing:0.9.0.201611102032]
    at org.eclipse.smarthome.core.thing.internal.ThingManager$12.call(ThingManager.java:1)[103:org.eclipse.smarthome.core.thing:0.9.0.201611102032]
    at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:177)[96:org.eclipse.smarthome.core:0.9.0.201611102032]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_101]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_101]
    ... 1 more
    10:15:32.485 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:temperature:9d001ab8' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING
    10:15:32.488 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:temperature:9d001ab8' changed from INITIALIZING to ONLINE
    10:15:32.494 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:bridge-eth:a8641691' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING
    10:15:32.513 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:bridge-eth:a8641691' changed from INITIALIZING to ONLINE
    10:15:32.542 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:humidity:a9d5757b' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING
    10:15:32.548 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:humidity:a9d5757b' changed from INITIALIZING to ONLINE

    So lot of stuff, which are unclear to me.



  • @pentti12

    At least the last 6 lines suggest that the initialization was successful. Seems that before mysensors has not been initialized completely and therefore dispose failed. Dispose is invoked through binding restart I think. So you can ignore theses failures.
    Are you now able to link items? Do you see incoming mysensors messages in the cycle you defined in the node?



  • If I look at the configuration from HABmin side, I see for example this:

    Channels [1 active, 2 total]
    Temperature

    Linked Items
    Temperature

    So there is some linked items!



  • @pentti12

    ok, but you have to see mysensor messages in the log file on a regularly basis. At least the default sketch for temperature and humidity sends updates every minute. Maybe your temperature is very constant then you will see updates every hour I think. Try to heat the node and let it cool down again.
    And connect your node or the gateway to the serial monitor. There you will see the mysensors activity. You should see OK for status updates and not to much NACK. Then you have a problem with your mysensors network.

    good luck ...



  • Here is the serial monitor printout from MySensors W5100 Gateway. I think that this listing is OK, but still there is no actual temperature nor humidity values at control screen of OH2 .

    0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
    0;255;3;0;9;TSM:INIT
    0;255;3;0;9;TSM:RADIO:OK
    0;255;3;0;9;TSM:GW MODE
    0;255;3;0;9;TSM:READY
    IP: 192.168.1.201
    0;255;3;0;9;No registration required
    0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=11,c=1,t=0,pt=7,l=5,sg=0:22.6
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=10,c=1,t=1,pt=7,l=5,sg=0:37.9
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=11,c=1,t=0,pt=7,l=5,sg=0:22.7
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSP:MSG:BC
    0;255;3;0;9;TSP:MSG:FPAR REQ (sender=9)
    0;255;3;0;9;TSP:CHKUPL:OK
    0;255;3;0;9;TSP:MSG:GWL OK
    0;255;3;0;9;TSP:MSG:SEND 0-0-9-9 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    0;255;3;0;9;TSP:MSG:READ 9-9-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSP:MSG:BC
    0;255;3;0;9;TSP:MSG:FPAR REQ (sender=9)
    0;255;3;0;9;TSP:CHKUPL:OK
    0;255;3;0;9;TSP:MSG:GWL OK
    0;255;3;0;9;TSP:MSG:SEND 0-0-9-9 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    0;255;3;0;9;TSP:MSG:READ 9-9-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSP:MSG:BC
    0;255;3;0;9;TSP:MSG:FPAR REQ (sender=9)
    0;255;3;0;9;TSP:CHKUPL:OK (FLDCTRL)
    0;255;3;0;9;TSP:MSG:GWL OK
    0;255;3;0;9;TSP:MSG:SEND 0-0-9-9 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    0;255;3;0;9;TSP:MSG:READ 9-9-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSP:MSG:BC
    0;255;3;0;9;TSP:MSG:FPAR REQ (sender=9)
    0;255;3;0;9;TSP:CHKUPL:OK (FLDCTRL)
    0;255;3;0;9;TSP:MSG:GWL OK
    0;255;3;0;9;TSP:MSG:SEND 0-0-9-9 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    0;255;3;0;9;TSP:MSG:READ 9-9-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSP:MSG:BC
    0;255;3;0;9;TSP:MSG:FPAR REQ (sender=9)
    0;255;3;0;9;TSP:CHKUPL:OK (FLDCTRL)
    0;255;3;0;9;TSP:MSG:GWL OK
    0;255;3;0;9;TSP:MSG:SEND 0-0-9-9 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    0;255;3;0;9;TSP:MSG:READ 9-9-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSP:MSG:BC
    0;255;3;0;9;TSP:MSG:FPAR REQ (sender=9)
    0;255;3;0;9;TSP:CHKUPL:OK
    0;255;3;0;9;TSP:MSG:GWL OK
    0;255;3;0;9;TSP:MSG:SEND 0-0-9-9 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSP:MSG:BC
    0;255;3;0;9;TSP:MSG:FPAR REQ (sender=9)
    0;255;3;0;9;TSP:CHKUPL:OK
    0;255;3;0;9;TSP:MSG:GWL OK
    0;255;3;0;9;TSP:MSG:SEND 0-0-9-9 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSP:MSG:BC
    0;255;3;0;9;TSP:MSG:FPAR REQ (sender=9)
    0;255;3;0;9;TSP:CHKUPL:OK
    0;255;3;0;9;TSP:MSG:GWL OK
    0;255;3;0;9;TSP:MSG:SEND 0-0-9-9 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    0;255;3;0;9;TSP:MSG:READ 9-9-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSP:MSG:BC
    0;255;3;0;9;TSP:MSG:FPAR REQ (sender=9)
    0;255;3;0;9;TSP:CHKUPL:OK
    0;255;3;0;9;TSP:MSG:GWL OK
    0;255;3;0;9;TSP:MSG:SEND 0-0-9-9 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=255,c=3,t=24,pt=1,l=1,sg=0:1
    0;255;3;0;9;TSP:MSG:PINGED (ID=9, hops=1)
    0;255;3;0;9;TSP:MSG:SEND 0-0-9-9 s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=ok:1
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=10,c=1,t=1,pt=7,l=5,sg=0:37.9
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=10,c=1,t=1,pt=7,l=5,sg=0:38.0
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=10,c=1,t=1,pt=7,l=5,sg=0:38.0
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK

    The problem must be on OpenHAB2 side. What to do next?



  • @pentti12
    you are right, your serial log looks ok. So at least your mysensors network is up and running. In the moment the gateway receives an update from a sensor you should also see an incoming message in OH log. If this is not the case there might be something wrong with your binding config. You know https://github.com/tobof/openhab2-addons/wiki? There are valuable hints. Only difference to my setup is that I'm using mysensors 2.0.1 beta. No idea whether this makes any difference. Besides that I have no further idea. Sorry.



  • I see from OH2 event log:

    2016-11-22 06:17:43.911 [hingStatusInfoChangedEvent] - 'mysensors:bridge-eth:19d1e911' changed from UNINITIALIZED to INITIALIZING
    2016-11-22 06:17:43.937 [hingStatusInfoChangedEvent] - 'mysensors:bridge-eth:19d1e911' changed from INITIALIZING to ONLINE
    2016-11-22 06:19:49.491 [ItemCommandEvent ] - Item 'mysensors_temperature_9d001ab8_battery' received command REFRESH
    2016-11-22 06:20:05.658 [ItemCommandEvent ] - Item 'mysensors_temperature_9d001ab8_temp' received command REFRESH
    2016-11-22 06:21:08.469 [ItemCommandEvent ] - Item 'mysensors_temperature_9d001ab8_battery' received command REFRESH

    And from OH2 log:

    2016-11-22 06:11:11.125 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'test.things' is either empty or cannot be parsed correctly!
    2016-11-22 06:11:11.194 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.things'
    2016-11-22 06:11:11.251 [ERROR] [rs.protocol.ip.MySensorsIpConnection] - Error while trying to connect InputStreamReader
    2016-11-22 06:11:11.255 [ERROR] [rs.protocol.ip.MySensorsIpConnection] - Something went wrong!
    2016-11-22 06:11:11.322 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'test.things'
    2016-11-22 06:12:08.388 [INFO ] [ome.io.rest.core.thing.ThingResource] - Received HTTP PUT request for update configuration at 'things/mysensors:bridge-eth:gateway/config' for an unmanaged thing 'mysensors:bridge-eth:gateway'.
    2016-11-22 06:12:32.535 [INFO ] [ome.io.rest.core.thing.ThingResource] - Received HTTP PUT request for update at 'things/mysensors:bridge-eth:gateway' for an unmanaged thing 'mysensors:bridge-eth:gateway'.
    2016-11-22 06:12:51.983 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'test.things'
    2016-11-22 06:12:51.990 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'test.things' is either empty or cannot be parsed correctly!
    2016-11-22 06:12:52.016 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.things'
    2016-11-22 06:12:52.072 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'test.things'
    2016-11-22 06:14:46.978 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'test.things'
    2016-11-22 06:14:46.986 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'test.things' is either empty or cannot be parsed correctly!
    2016-11-22 06:14:47.045 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.things'

    So there are some problems at least on test.things file:

    Bridge mysensors:bridge-eth:gateway [ ipAddress="192.168.1.201", tcpPort=5003, sendDelay=200, imperial=false ] {
    /** define things connected to that bridge here */
    humidity hum01 [ nodeId="9", childId="10" ]
    temperature temp01 [ nodeId="9", childId="11" ]
    }

    Any advice?



  • @pentti12

    ahh, try to leave out thing definition in config file and let OH discover things. After discovery remember to restart mysensors binding like @TimO explained. Then link discovered things to items and see if that works.
    Are you shure about your sonsor IDs? Usually they are numbered starting with 0.



  • No success!

    I ended up to the same situation, no real values of temperature nor humidity.
    OH2 cannot search things automatically. I added them manually after I configured the MySensors Gateway.



  • @pentti12

    here you see a snippet from my log while in DEBUG mode for mysensors binding:

    10:57:19.269 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    10:57:29.271 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    10:57:39.273 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    10:57:39.820 [INFO ] [marthome.event.ItemStateChangedEvent] - RTemp_EG_WZ_R_signal changed from -50 to -51
    10:57:42.145 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;255;3;0;21;0
    10:57:42.171 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 2 to 2016-11-22T10:57:42.169+0100
    10:57:42.174 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 2 to 2016-11-22T10:57:42.172+0100
    10:57:49.274 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    10:57:50.476 [INFO ] [marthome.event.ItemStateChangedEvent] - RTemp_UG_Ki_Li_signal changed from -61 to -60
    10:57:59.276 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    10:57:59.465 [INFO ] [marthome.event.ItemStateChangedEvent] - RTemp_UG_SZ_signal changed from -68 to -67
    10:58:09.278 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    10:58:19.280 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    10:58:29.282 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    10:58:30.810 [DEBUG] [rs.internal.protocol.MySensorsReader] - 1;0;1;0;23;80
    10:58:30.817 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 1 to 2016-11-22T10:58:30.815+0100
    10:58:30.824 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 1 to 2016-11-22T10:58:30.822+0100
    10:58:30.833 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 1 to 2016-11-22T10:58:30.831+0100
    10:58:30.837 [INFO ] [marthome.event.ItemStateChangedEvent] - Lightlevel changed from 81 to 80
    10:58:39.284 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    

    Here is the mysensors part my default.things

    Bridge mysensors:bridge-eth:gateway [ ipAddress="192.168.96.9", tcpPort=5003, sendDelay=200 ] {
         /** define things connected to that bridge here */
      }
    
    

    0_1479809074466_upload-a4b1d17f-3056-4c44-9f95-13fbeccae68b

    0_1479809140350_upload-320df1cc-3f4d-4893-8a5e-dc44d0045cba

    and the mysensors part of my items:

    /* mysensors Licht/Temp/Hum */
    Number Lightlevel "Helligkeit [%.0f %%]" <sun> (gLicht)                         { channel="mysensors:light-level:gateway:Light_level_1_0:light-level" }
    Number mySensors1Hum "Luftfeuchte [%.1f %%]" <water>                            { channel="mysensors:humidity:gateway:Humidity_1_1:hum" }
    Number mySensors1Temp "Temperatur [%.1f °C]" <temperature>                      { channel="mysensors:temperature:gateway:Temperature_1_2:temp" }
    
    

    Maybe this is of any help as I don't have an idea what's wrong with your config.


  • Hero Member

    Hi @pentti12 !
    Stop searching, there is a bug in the binding. I'm working on it. 😉



  • OK, TimO!

    I will wait for the new version until I continue!

    Pentti



  • @TimO
    funny that it works for me 😃


  • Hero Member

    @jogant Sadly it works fine in my devolpment and test environment, too. 😉
    If you are using a OH2 snapshot that is older than 11 days there is a chance that it still works but it's not predictable.



  • @TimO
    ok, I'm using OH2 b4, that is definitely older than 11 days.


  • Hero Member

    @pentti12 I've pushed a new version of the binding to github, please try it out and let me know if it helps.



  • Now I got only MySensors Ethernet Gateway into ONLINE state. The Humidity and Temperature Sensors (Things) stay UNINITIALIZED state.


  • Hero Member

    @pentti12 Have you deleted the things and newly discovered them? When the binding changes the mapdb (where discovered devices are stored) isn't updated as well. That's why I'm using the *.things files instead. If you try to remove the items errors could occure, this is another hint that this is the problem. After restart of OH2 the things should disappear.

    Another way to do this is:

    1. stop OH2
    2. rm /var/lib/openhab2/mapdb/*
    3. start OH2

    But this will delete all discovered things (not only MySensors)!



  • @pentti12 said:

    Now I got only MySensors Ethernet Gateway into ONLINE state. The Humidity and Temperature Sensors (Things) stay UNINITIALIZED state.

    I removed mapdb and things disappeared. I started OH2 again, but I got only MySensors Ethernet Gateway into ONLINE state after adding them manually The Humidity and Temperature Sensors (Things) stay UNINITIALIZED state.


  • Hero Member

    @pentti12 What does the log say?



  • @TimO I have exactly the same problem.

    My event.log is:

    2016-11-22 20:45:24.043 [temChannelLinkRemovedEvent] - Link 'mysensors_door_gateway_door01_armed => mysensors:door:gateway:door01:armed' has been removed.
    2016-11-22 20:54:35.089 [ItemChannelLinkAddedEvent ] - Link 'door01_tripped-mysensors:door:gateway:door01:tripped' has been added.
    2016-11-22 20:54:35.097 [ItemChannelLinkAddedEvent ] - Link 'door01_lastupdate-mysensors:door:gateway:door01:lastupdate' has been added.
    2016-11-22 20:54:35.671 [ThingAddedEvent           ] - Thing 'mysensors:bridge-ser:gateway' has been added.
    2016-11-22 20:54:35.682 [ThingAddedEvent           ] - Thing 'mysensors:door:gateway:door01' has been added.
    2016-11-22 20:54:36.702 [hingStatusInfoChangedEvent] - 'mysensors:bridge-ser:gateway' changed from UNINITIALIZED to INITIALIZING
    2016-11-22 20:54:36.713 [hingStatusInfoChangedEvent] - 'mysensors:door:gateway:door01' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
    2016-11-22 20:54:40.191 [hingStatusInfoChangedEvent] - 'mysensors:bridge-ser:gateway' changed from INITIALIZING to ONLINE
    2016-11-22 20:54:40.262 [hingStatusInfoChangedEvent] - 'mysensors:door:gateway:door01' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING
    2016-11-22 20:54:40.462 [hingStatusInfoChangedEvent] - 'mysensors:door:gateway:door01' changed from INITIALIZING to OFFLINE
    

    And my openhab.log is:

    2016-11-22 20:58:10.295 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped
    2016-11-22 20:58:11.254 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;4;1;0;16;1
    2016-11-22 20:58:16.264 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;255;3;0;0;23
    2016-11-22 20:58:20.297 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped
    2016-11-22 20:58:21.279 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;4;1;0;16;0
    2016-11-22 20:58:26.295 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;255;3;0;0;23
    2016-11-22 20:58:30.300 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped
    2016-11-22 20:58:31.319 [DEBUG] [rs.internal.protocol.MySensorsReader] - 2;4;1;0;16;1
    

    I have downloaded your last binding, and the last version of MySensors. Thanks



  • Event log:
    2016-11-22 18:57:07.915 [hingStatusInfoChangedEvent] - 'mysensors:humidity:dd0f7b9e' changed from UNINITIALIZED to INITIALIZING
    2016-11-22 18:57:07.928 [hingStatusInfoChangedEvent] - 'mysensors:humidity:dd0f7b9e' changed from INITIALIZING to UNINITIALIZED (HANDLER_INITIALIZING_ERROR): org.eclipse.smarthome.core.thing.Bridge.getHandler()Lorg/eclipse/smarthome/core/thing/binding/BridgeHandler;

    And Openhba log:

    2016-11-22 18:57:07.924 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while initializing handler of thing 'mysensors:humidity:dd0f7b9e': java.lang.NoSuchMethodError: org.eclipse.smarthome.core.thing.Bridge.getHandler()Lorg/eclipse/smarthome/core/thing/binding/BridgeHandler;
    java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: org.eclipse.smarthome.core.thing.Bridge.getHandler()Lorg/eclipse/smarthome/core/thing/binding/BridgeHandler;
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_101]
    at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_101]
    at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:186)[96:org.eclipse.smarthome.core:0.9.0.201611102032]
    at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:79)[96:org.eclipse.smarthome.core:0.9.0.201611102032]
    at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:63)[96:org.eclipse.smarthome.core:0.9.0.201611102032]
    at org.eclipse.smarthome.core.thing.internal.ThingManager$9.run(ThingManager.java:761)[103:org.eclipse.smarthome.core.thing:0.9.0.201611102032]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_101]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_101]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_101]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_101]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_101]
    at java.lang.Thread.run(Thread.java:745)[:1.8.0_101]
    Caused by: java.lang.NoSuchMethodError: org.eclipse.smarthome.core.thing.Bridge.getHandler()Lorg/eclipse/smarthome/core/thing/binding/BridgeHandler;
    at org.openhab.binding.mysensors.internal.handler.MySensorsThingHandler.getBridgeHandler(MySensorsThingHandler.java:284)
    at org.openhab.binding.mysensors.internal.handler.MySensorsThingHandler.initialize(MySensorsThingHandler.java:74)
    at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:764)
    at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:1)
    at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:177)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]
    ... 3 more



  • Update:

    I started from the scratch. I installed debian MATE and OH2-offline snapshot. I put the org.openhab.binding.mysensors-2.0.0-SNAPSHOT.jar into addons folder. I started openhab2 and after a while I got MySensors Ethernet Gateway and Temperature and Humidity Sensors ONLINE state.

    But still I cannot see any temperature nor humidity values from my sensors!

    Here is the Karaf Log after I pressed MySensorsGateway Reset button:

    08:35:40.194 [ERROR] [otocol.MySensorsNetworkSanityChecker] - Retry period expired, gateway is down. Disconneting bridge...
    08:35:40.196 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Request disconnection flag setted to: true
    08:35:44.213 [INFO ] [al.protocol.ip.MySensorsIpConnection] - Connection request disconnection...
    08:35:44.215 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Request disconnection flag setted to: false
    08:35:44.217 [INFO ] [otocol.MySensorsNetworkSanityChecker] - Network Sanity Checker thread stopped
    08:35:44.223 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Disconnecting from IP bridge ...
    08:35:44.227 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Stopping Writer thread
    08:35:44.241 [ERROR] [rs.internal.protocol.MySensorsWriter] - (java.lang.InterruptedException) on writing from serial port, message: class org.openhab.binding.mysensors.internal.protocol.ip.MySensorsIpWriter
    08:35:44.244 [DEBUG] [rs.internal.protocol.MySensorsReader] - Stopping Reader thread
    08:35:44.246 [ERROR] [rs.internal.protocol.MySensorsReader] - (java.lang.InterruptedException: sleep interrupted) on reading from serial port, message: class org.openhab.binding.mysensors.internal.protocol.ip.MySensorIpReader
    08:35:44.261 [DEBUG] [ternal.handler.MySensorsThingHandler] - MySensors Bridge Status updated to OFFLINE for device: mysensors:humidity:a825a6a7
    08:35:44.263 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [192.168.1.201:5003]
    08:35:44.267 [DEBUG] [ternal.handler.MySensorsThingHandler] - MySensors Bridge Status updated to OFFLINE for device: mysensors:temperature:43712fbc
    08:35:44.295 [WARN ] [al.protocol.ip.MySensorsIpConnection] - Skipping I_VERSION connection test, not recommended...
    08:35:44.305 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:temperature:43712fbc' changed from ONLINE to OFFLINE
    08:35:44.305 [DEBUG] [ternal.handler.MySensorsThingHandler] - MySensors Bridge Status updated to ONLINE for device: mysensors:humidity:a825a6a7
    08:35:44.313 [DEBUG] [ternal.handler.MySensorsThingHandler] - MySensors Bridge Status updated to ONLINE for device: mysensors:temperature:43712fbc
    08:35:44.325 [INFO ] [al.protocol.ip.MySensorsIpConnection] - Successfully connected to MySensors Bridge.
    08:35:44.349 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:bridge-eth:d18f7f4c' changed from ONLINE to OFFLINE
    08:35:44.354 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:humidity:a825a6a7' changed from ONLINE to OFFLINE
    08:35:44.361 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:bridge-eth:d18f7f4c' changed from OFFLINE to ONLINE
    08:35:44.373 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:humidity:a825a6a7' changed from OFFLINE to ONLINE
    08:35:44.392 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'mysensors:temperature:43712fbc' changed from OFFLINE to ONLINE
    08:35:54.341 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped

    So what to do next?



  • I think that your sensor will be online also when your node are switched off. I am working with SerialGateway not with ethernet, so I am not sure.

    Can you send us your .things and your .items? Have you write or automatically discover them?

    And output from your node?
    Keep the sensor connected to your computer and enable the Serial Monitor in the Arduino IDE. Tools>Serial Monitor.



  • Openhab2 detected things automatically, I don't use my own. Here is the sensor node monitor listing:

    B´AÚXStarting sensor (RNNNA-, 2.0.0)
    TSM:INIT
    TSM:RADIO:OK
    TSP:ASSIGNID:OK (ID=9)
    TSM:FPAR
    TSP:MSG:SEND 9-9-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
    TSM:FPAR
    TSP:MSG:SEND 9-9-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
    TSM:FPAR
    TSP:MSG:SEND 9-9-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
    TSP:MSG:READ 0-0-9 s=255,c=3,t=8,pt=1,l=1,sg=0:0
    TSP:MSG:FPAR RES (ID=0, dist=0)
    TSP:MSG:PAR OK (ID=0, dist=1)
    TSM:FPAR:OK
    TSM:ID
    TSM:CHKID:OK (ID=9)
    TSM:UPL
    TSP:PING:SEND (dest=0)
    TSP:MSG:SEND 9-9-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1
    TSP:MSG:READ 0-0-9 s=255,c=3,t=25,pt=1,l=1,sg=0:1
    TSP:MSG:PONG RECV (hops=1)
    TSP:CHKUPL:OK
    TSM:UPL:OK
    TSM:READY
    TSP:MSG:SEND 9-9-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100
    !TSP:MSG:SEND 9-9-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=fail:2.0.0
    TSP:MSG:SEND 9-9-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=1,st=ok:0
    TSP:MSG:SEND 9-9-0-0 s=255,c=3,t=11,pt=0,l=10,sg=0,ft=0,st=ok:My Bedroom
    TSP:MSG:SEND 9-9-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=ok:1.0
    TSP:MSG:SEND 9-9-0-0 s=10,c=0,t=7,pt=0,l=0,sg=0,ft=0,st=ok:
    TSP:MSG:SEND 9-9-0-0 s=11,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=ok:
    TSP:MSG:SEND 9-9-0-0 s=1,c=0,t=3,pt=0,l=0,sg=0,ft=0,st=ok:
    Request registration...
    TSP:MSG:SEND 9-9-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2
    TSP:MSG:READ 0-0-9 s=255,c=3,t=27,pt=1,l=1,sg=0:1
    Node registration=1
    Init complete, id=9, parent=0, distance=1, registration=1
    !TSP:MSG:SEND 9-9-0-0 s=11,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=fail:21.8
    T: 21.80
    TSP:MSG:SEND 9-9-0-0 s=10,c=1,t=1,pt=7,l=5,sg=0,ft=1,st=ok:24.2
    H: 24.20
    TSP:MSG:SEND 9-9-0-0 s=10,c=1,t=1,pt=7,l=5,sg=0,ft=0,st=ok:24.6
    H: 24.60
    TSP:MSG:SEND 9-9-0-0 s=11,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=ok:21.9
    T: 21.90
    TSP:MSG:SEND 9-9-0-0 s=10,c=1,t=1,pt=7,l=5,sg=0,ft=0,st=ok:25.4
    H: 25.40
    TSP:MSG:SEND 9-9-0-0 s=11,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=ok:22.0
    T: 22.00
    !TSP:MSG:SEND 9-9-0-0 s=10,c=1,t=1,pt=7,l=5,sg=0,ft=0,st=fail:25.3
    H: 25.30

    It is operating normally and it send both temperature and humidity values.



  • @pentti12
    everytime you see a SEND message in the node debug log, you should also see a READ message in your gateway. And than you should also see a SEND message to the controller and a message coming in in your openhab binding.
    So would you mind start logging all three stages of the message at the same time as I showed several posts before? If you don't see incoming messages in the binding log there is something wrong with your ethernet connection. Otherwise it's only guessing whats wrong.



  • Before I set up full logging environment, I wonder why I cannot get connection when I enter following command on the terminal window of OH2 server (Pine64):

    telnet localhost 5003

    unable to connect to remote host



  • I didn't see in your node log an ip assignament. Are your sketch configured to Ethernet Gateway?

    I think you should use some parameters:

    // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
    #define MY_IP_ADDRESS 192,168,178,87

    // If using static ip you need to define Gateway and Subnet address as well
    #define MY_IP_GATEWAY_ADDRESS 192,168,178,1
    #define MY_IP_SUBNET_ADDRESS 255,255,255,0

    // MQTT broker ip address or url. Define one or the other.
    //#define MY_CONTROLLER_URL_ADDRESS "m20.cloudmqtt.com"
    #define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 68

    I am not sure how to use Ethernet Gateway, perhaps this example help you

    https://github.com/mysensors/MySensors/blob/development/examples/GatewayW5100MQTTClient/GatewayW5100MQTTClient.ino



  • I am not using the MQTT gateway, I am using standard GatewayW5100.ino, which has correct IP-settings:

    #define MY_IP_ADDRESS 192,168,1,201 // If this is disabled, DHCP is used to retrieve address
    // Renewal period if using DHCP
    //#define MY_IP_RENEWAL_INTERVAL 60000
    // The port to keep open on node server mode / or port to contact in client mode
    #define MY_PORT 5003

    // Controller ip address. Enables client mode (default is "server" mode).
    // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere.
    #define MY_CONTROLLER_IP_ADDRESS 192, 168, 1, 185

    // The MAC address can be anything you want but should be unique on your network.
    // Newer boards have a MAC address printed on the underside of the PCB, which you can (optionally) use.
    // Note that most of the Ardunio examples use "DEAD BEEF FEED" for the MAC address.
    #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED

    And MySensors Ethernet Gateway is detected by Advanced IP Scanner and I can ping it and so on..



  • @pentti12

    the gateway is the server. You should succeed with telnet <ip_of_mysensors_gw> 5003



  • @pentti12

    Can you start manually your gateway with -d option to see the log?

    You should see there if your gateway its receiving messages. If you are receiving message then, the problem should be in the OH2



  • @Jic
    what do you mean with "start gateway manually -d option"? My gateway is a standalone device, ethernet connector on one side, nrf24 on the other, arduino in the middle connecting the other two parts.



  • Wait a minute! I think that from the original GatewayW5100 sketch there were missing the IP Gateway and subnet addresses!

    So I will recompile sketch and test again.



  • @pentti12

    slowly my image gets complete. Online/Offline status is resolved by OH2 binding via polling during initialization. Value updates are sent spontaneous by the gateway via callback, afair. So the gateway needs to know the address and mask of the controller to send values.



  • No help after new sketch loaded into GatewayW5100. OH2 log informs the same result:

    14:49:09.484 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped

    I will take a break - to be continued on next day...



  • @pentti12
    "connection skipped" message occurs frequently, usually every 10 seconds. That is normal and ok. But you should see messages from the gateway everytime the sensor nodes send updates, except the value is the same as before.



  • I connected my laptop into Ethernet Gateway. Here is a sample of monitoring listing:

    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.4
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=11,c=1,t=0,pt=7,l=5,sg=0:21.9
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.5
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=11,c=1,t=0,pt=7,l=5,sg=0:22.0
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=11,c=1,t=0,pt=7,l=5,sg=0:21.9
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.6
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.4
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.5
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.4
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.5
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.5
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.6
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.7
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.7
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=11,c=1,t=0,pt=7,l=5,sg=0:21.8
    0;255;3;0;9;TSP:MSG:READ 9-9-0 s=0,c=1,t=0,pt=7,l=5,sg=0:30.8

    So I think that this is OK, when I have only one sensor node alive.

    But still, how I shall modify my Arduino Gateway sketch in order to get OH2 server show temperature and humidity values?



  • @pentti12

    Could be permission problem?
    Can you connect your gateway on rpi and execute

    ls -l /dev/tty*
    

    I think you are using a ethernet gateway skecth, normaly it's should be mounted in /dev/ttyACM0

    Have you already execute

    sudo usermod -a -G dialout openhab
    

    Be sure that you have the las binding
    https://github.com/tobof/openhab2-addons/blob/MySensors/addons/binding/org.openhab.binding.mysensors/target/org.openhab.binding.mysensors-2.0.0-SNAPSHOT.jar
    and your openhab2 is updated.



  • I am running the Ethernet GatewayW5100 software on Arduino UNO. I don't have rpi, I have installed OH2 on Pine64. It is running debian Jessie and it is uptodate. Also the latest mysensors binding is in use. So what to next?



  • @pentti12 I am confused.

    Don't you need to connect your Ethernet GatewayW5100 by USB into your pine64?



  • OK, now Gateway is connected via USB into Pine64 and it is shown as /dev/ttyUSB0.



  • @pentti12 said:

    /dev/ttyUSB0

    Now, you need to configure your binding in your OH2?
    https://github.com/tobof/openhab2-addons/wiki/Configuration



  • I added into demo.things following line:

    Bridge mysensors:bridge-ser:gateway [ serialPort="dev/ttyUSB0", sendDelay=200 ] {

    In OH2 MySensor Serial Gateway stays OFFLINE state now. And also the Philips HUE things went OFFLINE state even if they have their own Bridge.

    Looks bad!



  • @pentti12 This configuration is for a Serial Gateway connected to GPIO, I think.

    You should use this one

    Bridge mysensors:bridge-eth:gateway [ ipAddress="127.0.0.1", tcpPort=5003, sendDelay=200 ] {
         /** define things connected to that bridge here */
      }
    

    But at this point I am really confused, I don't know how Ethernet Gateway works. I am not sure when I can help you.

    Do you need configure you ESSID and password of your WIFI in your sketch? or the ethernet Gateway geneate their own network?



  • Now I am confused, why I should bridge Ethernet Gateway, if I have USB-connection to MySensors Gateway only?

    I tried to use Ethernet Gateway connected into my local IP-network without success, so I think that I will end this work to this point. There seems no good instructions available what is missing or wrong on the MySensors openhab binding..



  • @pentti12

    Ok, sorry, I think I was wrong.
    Here has a similar example
    http://www.makeuseof.com/tag/diy-smart-home-sensors-arduino-mysensors-openhab/
    Could you try connecting it again separately, and configure in your OH2 and ethernet binding with the ip from your gatweay?



  • Can someone explain, why I cannot get real values from MySensors node, which has only temperature and humidity sensors?

    I can get the MySensors Ethernet Gateway into ONLINE STATE. I can get humidity and Temperature Sensors ONLINE STATE, but I cannot get real values from the node.

    What I see from OpenHAB2 log side is:

    09:31:45.356 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    09:31:45.375 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    09:31:48.356 [WARN ] [otocol.MySensorsNetworkSanityChecker] - I_VERSION message response is not arrived. Remained attempts before disconnection 1
    09:31:55.377 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    09:32:05.380 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped

    I think that there must be some error in MySensors Binding at the moment, because for example the Philips HUE bridge is working corretly via Openhab2 in the same Pine64 controller.



  • @pentti12

    This message is, following the information

    https://www.mysensors.org/download/serial_api_20

    node-id ; child-sensor-id ; message-type ; ack ; sub-type ; payload \n
    0; ;0 ;3 ;0 ;2 ;

    A message-type=3 means an internal message of the protocol
    Sub-type=2 means that it is ascking for the gateway version.

    You can find here how to disable it using skipStartupCheck=true
    https://github.com/tobof/openhab2-addons/wiki/Configuration

    Bridge mysensors:bridge-eth:gateway [ ipAddress="127.0.0.1", tcpPort=5003, sendDelay=200, skipStartupCheck=true ] {
         /** define things connected to that bridge here */
      }
    

    I hope this help you.


  • Hero Member

    Hey @pentti12!

    Which gateway are you using? Serial or Ethernet? You can't use the ethernet gateway via serial connection.

    Which sketch are you using?

    If you are using ethernet gateway sketch but used the serial connection this would explain why the binding could not get any response.



  • I am using Ethernet Gateway in my LAN. Gateway has static IP and it is accessible (ping works). Also port number 5003 is detected correctly.

    I am using standard GatewayW5100.ino sketch.

    How can I force OH2 to use only Ethernet-connection?


  • Hero Member

    Have you configured the gateway in the *.things file? How does it look?



  • Hello to all.

    I have similar problems as pentti12.
    Can not get values updated in OH2, there are always -NAN
    While with serial connection I get some reads in the log file, with eth connection I can't see any reads from gw.

    I've installed everything as per wiki several times without success.
    Radio connection between gw and nodes is running without problems.
    Previous testing gw with w5100MQTTClient sketch, was running perfectly

    My configuration:
    MySensors Binding: 2.0.0.201611221149
    OH2: 2.0.0-SNAPSHOT Build #629 running on debian
    gw: Arduino Uno with W5100 sketch
    Node: arduino nano with temp and humidity sensor.

    Could somebody help me in this.

    Regards!

    *** Debug for serial connection without skipping I-Version check
    2016-12-05 22:06:22.608 [DEBUG] [col.serial.MySensorsSerialConnection] - Connecting to /dev/ttyUSB0 [baudRate:115200]
    2016-12-05 22:06:22.634 [DEBUG] [col.serial.MySensorsSerialConnection] - Final port list: /dev/ttyUSB0
    2016-12-05 22:06:22.664 [DEBUG] [col.serial.MySensorsSerialConnection] - Successfully connected to serial port.
    2016-12-05 22:06:22.664 [DEBUG] [col.serial.MySensorsSerialConnection] - Waiting 3 seconds to allow correct reset trigger on serial connection opening
    2016-12-05 22:06:25.665 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
    2016-12-05 22:06:25.667 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSM:INIT
    2016-12-05 22:06:25.667 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSM:RADIO:OK
    2016-12-05 22:06:25.668 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSM:GW MODE
    2016-12-05 22:06:25.669 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSM:READY
    2016-12-05 22:06:25.669 [DEBUG] [rs.internal.protocol.MySensorsReader] - IP: 192.168.1.66
    2016-12-05 22:06:25.865 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    2016-12-05 22:06:26.665 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    2016-12-05 22:06:27.372 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;No registration required
    2016-12-05 22:06:27.372 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
    2016-12-05 22:06:27.665 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    2016-12-05 22:06:28.665 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    2016-12-05 22:06:29.665 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    2016-12-05 22:06:30.665 [ERROR] [col.serial.MySensorsSerialConnection] - Cannot start reading/writing thread, probably sync message (I_VERSION) not received. Try set skipStartupCheck to true
    2016-12-05 22:06:30.665 [ERROR] [col.serial.MySensorsSerialConnection] - Failed connecting to bridge...next retry in 10 seconds (Retry No.:27)
    2016-12-05 22:06:30.666 [DEBUG] [col.serial.MySensorsSerialConnection] - Shutting down serial connection!
    2016-12-05 22:06:30.666 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Stopping Writer thread
    2016-12-05 22:06:30.666 [ERROR] [rs.internal.protocol.MySensorsWriter] - (java.lang.InterruptedException) on writing from serial port, message: class org.openhab.binding.mysensors.internal.protocol.serial.MySensorsSerialWriter
    2016-12-05 22:06:30.669 [DEBUG] [rs.internal.protocol.MySensorsReader] - Stopping Reader thread
    2016-12-05 22:06:30.670 [ERROR] [rs.internal.protocol.MySensorsReader] - (java.lang.InterruptedException: sleep interrupted) on reading from serial port, message: class org.openhab.binding.mysensors.internal.protocol.serial.MySensorsSerialReader
    
    
    *** Debug for serial connection skipping I-Version check
    
    2016-12-05 22:16:52.785 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge
    2016-12-05 22:16:52.786 [DEBUG] [col.serial.MySensorsSerialConnection] - Set skip check on startup to: true
    2016-12-05 22:16:52.787 [DEBUG] [col.serial.MySensorsSerialConnection] - Enabling connection watchdog
    2016-12-05 22:16:52.789 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist.
    2016-12-05 22:16:52.789 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache (given_ids) content: [4]
    2016-12-05 22:16:52.789 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE!
    2016-12-05 22:16:52.793 [DEBUG] [col.serial.MySensorsSerialConnection] - Connecting to /dev/ttyUSB0 [baudRate:115200]
    2016-12-05 22:16:52.821 [DEBUG] [col.serial.MySensorsSerialConnection] - Final port list: /dev/ttyUSB0
    2016-12-05 22:16:52.851 [DEBUG] [col.serial.MySensorsSerialConnection] - Successfully connected to serial port.
    2016-12-05 22:16:52.851 [DEBUG] [col.serial.MySensorsSerialConnection] - Waiting 3 seconds to allow correct reset trigger on serial connection opening
    2016-12-05 22:16:55.852 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
    2016-12-05 22:16:55.855 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSM:INIT
    2016-12-05 22:16:55.856 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSM:RADIO:OK
    2016-12-05 22:16:55.855 [WARN ] [col.serial.MySensorsSerialConnection] - Skipping I_VERSION connection test, not recommended...
    2016-12-05 22:16:55.860 [DEBUG] [ternal.handler.MySensorsThingHandler] - MySensors Bridge Status updated to ONLINE for device: mysensors:power:9ba30e1b
    2016-12-05 22:16:55.862 [DEBUG] [ternal.handler.MySensorsThingHandler] - MySensors Bridge Status updated to ONLINE for device: mysensors:humidity:gateway:hum01
    2016-12-05 22:16:55.863 [INFO ] [col.serial.MySensorsSerialConnection] - Successfully connected to MySensors Bridge.
    2016-12-05 22:16:55.863 [WARN ] [col.serial.MySensorsSerialConnection] - Network Sanity Checker thread disabled from bridge configuration
    2016-12-05 22:16:55.867 [DEBUG] [ternal.handler.MySensorsThingHandler] - Event listener for node 4-10 not registered yet, registering...
    2016-12-05 22:16:55.867 [DEBUG] [ternal.handler.MySensorsThingHandler] - Event listener for node 4-6 not registered yet, registering...
    2016-12-05 22:16:55.868 [DEBUG] [ternal.handler.MySensorsThingHandler] - MySensors Bridge Status updated to ONLINE for device: mysensors:temperature:gateway:temp01
    2016-12-05 22:16:55.868 [DEBUG] [ternal.handler.MySensorsThingHandler] - Event listener for node 4-11 not registered yet, registering...
    2016-12-05 22:16:55.869 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSM:GW MODE
    2016-12-05 22:16:55.869 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSM:READY
    2016-12-05 22:16:55.869 [DEBUG] [rs.internal.protocol.MySensorsReader] - IP: 192.168.1.66
    2016-12-05 22:16:57.553 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;No registration required
    2016-12-05 22:16:57.558 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
    2016-12-05 22:17:00.811 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    2016-12-05 22:17:00.811 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:BC
    2016-12-05 22:17:00.812 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:FPAR REQ (sender=4)
    2016-12-05 22:17:00.818 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:CHKUPL:OK (FLDCTRL)
    2016-12-05 22:17:00.818 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:GWL OK
    2016-12-05 22:17:01.091 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    2016-12-05 22:17:02.854 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=24,pt=1,l=1,sg=0:1
    2016-12-05 22:17:02.857 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:PINGED (ID=4, hops=1)
    2016-12-05 22:17:02.868 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=ok:1
    2016-12-05 22:17:02.881 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    2016-12-05 22:17:02.924 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;!TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=fail:0100
    2016-12-05 22:17:02.935 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0
    2016-12-05 22:17:04.940 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=11,pt=0,l=13,sg=0:Motion Sensor
    2016-12-05 22:17:05.863 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped
    2016-12-05 22:17:06.765 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.0
    2016-12-05 22:17:08.599 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=9,c=0,t=1,pt=0,l=0,sg=0:
    2016-12-05 22:17:10.422 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=10,c=0,t=7,pt=0,l=0,sg=0:
    2016-12-05 22:17:12.248 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=26,pt=1,l=1,sg=0:2
    2016-12-05 22:17:12.258 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=ok:1
    2016-12-05 22:17:12.261 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=26,pt=1,l=1,sg=0:2
    2016-12-05 22:17:12.304 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;!TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=fail:1
    2016-12-05 22:17:12.309 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=26,pt=1,l=1,sg=0:2
    2016-12-05 22:17:12.320 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=ok:1
    2016-12-05 22:17:12.324 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:19.3
    2016-12-05 22:17:14.157 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:70.8
    2016-12-05 22:17:15.864 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped
    2016-12-05 22:17:15.980 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=6,c=1,t=38,pt=7,l=5,sg=0:4.788
    2016-12-05 22:17:25.864 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped
    2016-12-05 22:17:34.431 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=9,c=1,t=16,pt=0,l=1,sg=0:1
    2016-12-05 22:17:35.864 [DEBUG] [col.serial.MySensorsSerialConnection] - Bridge is connected, connection skipped
    2016-12-05 22:17:36.265 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:19.4
    2016-12-05 22:17:38.088 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:70.6
    2016-12-05 22:17:39.911 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=6,c=1,t=38,pt=7,l=5,sg=0:4.768
    2016-12-05 22:17:41.744 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;255;3;0;9;TSP:MSG:READ 4-4-0 s=9,c=1,t=16,pt=0,l=1,sg=0:0
    
    *** Debug for Ethernet connection without skipping I-Version check
    
    2016-12-05 22:23:12.927 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge
    2016-12-05 22:23:12.930 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Set skip check on startup to: false
    2016-12-05 22:23:12.931 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Enabling connection watchdog
    2016-12-05 22:23:12.934 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist.
    2016-12-05 22:23:12.935 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache (given_ids) content: [4]
    2016-12-05 22:23:12.937 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE!
    2016-12-05 22:23:12.938 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [192.168.1.66:5003]
    2016-12-05 22:23:13.148 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    2016-12-05 22:23:13.963 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    
    2016-12-05 22:23:14.963 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    2016-12-05 22:23:15.963 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    2016-12-05 22:23:16.964 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Sending to MySensors: 0;0;3;0;2;
    2016-12-05 22:23:17.964 [ERROR] [al.protocol.ip.MySensorsIpConnection] - Cannot start reading/writing thread, probably sync message (I_VERSION) not received. Try set skipStartupCheck to true
    2016-12-05 22:23:17.967 [ERROR] [al.protocol.ip.MySensorsIpConnection] - Failed connecting to bridge...next retry in 10 seconds (Retry No.:0)
    2016-12-05 22:23:17.968 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Disconnecting from IP bridge ...
    2016-12-05 22:23:17.968 [DEBUG] [rs.internal.protocol.MySensorsWriter] - Stopping Writer thread
    2016-12-05 22:23:17.971 [ERROR] [rs.internal.protocol.MySensorsWriter] - (java.lang.InterruptedException) on writing from serial port, message: class org.openhab.binding.mysensors.internal.protocol.ip.MySensorsIpWriter
    2016-12-05 22:23:17.975 [DEBUG] [ternal.handler.MySensorsThingHandler] - Configuration: node 4, chiledId: 10, revertState: false
    2016-12-05 22:23:17.976 [DEBUG] [ternal.handler.MySensorsThingHandler] - Event listener for node 4-10 not registered yet, registering...
    2016-12-05 22:23:17.977 [DEBUG] [ternal.handler.MySensorsThingHandler] - Configuration: node 4, chiledId: 11, revertState: false
    2016-12-05 22:23:17.977 [DEBUG] [ternal.handler.MySensorsThingHandler] - Event listener for node 4-11 not registered yet, registering...
    2016-12-05 22:23:17.990 [DEBUG] [rs.internal.protocol.MySensorsReader] - Stopping Reader thread
    2016-12-05 22:23:17.991 [ERROR] [rs.internal.protocol.MySensorsReader] - (java.lang.InterruptedException: sleep interrupted) on reading from serial port, message: class org.openhab.binding.mysensors.internal.protocol.ip.MySensorIpReader
    
    *** Debug for Ethernet connection skipping I-Version check
    
    2016-12-05 22:27:59.514 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Connecting to IP bridge [192.168.1.66:5003]
    2016-12-05 22:27:59.515 [DEBUG] [ternal.factory.MySensorsCacheFactory] - Cache (given_ids) content: [4]
    2016-12-05 22:27:59.515 [DEBUG] [ernal.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE!
    2016-12-05 22:27:59.525 [WARN ] [al.protocol.ip.MySensorsIpConnection] - Skipping I_VERSION connection test, not recommended...
    2016-12-05 22:27:59.527 [DEBUG] [ternal.handler.MySensorsThingHandler] - MySensors Bridge Status updated to ONLINE for device: mysensors:humidity:gateway:hum01
    2016-12-05 22:27:59.527 [INFO ] [al.protocol.ip.MySensorsIpConnection] - Successfully connected to MySensors Bridge.
    2016-12-05 22:27:59.528 [WARN ] [al.protocol.ip.MySensorsIpConnection] - Network Sanity Checker thread disabled from bridge configuration
    2016-12-05 22:27:59.528 [DEBUG] [ternal.handler.MySensorsThingHandler] - Event listener for node 4-10 not registered yet, registering...
    2016-12-05 22:27:59.528 [DEBUG] [ternal.handler.MySensorsThingHandler] - MySensors Bridge Status updated to ONLINE for device: mysensors:temperature:gateway:temp01
    2016-12-05 22:27:59.528 [DEBUG] [ternal.handler.MySensorsThingHandler] - Event listener for node 4-11 not registered yet, registering...
    
    2016-12-05 22:28:09.528 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    2016-12-05 22:28:19.528 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    
    

  • Hero Member

    @triceT you're trying to connect per serial to your ethernet gateway. Try connecting with the ethernet gateway configuration using the IP 192.168.1.66 and port 5003, like in the last output of your post. You only get the debug output of the serial gateway in OH2, the messages from the nodes are not forwarded to serial.

    The connection seems to be get established, but there is no answer to the I_VERSION message. Are you using RFM69? Did you try a "telnet 192.168.1.66 5003"? Do you see messages incoming?



  • @TimO Thanks for your help....

    I'm using nrf24 radio.
    When I telnet I receive only this:

    Trying 192.168.1.66...
    Connected to 192.168.1.66.
    Escape character is '^]'.

    No mesages are shown



  • This is what I'm getting on Arduino gw connecting over ethernet and setting skipstartupcheck to false. If I set skipstartupcheck to true, gw is not receiving anything from ethernet.

    0;255;3;0;9;Eth: connect
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth:
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth:
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth: disconnect
    0;255;3;0;9;Eth: connect
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth:
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth:
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth: disconnect


  • Hero Member

    @triceT Are you sure the gateway isn't in a boot loop? Could you please check serial debug if it gets started over and over again?



  • @TimO I guess it is not in a loop. Here is the serial debug...

    0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
    0;255;3;0;9;TSM:INIT
    0;255;3;0;9;TSM:RADIO:OK
    0;255;3;0;9;TSM:GW MODE
    0;255;3;0;9;TSM:READY
    IP: 192.168.1.66
    0;255;3;0;9;No registration required
    0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
    0;255;3;0;9;Eth: connect
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth: 
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth: 
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth: disconnect
    0;255;3;0;9;Eth: connect
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;TSP:MSG:READ 4-4-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSP:MSG:BC
    0;255;3;0;9;TSP:MSG:FPAR REQ (sender=4)
    0;255;3;0;9;TSP:CHKUPL:OK
    0;255;3;0;9;TSP:MSG:GWL OK
    0;255;3;0;9;TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
    0;255;3;0;9;Eth: 
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=24,pt=1,l=1,sg=0:1
    0;255;3;0;9;TSP:MSG:PINGED (ID=4, hops=1)
    0;255;3;0;9;TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=ok:1
    0;255;3;0;9;Eth: 
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    0;255;3;0;9;TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=0,t=17,pt=0,l=5,sg=0:2.0.0
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=11,pt=0,l=13,sg=0:Motion Sensor
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.0
    0;255;3;0;9;Eth: disconnect
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=26,pt=1,l=1,sg=0:2
    0;255;3;0;9;TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=ok:1
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=26,pt=1,l=1,sg=0:2
    0;255;3;0;9;TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=ok:1
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=26,pt=1,l=1,sg=0:2
    0;255;3;0;9;TSP:MSG:SEND 0-0-4-4 s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=ok:1
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=11,c=1,t=0,pt=7,l=5,sg=0:19.4
    0;255;3;0;9;TSP:MSG:READ 4-4-0 s=10,c=1,t=1,pt=7,l=5,sg=0:61.7
    0;255;3;0;9;Eth: connect
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth: disconnect
    0;255;3;0;9;Eth: connect
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth: 
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth: 
    0;255;3;0;9;Eth: 0;0;3;0;2;
    0;255;3;0;9;Eth: disconnect
    0;255;3;0;9;TSP:SANCHK:OK
    


  • @TimO brief setup: controller and serial gateway on raspberryPi running OH2, serial working OK. Trying to add ESP8266 Huzzah gateway with only local sensor, DHT22 - no radio. It seems I have a similar situation as others, but before I post all my setup and logs a question for you: when using both a serial gateway and ethernet gateway can they be named the same, "gateway", in things file? What bothers me is the "channel" in the items file ends up looking like it is from the same source or am I missing something?

    Things file:

    Bridge mysensors:bridge-ser:gateway [ serialPort="/dev/ttyMySensorsGateway", sendDelay=200 ]
    {
       /** define things connected to that bridge here */
       humidity         hum01   [ nodeId="1", childId="0" ]
       temperature      temp01  [ nodeId="1", childId="1" ]
       humidity         hum02   [ nodeId="1", childId="2" ]
       temperature      temp02  [ nodeId="1", childId="3" ]
       humidity         hum03   [ nodeId="1", childId="4" ]
       temperature      temp03  [ nodeId="1", childId="5" ]
       power            power01 [ nodeId="2", childId="0" ]
       mySensorsMessage mySMsg01    [ nodeId="999", childId="999" ]
    }
    Bridge mysensors:bridge-eth:gateway [ ipAddress="192.168.1.113", tcpPort=5003, sendDelay=200 ]
    {
       /** define things connected to that bridge here */
       humidity         hum04   [ nodeId="3", childId="0" ]
       temperature      temp04  [ nodeId="3", childId="1" ]
    }
    

    Items file snippet (hum02/temp02 on serial GW and hum04/temp04 on eth GW)

    Number mHum                 "Master Humidity [%.0f %%]"             <humidity>      (grpChart,grpTemperatures)  { channel="mysensors:humidity:gateway:hum02:hum" }
    Number mTemp                "Master Temperature"                    <temperature>                               { channel="mysensors:temperature:gateway:temp02:temp" }
    Number bHum                 "Bean's Humidity [%.0f %%]"             <humidity>      (grpChart,grpTemperatures)  { channel="mysensors:humidity:gateway:hum04:hum" }
    Number bTemp                "Bean's Temperature"                    <temperature>                               { channel="mysensors:temperature:gateway:temp04:temp" }
    
    

  • Hero Member

    @carlyler The name must be unique for each gateway. So please change that first and report back, if that solves the problem.


  • Hero Member

    @triceT Just to make sure it is still working with the current snapshot I made a clean install.

    I've used:

    • OH2 Snapshot #631
    • current Binding
    • MySensors 2.0.0
    • Ethernet Gateway (Arduino Uno + Ethernet Shield + NRF24L01+)

    Everything works just fine, so don't give up! 🙂



  • @TimO thanks for the reply. I changed mysensors:bridge-eth:gateway to mysensors:bridge-eth:ethGateway in things and items, restarted OH2, reset ESP8266, several times, but no luck. If I read this right the GW is not trying to do much, ie get node id, present sensor, send data, etc. Any idea?

    GW serial:

    0;255;3;0;9;MCO:BGN:STP
    0;255;3;0;9;MCO:SLP:MS=2000,SMS=0,I1=255,M1=255,I2=255,M2=255
    0;255;3;0;9;MCO:SLP:WUP=-2
    0;255;3;0;9;MCO:BGN:INIT OK,TSP=NA
    Getting temperature
    T: 20.00
    H: 34.70
    Getting temperature
    T: 20.10
    H: 33.90
    

    I am trying to set node id in sketch:

    // Set this to the pin you connected the DHT's data pin to
    #define DHT_DATA_PIN 2
    
    // Enable debug prints to serial monitor
    #define MY_DEBUG
    #define MY_GATEWAY_ESP8266
    // ethernet settings
    #define MY_ESP8266_SSID "xxxxxx"
    #define MY_ESP8266_PASSWORD "xxxxxxxxxx"
    
    // Enable UDP communication
    //#define MY_USE_UDP
    
    // Set the hostname for the WiFi Client. This is the hostname
    // it will pass to the DHCP server if not static.
    #define MY_ESP8266_HOSTNAME "HuzzahGateway"
    
    // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
    //#define MY_IP_ADDRESS 192,168,213,113
    
    // If using static ip you need to define Gateway and Subnet address as well
    //#define MY_IP_GATEWAY_ADDRESS 192,168,213,1
    //#define MY_IP_SUBNET_ADDRESS 255,255,255,0
    
    // The port to keep open on node server mode
    #define MY_PORT 5003
    // How many clients should be able to connect to this gateway (default 1)
    #define MY_GATEWAY_MAX_CLIENTS 1
    
    // Controller ip address. Enables client mode (default is "server" mode).
    // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere.
    //#define MY_CONTROLLER_IP_ADDRESS 192,168,213,116
    
    // Flash leds on rx/tx/err
    // Led pins used if blinking feature is enabled above
    #define MY_DEFAULT_ERR_LED_PIN 16  // Error led pin
    #define MY_DEFAULT_RX_LED_PIN  16  // Receive led pin
    #define MY_DEFAULT_TX_LED_PIN  16  // the PCB, on board LED
    #define MY_NODE_ID 3
    
    #include <SPI.h>
    #include <ESP8266WiFi.h>
    #include <MySensors.h>
    #include <DHT.h>
    
    

  • Hero Member

    @carlyler Serial log looks good. The gateway is receiving it's IP per DHCP, right? Is the IP you configured above still correct? I prefer a static IP for my gateway to prevent a changing of the IP.

    Is the gateway reachable by ping? Are you able to connect with "telnet IP 5003" to the gateway?



  • @TimO DHCP: yes, but it is actually static by way of reserved addresses via MAC in the router.
    IP: same
    ping: yes, works
    telnet, yes, all I see is:

    0;255;3;0;14;Gateway startup complete.
    

    Serial is OK? I do not see the send of the Temp and hum; it is printing it because there is code to do that, but I am expecting the MySensors send command; right? My thought was it is not transmitting them for some reason. This is an area I am not confident about and have yet to find a good explanation of it: how a GW handles local sensors. Thoughts?



  • @TimO I have the exact hardware (Mine is Chinese) and SW versions as you, but still can't connect via Ethernet gw. I will not give up till it is working 🙂 I've ordered another Ethernet shield and will try with the new one.

    Regards



  • @TimO Good news! I finally got it to work; I have been using the dev, 2.1.0, and decided to try master, 2.0.0 and it came right up! I did notice one thing though that you may be interested in: if I start the ethGateway after OH2 is up, or turn it off and back on, the binding does not reconnect. Not sure if there is anything you can do about that.
    One other change to mention (before changing to v2.0.0): I found a note from hek about the node id of gateway local sensors will always be 0; I changed that in my things file and in my sketch.

    16:34:59.286 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;1;1;0;0;12.5
    16:34:59.291 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 0 to 2016-12-10T16:34:59.289-0500
    16:34:59.300 [DEBUG] [ternal.handler.MySensorsThingHandler] - Setting last update for node 0 to 2016-12-10T16:34:59.297-0500
    16:34:59.333 [INFO ] [marthome.event.ItemStateChangedEvent] - bTemp changed from 12.8 to 12.5
    16:34:59.354 [INFO ] [marthome.event.ItemStateChangedEvent] - bTempF changed from 55.04 to 54.50
    16:34:59.365 [INFO ] [marthome.event.ItemStateChangedEvent] - bTempC_F changed from 12.8 °C / 55.0 °F to 12.5 °C / 54.5 °F
    16:34:59.490 [DEBUG] [al.protocol.ip.MySensorsIpConnection] - Bridge is connected, connection skipped
    16:34:59.583 [DEBUG] [rs.internal.protocol.MySensorsReader] - 0;0;1;0;1;34.1
    16:34:59.593 [INFO ] [marthome.event.ItemStateChangedEvent] - bHum changed from 34.2 to 34.1
    

    @hek I could be wrong, or maybe something has changed configuration wise but as you can see from above posts, dev branch v2.1.0, the radioless ethernet (ESP8266) gateway with local temp & hum sensors was not sending local sensor data. When I switched back to master v2.0.0 it started sending.



  • @carlyler
    The issue with the oh2 binding is known. You have to restart oh2 or just the binding through oh console and binding:restart
    Maybe an update of the binding may help but I didn't try yet.



  • @jogant Thank you. I did not know about the binding restart so I will look into that.



  • @TimO
    yesterday I tried the new binding with OH2 b4 and I have exactly the faulty behavior as described before. The gateway goes in online state but none of the mysensor node items goes online. They remain uninitialized. I restored the older binding and everything works well again. As it is the same behavior that @pentti12 describes I think it has to with the binding itself.

    @pentti12 : please try attached binding as that works for me. 0_1482134888619_org.openhab.binding.mysensors-2.0.0-SNAPSHOT.jar
    it is an older snapshot from November, 7th.
    Good luck



  • @jogant I moved to different location here in Espoo, so it will take a couple of days before I can continue with proposed MySensors binding, but it is good to know that there is at least one working solution available.


  • Hero Member

    @jogant you're right, as stated in the wiki the current binding version is only working together with the current snapshot release. I had no luck while trying to create a binding that is backward compatible.



  • @TimO

    now I tried the new combination of a recent OH2 snapshot as of 2016-12-21 with the recent mysensors binding. I had to restart the gateway and every single node but then everything works well. The nodes were found in the inbox and could be acknowledged as new things. Values are transmitted regularly and my relay node follows the switch items as desired. So no glitch at the moment.
    Well done @TimO.


Log in to reply
 

Suggested Topics

  • 22
  • 2
  • 7
  • 19
  • 10
  • 5

0
Online

11.2k
Users

11.1k
Topics

112.5k
Posts