Plugwise binding

I think sending it back would be the better option especially since you don’t use any other Plugwise modules. The Stealth is probably a Stealth+ (grey back) which may give issues because it is not standard to use with a Stick. Usually a Circle+ is used and I don’t think using a Circle+ and Stealth+ in the same network is possible.

Today the new openHAB 2 Plugwise Binding got merged into the openHAB source tree. :slight_smile: :tada:

This means it will soon be part of the openHAB 2.2.0-SNAPSHOT nightly builds. The old openHAB 1 binding will still be available as a legacy binding.

Wouter, I installed the 2.3.0 SNAPSHOT from december 26. I did not use Openhab2 since more than a year. The Plugwise binding is much improved since than. Thank you very much for that. Autodiscovery prevents trivial errors, but I still need some help. I have 19 circles, which are functioning well with the latest binding, but I get the following message about every 3 minutes:
2017-12-27 18:46:42.556 [WARN ] [gwise.internal.PlugwiseMessageSender] - Error sending: No ACK received after 1 second: 000AB43C

2017-12-27 18:49:48.001 [WARN ] [gwise.internal.PlugwiseMessageSender] - Error sending: No ACK received after 1 second: 000AB43C

2017-12-27 18:52:53.431 [WARN ] [gwise.internal.PlugwiseMessageSender] - Error sending: No ACK received after 1 second: 000AB43C
The characters before 000AB43C are ENQ,ENQ,ETX,ETX.
Do you have a suggestion how to go a bit more in depth to find out the cause of these warnings ?

Gert

@Gert it uses that message to discover the Stick. Does it work well besides those warnings? The binding may just need some tweaking to suppress such warnings during discovery.

@wborn OK. Thank you for the quick response. I will ignore these warnings for the moment. I have more serious problems with other bindings and the Plugwise circles do what they should do.

Gert

@gert_konemann the warnings should be fixed with PR #3098 that got merged today. It will probably be part of the next OH 2.3.0-SNAPSHOT build (#1178 or newer).

Thanks, Wouter. I will try. Probably next week.

Gert

Just to let you know (maybe normal, i don’t know), i’ve just tryed 2.3.0-SNAPSHOT #1178 today and nearly nothing related to plugwise was working, despite no particular error logs (no power sent for example, i was just able to find some “last change” timestamp on start in logs, then nothing more). Moreover some of my devices weren’t detected anymore. Back to 2.2.0 now where things are better (Power found again, all devices found again).

Thank you @wborn for this binding. I have a lot of circles I’m using together with OH 2.3, latest snapshot. I notice OH get unstable and hangs sometimes. The folowing is logged in the openhab.log:

2018-03-20 21:29:24.866 [WARN ] [gwise.internal.PlugwiseMessageSender] - Error sending: No ACK received after 1 second: 000D000D6F0002778E35470F
2018-03-20 21:28:54.672 [WARN ] [com.zaxxer.hikari.pool.HikariPool   ] - 51s139ms943μs570ns - Thread starvation or clock leap detected (housekeeper delta=yank-default).

During this Thread starvation OH is unresponsive. And once it has happend a lot of other things start to work badly. Is there something that can be done about this?

Thanks!

@bastiaan_van_h nice to hear you find the binding useful! :slight_smile: I haven’t seen these issues myself with the binding so most likely something else is making your OH unresponsive.

There is another topic where people report heavy CPU usage including the “Thread starvation or clock leap detected” logging: Openhab2 java cpu 100% . I’ve added some replies to that topic on how to find in OH the threads that are using the most CPU time.

Hm, interesting. I used some guidelines from that thread to look at the CPU load on my OH.

Id Name State CPU time Usr time CPU %
142 Thread-39 RUNNABLE 1043292 707070 41,32045879
258 HTTP Refresh Service TIMED_WAITING 203098 137980 8,043867431
71 openHAB-job-scheduler_Worker-1 TIMED_WAITING 133843 100190 5,300964798
72 openHAB-job-scheduler_Worker-2 TIMED_WAITING 130746 97750 5,178305504
144 Plugwise MessageProcessorThread WAITING 119454 105320 4,731076328
87 ESH-OSGiEventManager TIMED_WAITING 97400 77490 3,857609074
286 ZWaveReceiveThread RUNNABLE 58110 39710 2,301495517

Thread-49:

Thread 142 Thread-39 RUNNABLE
Stacktrace:
gnu.io.RXTXPort.eventLoop line: -2
gnu.io.RXTXPort$MonitorThread.run line: 1611

I have two USB dongles, one Zwave and one Plugwise. When I enable debug of the plugwise binding I see a lot of updates per second. So perhaps this could cause high cpu time. It doens’t explain the threadlocks, but does explain why my OH is reguarly slow.

Edit: I have 25 Circles in my network.

Is it normal that the RXTXPort utilizes so much CPU time? Any other thoughts?

There is a lot of polling going on to get the state from Circles. You shouldn’t enable debug logging unless you have a good reason. Generating debug logging will also consume a lot of unnecessary CPU cycles and disk writes.

Other functionality that increases CPU usage is:

  • Decreasing the update interval of channels from their default values to get faster updates. Especially for larger networks (20+ Circles) a lot of polling will cause message delays because they are put on a queue and the network has a limited throughput.
  • Creating items for channels you don’t really use. This will cause unncessary polling. I normally don’t use the clock or realtimeclock channels.

I’m using the binding with a network that has 30 Circles and additional Scans and Senses on default settings. So it should also be able to handle a network with 25 Circles.

The CPU % used by the serial communications thread is relative to that of the other openHAB threads. So if all openHAB is doing is Zwave and Plugwise communications it could have a high value. Do you run openHAB on an embedded board like a Pi3 or something more powerful like an Intel NUC?

Because there is also the HikariPool I assume you are also using persistence? Periodically databases may perform maintenance tasks such as vacuuming which can cause hangs. Is only the openHAB java process generating the CPU load? E.g. on Linux you could check with the top command what is else is happening when OH is slow.

Hi,

I use the Plugwise binding with openHAB 2.2.0-1 (Release Build) and would like to use Location as described in the documentation like this:

Thing <binding_id>:<type_id>:<thing_id> "Label" @ "Location" [ <parameters> ]

See here an example of a Thing I use now.

Thing plugwise:circle:KK_Koelkast "Koelkast" (plugwise:stick:000D6F00004EF02F) [ macAddress="000D6F00004B9EBC", powerStateChanging="alwaysOn" ] {
    Channels:
        Type power : power [ updateInterval=10 ]
}

When I add a location I get the error:

2018-04-07 21:10:04.121 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model ‘plugwise.things’ has errors, therefore ignoring it: [41,57]: missing EOF at ‘(’

When I try to add a location in the Paper UI I get this error:

2018-04-07 21:14:20.134 [INFO ] [st.core.internal.thing.ThingResource] - Received HTTP PUT request for update at ‘things/plugwise:circle:KK_Koelkast’ for an unmanaged thing ‘plugwise:circle:KK_Koelkast’.

@rvo Did you also try putting the location after the reference to the Stick?

This works for me:

Bridge plugwise:stick:demostick "Demo Stick" @ "Room 1" [ serialPort="/dev/ttyUSB0" ]

Thing plugwise:circle:democircle "Demo Circle" (plugwise:stick:demostick) @ "Room 2" [ macAddress="000D6F0000A1A1A1" ]

Thanks! Now it is working.

I’m new to zigbee and plugwise, so maybe this has been asked before. I’m tempting to buy a zone heating system based on plugwise. With the Lisa, Thom and Adam devices. Are they supported? I think not because i can’t find it anywhee. If not, would it be possible to add support for those devices?

1 Like

Currently the Plugwise binding only supports what they call nowadays the “Plugwise HNS” system (see Dutch, English).

Perhaps the Plugwise Lisa, Tom, Adam devices can be used with the more generic Zigbee Binding?
On the Plugwise website they write for these products that:

The Plugwise Home automation products communicate via the open Zigbee standard “Home Automation 1.2”

I haven’t tested this myself though. Maybe you can ask Plugwise support if these devices can be used in a Zigbee mesh with other non-Plugwise devices. :slight_smile:

Does the binding support adding new devices to the network or do we still need to use Source? If not, any change this feature can be added?

Thanks!

It’s currently only possible to use devices that have been added with the Source software. If we know the messages/protocol for adding/removing devices it’s possible to also add it to the binding. But it may also result in new issues. E.g. when devices (Things) are added/removed in openHAB they would also be added/removed from the node list on the Stick. These devices will probably not be automatically added/removed in the Source database.

@lsiepel If you’re still looking for a binding that can handle Plugwise Adam, Anna, Lisa, Tom & Floors, may I direct your attention to this topic?

I created a binding specifically for these devices since I use them in my home as well; hope you have some use for it!

1 Like