Exec binding with EG-PMS-LAN

Hi!
I installed Openhab 3 on a Synology natively without docker.
It works fine, but now I started with exec bindings for connecting the multiple socket outlet.
There is also a binding for this device, but it’s only possible to switch the sockets one by one. With longer breaks between.
But there is a software to switch the sockets simultaneously: GitHub - unterwulf/egctl: EnerGenie EG-PMS-LAN control utility
I installed it and logging in with the openhab user I’m able to start the sockets I want with e.g.:

> exec egctl eg1 off off on on

But I’m not able to start the sockets as Item.
The code for the thing is:

UID: exec:command:67dd4ac24a
label: EG-PMS2-BD/DVD
thingTypeUID: exec:command
configuration:
  transform: REGEX((.*))
  interval: 0
  autorun: false
  command: egctl eg1 off on on off
  timeout: 15

I linked the switch channel to the item. Semantic Class is ‘point’

If there is a real need, I could implement a channel ALL ON/OFF into the binding.

  • is there any log entry in events.log when you turn on the run switch ?
  • is there any log entry in openhab.log when you turn on the run switch ?

Issue might be related to missing whitelist entry.

Thanks, you’re really fast!

If there is a real need, I could implement a channel ALL ON/OFF into the binding.

I integrated my Logitech Harmony, because there are some media devices connected to the socket, so I want to switch between different combinations of the sockets being on or off.

is there any log entry in events.log when you turn on the run switch ?
is there any log entry in openhab.log when you turn on the run switch ?

No, there are no logs for the last week.

Issue might be related to missing whitelist entry.

My whitelist:

# For security reasons all commands that are used by the exec binding or transformation need to be whitelisted.
# Every command needs to be listed on a separate line below.
egctl eg1 off off off off
egctl eg1 on off off off
egctl eg1 on off on off
egctl eg1 off on off off
egctl eg1 off on on off
egctl eg1 off off on off
egctl eg1 off off on on
egctl eg1 off off off on

That‘s more like a scene channel, I will give it a thought if I could implement such.

Not quite shure, but I think you have to specify the full path to egctl

Edit: Checked with other posts, full path needed in whitelist and thing channel.

I’ve changed the whitelist to:

/opt/bin/egctl eg1 off off off off
/opt/bin/egctl eg1 on off off off
/opt/bin/egctl eg1 on off on off
/opt/bin/egctl eg1 off on off off
/opt/bin/egctl eg1 off on on off
/opt/bin/egctl eg1 off off on off
/opt/bin/egctl eg1 off off on on
/opt/bin/egctl eg1 off off off on

Restarted OpenHAB. But the problem remains. And there are no new logs.
Could it be a problem, that I copied all files from a docker installation of OpenHAB to the native one (but both are OH 3.0)? It seems that there are no logs after the new installation.

Full path needs to be entered here as well

OK, I changed it (and restarted OH). But nothing happens.

UID: exec:command:67dd4ac24a
label: EG-PMS2-BD/DVD
thingTypeUID: exec:command
configuration:
  transform: REGEX((.*))
  interval: 0
  autorun: false
  command: /opt/bin/egctl eg1 off on on off
  timeout: 15

Seems unlikely. What do you see in your events.log when you command your linked Item? What channel is your Item linked to? Anything in your openhab.log at this time? Have you tried linking a String Item to the output channel?

What do you see in your events.log when you command your linked Item?
Anything in your openhab.log at this time?

No new logs since 2021-06-11!

What channel is your Item linked to?
Have you tried linking a String Item to the output channel?

switch (but I also tried output)

Maybe it’s because of moving files from docker folder? With docker it’s not possible to use the exec binding.
I also reinstalled this binding, but it stays the same.

Okay, you’ll need to fix that problem before you can make sense of anything else.

2 Likes

It’s really strange: I thought the logs are in /volume1/public/openhab/logs. But the newer ones are in /volume1/public/openHAB/tmpfs/userdata/logs.
And there’s also a copy of many userdata files in /volume1/@appstore/openHAB. In this directory there was a problem with privileges. But even after changing it doesn’t work.
The newer events.log:

2021-06-20 12:55:55.248 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'EGPMS2CD_Ausfuhrung' changed from OFF to ON
2021-06-20 12:55:57.516 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'EGPMS2CD_Ausfuhrung' received command OFF
2021-06-20 12:55:57.520 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'EGPMS2CD_Ausfuhrung' changed from ON to OFF
2021-06-20 12:55:58.674 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'EGPMS2CD_Ausfuhrung' received command ON

In openhab.log there are many errors like:

2021-06-20 20:06:21.959 [ERROR] [d4j.internal.RRD4jPersistenceService] - Could not create rrd4j database file '/volume1/@appstore/openHAB/userdata/persistence/rrd4j/osmc_Lautstarke.rrd': Read failed, file /volume1/@appstore/openHAB/userdata/persistence/rrd4j/osmc_Lautstarke.rrd not mapped for I/O

I think I need to reinstall?

Ok, I did a reinstall, but it didn’t change much…
But now I know the ‘tmpfs’-directory is a ramdisk for synology where the new data is stored.
‘events.log’ is similar as before:

2021-06-20 23:16:47.763 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'EGPMSLANOFF_Ausfuhrung' received command OFF
2021-06-20 23:16:47.784 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'EGPMSLANOFF_Ausfuhrung' changed from ON to OFF
2021-06-20 23:16:50.317 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'EGPMSLANOFF_Ausfuhrung' received command ON
2021-06-20 23:16:50.323 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'EGPMSLANOFF_Ausfuhrung' changed from OFF to ON

But maybe ‘switch’ is wrong, because there’s just one command (here: to switch off all sockets).
So ‘switch off’ might be ‘on’ here. :slight_smile: But there’s no real opposite, so I don’t know what ‘off’ should be.
If I understand it correctly in OH 2 I had to define an on and an off switch. And in OH3?

Other bindings work correctly.

Here is my openhab.log:

2021-06-20 23:14:41.849 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Time zone set to 'Europe/Berlin'.
2021-06-20 23:14:42.103 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Location set to '50.95588567468203,6.9265151023864755'.
2021-06-20 23:14:42.107 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Locale set to 'de_DE'.
2021-06-20 23:15:03.188 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.178.60:8080/rest/events/states's Observer 
2021-06-20 23:15:03.284 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.178.60:8080/rest/addons/binding-mihome's Observer 
2021-06-20 23:15:05.248 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.178.60:8080/rest/addons/binding-mihome's Observer 
2021-06-20 23:15:16.631 [INFO ] [.core.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2021-06-20 23:15:21.250 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.178.60:8080/rest/addons/binding-mihome's Observer 
2021-06-20 23:15:21.679 [INFO ] [org.openhab.ui.internal.UIService   ] - Started UI on port 8080
2021-06-20 23:15:23.210 [INFO ] [ab.ui.habpanel.internal.HABPanelTile] - Started HABPanel at /habpanel
2021-06-20 23:15:23.324 [INFO ] [e.automation.internal.RuleEngineImpl] - Rule engine started.
2021-06-20 23:15:25.798 [WARN ] [.bluez.internal.DeviceManagerFactory] - Failed to initialize DeviceManager: org.freedesktop.dbus.exceptions.DBusException: Cannot Resolve Session Bus Address: MachineId file can not be found
2021-06-20 23:15:29.136 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.upnpcontrol.internal.queue.UpnpEntryRes.<init>(UpnpEntryRes.java:33) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser$EntryHandler.startElement(UpnpXMLParser.java:263) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1397) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2708) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser.getEntriesFromXML(UpnpXMLParser.java:191) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedCurrentMetaData(UpnpRendererHandler.java:1309) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1088) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1162) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]
2021-06-20 23:15:29.462 [WARN ] [l.internal.handler.UpnpServerHandler] - Cannot serve media from server RuDode, no renderer selected
2021-06-20 23:15:29.774 [WARN ] [l.internal.handler.UpnpServerHandler] - Cannot serve media from server Gerbera, no renderer selected
2021-06-20 23:15:30.351 [WARN ] [internal.handler.YamahaBridgeHandler] - Communication error. Please review your Yamaha thing configuration.
2021-06-20 23:15:30.402 [WARN ] [internal.handler.YamahaBridgeHandler] - Communication error. Please review your Yamaha thing configuration.
2021-06-20 23:15:30.711 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.util.concurrent.CompletionException: org.freedesktop.dbus.exceptions.DBusException: Cannot Resolve Session Bus Address: MachineId file can not be found
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331) ~[?:?]
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346) ~[?:?]
	at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1063) ~[?:?]
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[?:?]
	at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088) ~[?:?]
	at org.openhab.binding.bluetooth.util.RetryFuture$CallableTask.run(RetryFuture.java:76) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: org.freedesktop.dbus.exceptions.DBusException: Cannot Resolve Session Bus Address: MachineId file can not be found
	at org.freedesktop.dbus.connections.impl.DBusConnection.lambda$determineMachineIdFile$5(DBusConnection.java:320) ~[?:?]
	at java.util.Optional.orElseThrow(Optional.java:408) ~[?:?]
	at org.freedesktop.dbus.connections.impl.DBusConnection.determineMachineIdFile(DBusConnection.java:320) ~[?:?]
	at org.freedesktop.dbus.connections.impl.DBusConnection.getDbusMachineId(DBusConnection.java:303) ~[?:?]
	at org.freedesktop.dbus.connections.impl.DBusConnection.getConnection(DBusConnection.java:149) ~[?:?]
	at org.freedesktop.dbus.connections.impl.DBusConnection.getConnection(DBusConnection.java:169) ~[?:?]
	at org.freedesktop.dbus.connections.impl.DBusConnection.getConnection(DBusConnection.java:219) ~[?:?]
	at org.freedesktop.dbus.connections.impl.DBusConnection.getConnection(DBusConnection.java:184) ~[?:?]
	at com.github.hypfvieh.bluetooth.DeviceManager.createInstance(DeviceManager.java:74) ~[?:?]
	at org.openhab.binding.bluetooth.bluez.internal.DeviceManagerFactory.lambda$0(DeviceManagerFactory.java:82) ~[?:?]
	at org.openhab.binding.bluetooth.util.RetryFuture$CallableTask.run(RetryFuture.java:67) ~[?:?]
	... 6 more
2021-06-20 23:15:31.552 [WARN ] [l.internal.handler.UpnpServerHandler] - Cannot serve media from server FritzNAS, no renderer selected
2021-06-20 23:20:10.461 [WARN ] [.io.rest.auth.internal.TokenResource] - Not refreshing token for session 26cdc276-3f70-4fd6-a8c4-e6e1c6b17b46 of user rockito, missing or invalid session cookie
2021-06-20 23:20:10.485 [WARN ] [.io.rest.auth.internal.TokenResource] - Token issuing failed: invalid_grant
2021-06-20 23:45:29.157 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.upnpcontrol.internal.queue.UpnpEntryRes.<init>(UpnpEntryRes.java:33) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser$EntryHandler.startElement(UpnpXMLParser.java:263) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1397) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2708) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser.getEntriesFromXML(UpnpXMLParser.java:191) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedCurrentMetaData(UpnpRendererHandler.java:1309) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1088) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1162) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]
2021-06-21 00:15:28.878 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.upnpcontrol.internal.queue.UpnpEntryRes.<init>(UpnpEntryRes.java:33) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser$EntryHandler.startElement(UpnpXMLParser.java:263) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1397) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2708) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser.getEntriesFromXML(UpnpXMLParser.java:191) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedCurrentMetaData(UpnpRendererHandler.java:1309) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1088) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1162) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]
2021-06-21 00:45:28.846 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.upnpcontrol.internal.queue.UpnpEntryRes.<init>(UpnpEntryRes.java:33) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser$EntryHandler.startElement(UpnpXMLParser.java:263) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1397) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2708) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser.getEntriesFromXML(UpnpXMLParser.java:191) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedCurrentMetaData(UpnpRendererHandler.java:1309) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1088) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1162) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]
2021-06-21 01:15:29.062 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.upnpcontrol.internal.queue.UpnpEntryRes.<init>(UpnpEntryRes.java:33) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser$EntryHandler.startElement(UpnpXMLParser.java:263) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1397) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2708) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser.getEntriesFromXML(UpnpXMLParser.java:191) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedCurrentMetaData(UpnpRendererHandler.java:1309) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1088) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1162) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]
2021-06-21 10:05:29.320 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.upnpcontrol.internal.queue.UpnpEntryRes.<init>(UpnpEntryRes.java:33) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser$EntryHandler.startElement(UpnpXMLParser.java:263) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1397) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2708) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser.getEntriesFromXML(UpnpXMLParser.java:191) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedCurrentMetaData(UpnpRendererHandler.java:1309) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1088) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1162) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]
2021-06-21 10:35:29.288 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.upnpcontrol.internal.queue.UpnpEntryRes.<init>(UpnpEntryRes.java:33) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser$EntryHandler.startElement(UpnpXMLParser.java:263) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1397) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2708) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser.getEntriesFromXML(UpnpXMLParser.java:191) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedCurrentMetaData(UpnpRendererHandler.java:1309) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1088) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1162) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]
2021-06-21 11:05:29.300 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.upnpcontrol.internal.queue.UpnpEntryRes.<init>(UpnpEntryRes.java:33) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser$EntryHandler.startElement(UpnpXMLParser.java:263) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1397) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2708) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) ~[?:?]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:?]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) ~[?:?]
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.util.UpnpXMLParser.getEntriesFromXML(UpnpXMLParser.java:191) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedCurrentMetaData(UpnpRendererHandler.java:1309) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1088) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1162) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]

Could you please show your switch item config.

Could you please show your switch item config.

I don’t know where to get it. In the item directories of the config file there’s just a readme-file.

The same way you posted your GUI thing config.

But on the GUI there’s a tab ‘code’ at the menu ‘thing’, but I can’t see it at the menu ‘item’.
I only can add new items from textual definition.

Get the item through REST Api and post the output.