openHAB 3.3 Milestone discussion

Not if you are dealing with units of measurement. Even in Rules DSL you have to deal with that differently, ultimately calling .floatValue() or converting the value you are doing math with to a QuantityType with proper units too.

And you can do the same in JS Scripting too.

If it’s just a plain old number, JS itself is smart enough to recognize when you have the String representation of a number and do the conversion to number for you.

The vast majority of the time, the string version of the state will work exactly as you need it to work. The only two exceptions are quantity types and datetime types.

Is it because I have state descriptions?
My temperatures should only have one decimal, so I have %.1f °C in place, allthough being tagged as number: temperature. I will try this out later. Thank you.

Just to not leave this hanging out, it’s because you have the Item defined as a Number:Temperature. If you need help beyond this, I recommend opening a new thread to keep this thread on topic.

I have a beginners Issue which I suppose is not related to 3.3, thus I posted a dedicated discussion thread here.
However I am using the latest image from docker hub (3.3.0-snapshot-alpine from Today (April 27th)) which for the sake of completeness I post this here as well, just in case it could be a version-related Issue after all.

As I couldn’t find anything regarding this:

Using the latest snapshot-alpine in docker works but for the go-e charger binding. The already created things work and all linked items also but I can’t create new things (“No thing types can be added with this binding.”):

I’ve already cleared the cache and reinstalled the binding resulting in exactly the same situation.

Anything I can do about it?

EDIT: Seems to be known already: Go-E Charger Wallbox Binding - #99 by kreutzer_peter

Cheers,
Sascha

After migrating to 3.3.0M4, there was an error in the log that a rule failed and after a little investigation, it appears that the marketplace Blockly Date and Time extension that I had added was removed in the migration, and I can’t add it in the marketplace.

More details at Rule Using Blockly Date and Time from Marketplace Failed after migration to 3.3.0M4

After updating from M3 to 3.3.0M4, all my (different) HabPabel-configs seems not not be available anymore. Does somebody else facing issues with HabPanel Configs?

I ran three different configs for three different tablets - and the configs are not choosable anymore.

When importing a config into HabPanel and executing it I see in the log:

[ERROR] [internal.JSONResponseExceptionMapper] - Unexpected exception occurred while processing REST request.
java.lang.IllegalStateException: ManagedProvider is not available

Any ideas?
I went back to M3 - everything fine (again).

I have the same issue. Also reverted back to M3 and all is fine.
I was also not able to import the backup JSON file.

@wborn @jpg0 Do you think it’s possible that something in this change broke HABpanel?

@splatch Have you seen this before?

I’ve seen it in other context. When you use a registry infrastructure there is an implicit dependency on a “managed provider” which is capable of removing elements. In other words, if you see this error it means that you try to remove an element but there is no known managed provider which is capable of dropping a given element.
There is a logic in PR which does that:

If you see such error it means that condition was not satisfied and you ended up with miss-interpreted provider which is managed, but not detected as one.

Second look at openhab-webui/oh3storage.service.js at main · openhab/openhab-webui · GitHub discloses reason.
The HABpanel did assume that all ui related components are writable which was true until above commit/PR. Once this PR was introduced there is no default UI component provider for HABpanel which could manage its state.

All what is need is below. It is a basic component provider which will simply match HABpanel json file (uicomponents_habpanel_panelconfig.json):

@Component(service = {Provider.class, ManagedProvider.class, UIProvider.class})
public class ManagedHabpanelProvider extends UIComponentProvider {

  @Activate
  public ManagedHabpanelProvider(@Reference StorageService storageService) {
    super("habpanel:panelconfig", storageService);
  }

}

Thanks for the analysis. I tried to implement that, but unfortunately UIComponentProvider is in an internal package. I guess we should move it, so the specific provider can live in the habpanel project instead of the core project.

How does one revert back to M3? (I generally use openhabian to manage versions, but I don’t see where there is an option to pick a Milestone release other than the most current one.

Update
(openhabian uses apt, I reverted with sudo apt-get install openhab=3.3.0~M3-1), but there were errors related to a transform that was still M4, so I went back to M4)

there are other namespaces to handle as well.

  • system:sitemap (UIComponent-based sitemaps)
  • ui:blocks (Blockly librairies)

With potentially more to come (e.g. custom item metadata namespaces).

1 Like

For Sitemap there is a Provider, I’m currently working on the blocks provider and some refactoring. I wonder if we could generalize it, so it works for all namespaces.

with dnf package manager i used the following commands.

dnf --showduplicates list openhab
dnf install openhab-3.3.0~M3-1

I don‘t know which package manager openhabian is using, but google would help I guess.

I just installed 3.3.0 M4 and I’m seeing the same problem as @IARI I think.

2022-05-02 14:28:19.290 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-networkupstools, openhab-persistence-mapdb, openhab-binding-bluetooth, openhab-binding-mail, openhab-voice-googletts, openhab-misc-openhabcloud, openhab-ui-habot, openhab-transformation-javascript, openhab-binding-network, openhab-automation-jsscripting, openhab-binding-zwave, openhab-binding-zigbee, openhab-binding-shelly, openhab-binding-chromecast, openhab-binding-mqtt, openhab-persistence-rrd4j, openhab-ui-basic, openhab-binding-roku, openhab-binding-ipcamera, openhab-binding-openweathermap, openhab-binding-http, openhab-binding-astro': Error:
        Error downloading mvn:com.zsmartsystems.zigbee/com.zsmartsystems.zigbee.console.telegesis/1.4.5
        Error downloading mvn:com.zsmartsystems.zigbee/com.zsmartsystems.zigbee.dongle.telegesis/1.4.5
        Error downloading mvn:com.zsmartsystems.zigbee/com.zsmartsystems.zigbee.dongle.ember/1.4.5
        Error downloading mvn:com.zsmartsystems.zigbee/com.zsmartsystems.zigbee/1.4.5
        Error downloading mvn:com.zsmartsystems.zigbee/com.zsmartsystems.zigbee.console.ember/1.4.5
        Error downloading mvn:com.zsmartsystems.zigbee/com.zsmartsystems.zigbee.console/1.4.5
        Error downloading mvn:com.zsmartsystems.zigbee/com.zsmartsystems.zigbee.dongle.cc2531/1.4.5
        Error downloading mvn:com.zsmartsystems.zigbee/com.zsmartsystems.zigbee.dongle.xbee/1.4.5

On the separate thread @wborn indicated that the updated libraries haven’t been added to the online repo.

If the updated libraries have been added to the repo, that wasn’t the original problem. If they have not been added, they still need to be added to the repo.

Downloading the kar file and putting it into the addons folder fixes the problem for now.

1 Like

This is done now, so the problem should be solved!

2 Likes

After upgrading from M3 to 3.3.0 M4 some of my Jython rules are not loading.
All Jython files having

from core.actions import NotificationAction

result in

2022-05-02 18:06:44.753 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - Error during evaluation of script 'file:/etc/openhab/automation/jsr223/python/personal/heating.py': AttributeError: 'NoneType' object has no attribute 'actionClass' in /etc/openhab/automation/jsr223/python/personal/heating.py at line number 1

and none of the rules in that file load.
I have tried moving the import further down in the file, but this doesn’t help.
It also fails with

from core.actions import ScriptExecution
and 
from core.actions import PersistenceExtensions

Anybody else seen this?