openHAB 3.3 Milestone discussion

That‘s the bug I linked above.

Hello Friends,

I’ve recognized that the grep command is no longer working in the Karaf Console (Upgraded from M4 → M6) when i use it in combination with the Zigbee Binding. Normal grep functionality with bindles:list is okay.
Any other plugin faced that issue?
Is this a config issue of the Karaf Console?

I just noticed a strange thing. Not sure if this is related to the M6 upgrade, but it would fit from a timeline perspective.
I couldn’t control my AVM DECT 200 power outlet from octoprint anymore and wondered what is the issue.
I checked and it disappeared from the semantic model. I checked the item and all were gone (equipment and items), but it was just that power outlet. The others were still where they belong.
The Thing was added and online as well, but no channel links anymore. Trying to readd gives a bad request and even deleting the Thing and readding it doesn’t resolve this.
I believe the item names are still somehow present in my configuration, what might be the reason why I can’t readd them.

Running openhab on a docker container on a Synology NAS.

The question are:

Should I open another topic?
How did this happen?
How can I prevent this from happening again?
And how can I readd the items without renaming (as I want to keep the energy consumption persisted in influx under the same name)?

I have no idea how to investigate this. I checked the logs, but it’s not really helping me.

Request from octoprint to switch on the outlet:

[WARN ] [rest.core.internal.item.ItemResource] - Received HTTP PUT request with an invalid item name '3DDrucker'.

Trying to add one of the missing things, which were previously linked:

log
[WARN ] [ore.common.registry.AbstractRegistry] - Cannot add "NumberItem" with key "3DDrucker_Leistung": The specified name of the item '3DDrucker_Leistung' is not valid!
java.lang.IllegalArgumentException: The specified name of the item '3DDrucker_Leistung' is not valid!
	at org.openhab.core.items.ItemUtil.assertValidItemName(ItemUtil.java:79) ~[bundleFile:?]
	at org.openhab.core.internal.items.ItemRegistryImpl.initializeItem(ItemRegistryImpl.java:184) ~[bundleFile:?]
	at org.openhab.core.internal.items.ItemRegistryImpl.onAddElement(ItemRegistryImpl.java:233) ~[bundleFile:?]
	at org.openhab.core.internal.items.ItemRegistryImpl.onAddElement(ItemRegistryImpl.java:1) ~[bundleFile:?]
	at org.openhab.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:200) [bundleFile:?]
	at org.openhab.core.common.registry.AbstractRegistry.addProvider(AbstractRegistry.java:425) [bundleFile:?]
	at org.openhab.core.internal.items.ItemRegistryImpl.addProvider(ItemRegistryImpl.java:410) [bundleFile:?]
	at org.openhab.core.common.registry.AbstractRegistry$ProviderTracker.addingService(AbstractRegistry.java:149) [bundleFile:?]
	at org.openhab.core.common.registry.AbstractRegistry$ProviderTracker.addingService(AbstractRegistry.java:1) [bundleFile:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943) [osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:871) [osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) [osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) [osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:903) [osgi.core-7.0.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:956) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:261) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:495) [org.eclipse.osgi-3.17.200.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1271) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1222) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1200) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1121) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:928) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:864) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1152) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:114) [bundleFile:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:956) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:261) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:495) [org.eclipse.osgi-3.17.200.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:667) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:305) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:554) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:70) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:421) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [bundleFile:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) [osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) [osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) [osgi.core-7.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:944) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) [org.eclipse.osgi-3.17.200.jar:?]

edit: after fiddling around for a while, I tried “Add Items from Textual Definition”
it shows the following error:

add items from textual definition
definition:
Group 3DDrucker "3D-Drucker" ["Equipment"]

error:
Error: Syntax error at line 1 col 7:

  Group 3
        ^
Unexpected number token: "3". Instead, I was expecting to see one of the following:

A WS token based on:
    _ → _ ● %WS
    Item → Type ● _ Name Label Icon Groups Tags Metadata
    Items →  ● Item
    Main → _ ● Items _
A NL token based on:
    _ → _ ● %NL
    Item → Type ● _ Name Label Icon Groups Tags Metadata
    Items →  ● Item
    Main → _ ● Items _
A comment token based on:
    _ → _ ● %comment
    Item → Type ● _ Name Label Icon Groups Tags Metadata
    Items →  ● Item
    Main → _ ● Items _
A identifier token based on:
    Name →  ● %identifier
    Item → Type _ ● Name Label Icon Groups Tags Metadata
    Items →  ● Item
    Main → _ ● Items _

Anyone else has items or groups that start with a number? Do they work?

A number is an invalid character to start an item-name:

The Item name is used to uniquely identify an Item. The name must be unique across all .items files in your openHAB configuration. The only characters permitted in an Item name are letters, numbers and the underscore character. Names must not begin with numbers. Spaces and special characters are not permitted.

The check was not performed correctly before and has been fixed, so that’s why your invalid item name now pops up.

1 Like

That answers my question from here on when this check was added (see Integer as first character of Item name - how to fix?), but what’s the best way to fix this? We now have orphaned items in the JSON with no way to fix them in the GUI. Roll back to an earlier version, fix the Items, then move forward again? Or edit the JSON after stopping OH?

As pointed out by @rlkoshak: That are your current options. I’ll check how we can improve the clean-up.

Edit: I did check that you can use the REST API to remove these items. So the API Explorer is the way to go.

Tried to install MQTT binding on 3.3M6 but this fails.

Other bindings working fine (shelly,tplink,…)

2022-06-14 17:07:37.765 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-mqtt': Error:
        Error downloading mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.homie/3.3.0.M6
        Error downloading mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.generic/3.3.0.M6
        Error downloading mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.homeassistant/3.3.0.M6
        Error downloading mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt/3.3.0.M6
        Error downloading mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.espmilighthub/3.3.0.M6

My fibaro Roller shutter 3 stopped working after updating to M8.
It says
`HANDLER_CONFIGURATION_PENDING

{config_duration=Der Wert darf nicht größer als 254 sein.}`
(the value is not allowed to be over 254)

But I have no idea which value to change.
Any idea, @chris?

Hello together,

I have the same problem here with Technisat and FIBARO roller switches.

I think it will be related to this -:

            <parameter name="config_duration" type="integer" min="1" max="254">
                <label>Step duration</label>
                <description><![CDATA[Sets the dim rate speed<br>Values from 1 to 127 are defined in seconds,
                while values from 128 to 254 are defined in minutes.]]></description>
                <default>255</default>
                <options>
                    <option value="255">Device Default</option>
                    <option value="0">Change Instantly</option>
                </options>
                <limitToOptions>false</limitToOptions>
            </parameter>

This is the config parameter that the error relates to, but this definition looks ok to me so I’m not sure what it’s complaining about unless the value is outside the allowable range of less than 0, or greater than 255. Can you check this to see what it’s set to? The default is 255 so this should be ok unless it was changed.

I was not able to find “Step duration” in the UI, also it was not defined in the Code panel of the Thing.
After adding config_duration: 255 to the Code panel it is working again.

I had not touched its config for at least some months and it worked fine until I did the update. Looking at the commits in the zwave-repo I don’t see why anything should break from these.

Note that this is channel configuration - not thing configuration, so you need to look in the channel for this configuration setting.

Hi Chris,

I have the same issue on several Things, e.g. the following

The configuration is as follows:

UID: zwave:device:7175b6a970:node80
label: "Z-Wave Node 080: FGWREU-111 Fibaro Walli Roller Shutter"
thingTypeUID: zwave:fibaro_fgwreu111_00_000
configuration:
  config_34_4_0000000F: 0
  config_11_1: 6
  config_31_4_0000000F: 0
  group_1:
    - controller
  group_3: []
  group_2: []
  config_153_1: 1
  config_152_4: 150
  config_154_2: 10
  config_155_2: 10
  config_150_1: 0
  config_151_1: 1
  config_12_1: 0
  config_32_4_0000000F: 0
  config_13_1: 100
  config_156_4: 6000
  config_35_2: 600
  config_157_4: 6000
  config_41_1: 0
  config_65_2: 10
  config_62_2: 3600
  config_61_2: 15
  config_40_1: 0
  config_60_1: 0
  config_33_4_0000000F: 0
  config_30_4_0000000F: 0
  config_24_1: 0
  config_25_1: 0
  config_66_2: 3600
  node_id: 80
bridgeUID: zwave:serial_zstick:7175b6a970

Here is the channel config:

Changing it to 254 put the thing into online again.

I am wondering why this only now appears? Did you only implement that check now?

Does anyone know what the “Step duration” is for?

Cheers
Stefan

The problem relates to the rigorous checking introduced in 3.3M2. Since this is handled by the core, it is not a zwave issue. What needs to change is this in the DB? (edit: Actually I do not know where this needs to be changed) (change 254 to 255)

> <parameter name="config_duration" type="integer" min="1" max="254">

The 254 is being picked up by the checker as max, even though the default is 255. I had a similar problem with a different device where the default was outside the range the checker checked. (if that makes sense?)

Bob

Can you link to the file where this definition is made. In case 255 has a special meaning (and is outside of the defined range 1 to 254 it should be added as <option />. If this is the case and the check fails, it’s a bug in the checker.

I’m afraid I can’t. I don’t have the device and could not find this xml fragment. I just recognized what was going on from an earlier issue (3.3M2) that I fixed with a Z-wave DB edit.

Might have to wait for morning in NZ, unless one of the folks that have the device know.

Sorry

Bob

Had a brainstorm. File location is in the Zwave binding. Still don’t know if 255 has a special meaning, though.

src/main/resources/OH-INF/thing/channels.xml

Is the Ubuntu repo down?

$ sudo apt update
Hit:1 http://ppa.launchpad.net/mythbuntu/31/ubuntu focal InRelease
Hit:2 http://us.archive.ubuntu.com/ubuntu focal InRelease              
Get:3 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]      
Get:5 http://us.archive.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Err:6 https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing InRelease                                                                                                     
  502  Bad Gateway [IP: 34.139.10.89 443]
Fetched 336 kB in 10s (33.7 kB/s)                                                                                                                                                 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
W: Failed to fetch https://openhab.jfrog.io/artifactory/openhab-linuxpkg/dists/testing/InRelease  502  Bad Gateway [IP: 34.139.10.89 443]
W: Some index files failed to download. They have been ignored, or old ones used instead.

Apparently it was. Seems back up now