I repeatedly get error messages in the log from WEMO devices, is there a way to fix the problem, or turn off the errors if they are spurious? I’m running OH 2.1, I get 2 slightly different errors, and both of my WEMO Insights have them, sample of both messages below:
[ERROR] [g.jupnp.protocol.sync.ReceivingEvent] - Invalid subscription ID, no active subscription: (IncomingEventRequestMessage) NOTIFY /upnpcallback/dev/Insight-1_0-xxxxxxxxxxxx1/svc/Belkin/insight1/event/cb SEQUENCE: 148
[ERROR] [g.jupnp.protocol.sync.ReceivingEvent] - Invalid subscription ID, no active subscription: (IncomingEventRequestMessage) NOTIFY /upnpcallback/dev/Insight-1_0-xxxxxxxxxxxx2/svc/Belkin/basicevent1/event/cb SEQUENCE: 0
The errors seem to occur sporadically with no obvious pattern other than they are over 30 minutes between each device throwing an error. Rebooting the Pi doesn’t make them disappear.
It does survive.
log:set commands issued in the console get written in the last part of the org.ops4j.pax.logging.cfg file (in the # OSGi appender section)
@hmerk adding the log command has had the opposite effect, my log is now filled with the messages at the bottom of this post, one for each of my wemo’s and occurring every 2-4 minutes @Dim fortunately the log settings weren’t persistent, and there was no evidence of them in /var/lib/openhab2/etc/org.ops4j.pax.logging.cfg so a reboot reverted things back to the original messages in post 1
Suggestions?
2017-09-06 18:52:28.501 [WARN ] [org.jupnp.transport.spi.StreamClient] - HTTP request failed: (OutgoingRenewalRequestMessage) SUBSCRIBE http://192.168.1.38:49153/upnp/event/insight1
org.apache.http.NoHttpResponseException: The target server failed to respond
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:95)[35:org.apache.httpcomponents.httpclient:4.2.3]
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:62)[35:org.apache.httpcomponents.httpclient:4.2.3]
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)[36:org.apache.httpcomponents.httpcore:4.2.3]
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)[36:org.apache.httpcomponents.httpcore:4.2.3]
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)[35:org.apache.httpcomponents.httpclient:4.2.3]
at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)[35:org.apache.httpcomponents.httpclient:4.2.3]
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)[36:org.apache.httpcomponents.httpcore:4.2.3]
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)[36:org.apache.httpcomponents.httpcore:4.2.3]
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:717)[35:org.apache.httpcomponents.httpclient:4.2.3]
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:522)[35:org.apache.httpcomponents.httpclient:4.2.3]
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)[35:org.apache.httpcomponents.httpclient:4.2.3]
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1066)[35:org.apache.httpcomponents.httpclient:4.2.3]
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1044)[35:org.apache.httpcomponents.httpclient:4.2.3]
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:1035)[35:org.apache.httpcomponents.httpclient:4.2.3]
at org.jupnp.transport.impl.apache.StreamClientImpl$4.call(StreamClientImpl.java:168)[162:org.jupnp:2.2.0]
at org.jupnp.transport.impl.apache.StreamClientImpl$4.call(StreamClientImpl.java:1)[162:org.jupnp:2.2.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_131]
at java.lang.Thread.run(Thread.java:748)[:1.8.0_131]
Sorry to re-awaken this old thread, but if people search on “wemo invalid subscriptionid”, it still takes them here.
To get rid of those messages, define all the items corresponding to the wemo insight, even if you are not using them.
So above, for example,
[ERROR] [g.jupnp.protocol.sync.ReceivingEvent] - Invalid subscription ID, no active subscription: (IncomingEventRequestMessage) NOTIFY /upnpcallback/dev/Insight-1_0-xxxxxxxxxxxx1/svc/Belkin/insight1/event/cb SEQUENCE: 148
Just include all the items for the insight binding:
Number InsightPower { channel="wemo:insight:Insight-1_0-xxxxxxxxxxxx1:currentPower" }
Number InsightLastOn { channel="wemo:insight:Insight-1_0-xxxxxxxxxxxx1:lastOnFor" }
Number InsightToday { channel="wemo:insight:Insight-1_0-xxxxxxxxxxxx1:onToday" }
Number InsightTotal { channel="wemo:insight:Insight-1_0-xxxxxxxxxxxx1:onTotal" }
Seems to be needed just for the Insight, which sends periodically.