Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ZWave] Greenwave PowerNode: error on second switch (?!) and no kWh #850

Closed
thopiekar opened this issue Apr 27, 2016 · 14 comments
Closed

[ZWave] Greenwave PowerNode: error on second switch (?!) and no kWh #850

thopiekar opened this issue Apr 27, 2016 · 14 comments
Assignees
Labels
awaiting feedback Awaiting feedback from the pull request author

Comments

@thopiekar
Copy link
Member

thopiekar commented Apr 27, 2016

Hey,

I'm new to openHab2 and I'd like to get my UZB1 working with a Greenwave PowerNode.
After adding the device I noticed that there are multiple entries, so I checked whether they are valid.
Additonally I'm also missing the output of the wheel, where I can choose a number/state from.

At least binary_switch works so far..
PS: The device does not own a second switch..

sitemap

zwave

        Frame label="Zwischenstecker (Z-Wave)" {
                Switch item=Greenwave_PowerNode_1_switch
                Text item=Greenwave_PowerNode_1_watts
                Text item=Greenwave_PowerNode_1_kwh
                Text item=Greenwave_PowerNode_1_alarm
                Switch item=Greenwave_PowerNode_1_switch1
                Text item=Greenwave_PowerNode_1_watts1
                Text item=Greenwave_PowerNode_1_kwh1
                Text item=Greenwave_PowerNode_1_alarm1
        }

zwave.items

/* Greenwave PowerNode #1 */
Switch Greenwave_PowerNode_1_switch    "Greenwave PowerNode (switch_binary)"      { channel="zwave:device:5ec07f15:node4:switch_binary"}
Number Greenwave_PowerNode_1_watts     "Greenwave PowerNode (meter_watts) [%f W]" { channel="zwave:device:5ec07f15:node4:meter_watts"}
Number Greenwave_PowerNode_1_kwh       "Greenwave PowerNode (meter_kwh) [%f kWh]" { channel="zwave:device:5ec07f15:node4:meter_kwh"}
Number Greenwave_PowerNode_1_alarm     "Greenwave PowerNode (alarm_general) [%s]" { channel="zwave:device:5ec07f15:node4:alarm_general"}
Switch Greenwave_PowerNode_1_switch1   "Greenwave PowerNode (switch_binary1)"      { channel="zwave:device:5ec07f15:node4:switch_binary1"}
Number Greenwave_PowerNode_1_watts1    "Greenwave PowerNode (meter_watts1) [%f W]" { channel="zwave:device:5ec07f15:node4:meter_watts1"}
Number Greenwave_PowerNode_1_kwh1      "Greenwave PowerNode (meter_kwh) [%f kWh]" { channel="zwave:device:5ec07f15:node4:meter_kwh1"}
Number Greenwave_PowerNode_1_alarm1    "Greenwave PowerNode (alarm_general) [%s]" { channel="zwave:device:5ec07f15:node4:alarm_general1"}

log

21:58:05.595 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while calling handler: java.lang.NullPointerException
java.util.concurrent.ExecutionException: java.lang.NullPointerException
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_03-Ubuntu]
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_03-Ubuntu]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:179)[95:org.eclipse.smarthome.core:0.8.0.201604221705]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:72)[95:org.eclipse.smarthome.core:0.8.0.201604221705]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:56)[95:org.eclipse.smarthome.core:0.8.0.201604221705]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.receiveCommand(ThingManager.java:362)[101:org.eclipse.smarthome.core.thing:0.8.0.201604221705]
        at org.eclipse.smarthome.core.items.events.AbstractItemEventSubscriber.receive(AbstractItemEventSubscriber.java:46)[95:org.eclipse.smarthome.core:0.8.0.201604221705]
        at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:192)[95:org.eclipse.smarthome.core:0.8.0.201604221705]
        at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1)[95:org.eclipse.smarthome.core:0.8.0.201604221705]
        at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:170)[95:org.eclipse.smarthome.core:0.8.0.201604221705]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_03-Ubuntu]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_03-Ubuntu]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_03-Ubuntu]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_03-Ubuntu]
Caused by: java.lang.NullPointerException
        at org.openhab.binding.zwave.internal.converter.ZWaveBinarySwitchConverter.receiveCommand(ZWaveBinarySwitchConverter.java:87)[161:org.openhab.binding.zwave:2.0.0.201604262000]
        at org.openhab.binding.zwave.handler.ZWaveThingHandler.handleCommand(ZWaveThingHandler.java:922)[161:org.openhab.binding.zwave:2.0.0.201604262000]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$2.call(ThingManager.java:365)[101:org.eclipse.smarthome.core.thing:0.8.0.201604221705]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$2.call(ThingManager.java:1)[101:org.eclipse.smarthome.core.thing:0.8.0.201604221705]
        ... 5 more

Sorry, if I misunderstand something here...

@cdjackson
Copy link

cdjackson commented Apr 28, 2016

Additonally I'm also missing the output of the wheel, where I can choose a number/state from.

How is this provided? Isn’t it read back in the configuration?

I’ve just made a change that might help the error that you logged. Please provide a debug log from tomorrows update if the problem persists.

@thopiekar
Copy link
Member Author

thopiekar commented Apr 28, 2016

By updating you probably mean to reinstall the binding, isn't it?

Correct.

@thopiekar
Copy link
Member Author

Reinstalled the binding now. This is what I get when clicking on the switch_binary1 switch:

switch1.txt

@cdjackson
Copy link

I don't think the log file is any use for this issue. Please can you redo it with a working binding? Please also tell me what the device is since there are a number of greenwave switches in the database - ideally the XML would be useful.

@cdjackson cdjackson self-assigned this Apr 30, 2016
@cdjackson cdjackson added the awaiting feedback Awaiting feedback from the pull request author label May 1, 2016
@thopiekar
Copy link
Member Author

The switch looks like this:
There are three inputs:

  1. the ON/OFF button, which lights up depending on the state
  2. the wheel in the lower right corner, where you can set different readonly positions (0...9, locked)
    2.1 For a reason this is only accessible via parameters. Don't know how to catch any value from that as item
  3. the button on the bottom (you can't see it here), where you can include/exclude/wake up and run a factory reset.
    GreenwaveSwitch

I also saw connector strips from Greenwave, so I guess the misunderstanding here is that binary_switch1 does not exists. In case of the connector strips binary_switch1 would be the second plug, but there only one is available. That is why binary_switch works correctly.

@cdjackson
Copy link

So I think the issue is that the database has an extra endpoint that doesn't really exist - I'm not sure who added that, but I'll remove it. For now, I simply suggest not using it - ie just don't link the channel.

The wheel isn't available as an item - I'm not sure why you would need this, but it's not available at the moment. What is the use case for this - to me, it's a configiration item used to allow you to determine what device you're looking at - why does it need to be dynamic?

@thopiekar
Copy link
Member Author

thopiekar commented May 21, 2016

I think the idea of having this wheel as an item is eg. to send "scenes" to different devices. Like the keyfob does. For a reason they just made this input a read-only parameter.
While reading the manual, it's only function is to send the position to the gateway. Thus this should be available as a item.

Parameter 2: Wheel position:
Attention. This parameter is set at the device and sends the parameter to the gateway.

@cdjackson
Copy link

I don’t see how you intend to use it though? I would have expected that you read it back during the initialisation of the device so that you know that itemX is the blue device, but after that, you use itemX for your scenes etc. Or am I missing something.

Having this available as an item, or not having it available, doesn’t stop you with scenes does it?

@cdjackson
Copy link

No activity so closing for now.

@thopiekar
Copy link
Member Author

Sorry for the late reply. The device is working good as far as I need it.
However here are the photos of the device.

img_20160802_122145
img_20160802_122154
img_20160802_122203
img_20160802_122218
img_20160802_122242

As you can see you can only plug in one device, so having switch_binary1, etc. doesn't make any sense here.

@cdjackson
Copy link

As you can see you can only plug in one device, so having switch_binary1, etc. doesn't make any sense here.

These are generated automatically from the XML since the device reports a single and a multi instance switch. There's no-way to know that these are the same switch, so the database generates both. We could easily remove one.

@thopiekar
Copy link
Member Author

Yes, this would be great 👍

@thopiekar
Copy link
Member Author

Oh, and is there a way to read the parameters now? The position of the wheel you see above is provided by an parameter. At the moment I don't need the value/position, but it could be useful one day.

@cdjackson
Copy link

No - there's no way to read parameters, and as stated earlier, it's not my intention to make every parameter available as a channel - otherwise we will have 'channel explosion' and I don't think it's good (databases will get very large and people will end up with thousands of items even with a small network!).

As discussed earlier, I don't see the need for the wheel to be readable dynamically - if there's a good use case, then I'm happy to be convinced, but at the moment I don't think it's useful.

wborn added a commit to wborn/openhab-addons that referenced this issue Feb 20, 2019
Signed-off-by: Wouter Born <eclipse@maindrain.net>
Flole998 pushed a commit to Flole998/openhab-addons that referenced this issue Dec 30, 2021
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting feedback Awaiting feedback from the pull request author
Projects
None yet
Development

No branches or pull requests

2 participants