Nymea 1.0 release notes

Yes, you’ve seen right, 1.0 :slight_smile:

We’ve decided that it’s about time to go that step. This shouldn’t really matter to most users as nymea has been rock solid for ages already and the upgrade from the 0.x releases is seamless, but it will improve some things for plugin developers and reflect the actual maturity level of nymea better. The most notable change for users is that all the package versions are in sync now which should make it much easier to determine what’s actually installed and compatible.

And with that, let’s jump in on what’s new:

nymea now offers multi user support, meaning that different users with different permissions can be created on a nymea setup now. It is now possible to create an account for, say, less tech savvy people or guests which still want to use nymea:app to control the smart home, but getting away with all the configuration options for those.

The second big one is the new remote connection. We’ve been trying to get rid of nymea:cloud for a while already as it didn’t line up with our vision: For one we don’t like requiring user accounts in clouds but also the old nymea:cloud was built in a way where the cloud would manage the devices (this is mostly how AWS works) but with nymea, the nymea setup should be the main controller and any cloud services being an optional extension to it. That’s not to say that nymea doesn’t know about the internet any more, on the contrary, in our spirit of a plugin based extensible system, any wanted cloud integration can be done using plugins from now on.

So now it finally happened. No need for a cloud account any more. Just enter the settings, flip the switch for the remote connection and that’s it.

Obviously, without any port forwarding in routers, this still requires some service in the cloud to proxy the connection and that’s still there, albeit in a slightly different form than before. By just enabling the remote connection, nymea will tunnel the traffic from the app to the core through a tunnel proxy hosted by us. However, this proxy doesn’t require any nymea:cloud integration any more and if you don’t trust us with tunneling your connection through a server of ours, you’re free to host that proxy yourself too and use the advanced settings to manually enter the URL for your proxy instance.
This current release still supports the old nymea:cloud to not disrupt existing setups upon upgrade but you are advised to log our from there and use the new remote connection instead. The old cloud settings can be found in the advanced settings section and for the login part in the app settings developer tools. Those will be removed in a future upgrade though.

Not entirely related to this release, but also happening in this release cycle, is that nymea is now available in the Raspberry Pi imager! Installing nymea is now easier than ever before by just starting the Raspberry Pi imager and selecting nymea from there!


With the efforts to make that happen, the Raspberry Pi images also have been upgraded to RaspiOS 11 Bullseye and split into 2 different images: The core image featuring a headless nymea:core setup, and the kiosk image, featuring nymea:core and nymea:app on the same image to be used for Raspberry Pis with touchscreen.
Note that existing installations on Raspbian 10 Buster will not automatically be upgraded to Bullseye but need to be reinstalled or manually upgraded with apt. This however, shouldn’t really make any difference to the user and unless you have another reason to require Bullseye, there’s no need to upgrade right away. The Bullseye images will still be supported for the foreseeable future.

Another biggish new feature is the support of TI z-Stack based ZigBee adapters along with the already supported Phoscon and NXP adapters. This includes a wide range of ZigBee adapters which can be identified by the CC2531 and CC2652 chipsets and are used in pretty much all the adapters available for end users on the internet. Often resellers allow selecting a firmware when ordering or the stick comes without any firmare. Selecting/flashing the zigbee2mqtt or the stock z-Stack firmware will work just fine. This also supports the Sonoff ZigBee 3.0 USB.

The core also received a bunch of performance optimizations and should now idle around a few % of CPU on a Raspberry Pi even with more than 100 configured things. Obviously this does depend on what things exactly are used and the amount of smart rules and scripts, but in any case the optimization should be very noticeable on large setups.

In terms of new device support, the Shelly EM and a bunch of ZigBee devices have been added but the lion share of work on plugins has been going into improving stability and performance of existing plugins. There are a whole lot of changes in the plugins which improve things here and there as well as adding newer models of already existing devices. Especially in the ZigBee area a lot of improvements have been made with better Thermostat device support and smart plugs with energy metering.

Last but not least, given the major version bump we’ve taken the opportunity to drop some legacy code that we’ve been carrying along for a while. This in turn implies that older app versions won’t be compatible to newer nymea setups any more so you are advised to upgrade all the app instances along with the core.

We’d also like to ask our users to help us setting up a device compatibility database. We’re not 100% clear yet how we’re going to collect information, but nevertheless we’d like to already ask you now to join our chat channels (Telegram of Discord, both can be found in nymea:apps main menu) and report any devices that you are using successfully with nymea. Perhaps we can work out something together which can easily be extended by the community.

Enjoy the release!

And as always, the full detailed changelog:

nymea:app (1.0.448)

  • Add support for multi-user and user permissions
  • Add remote tunnel support
  • Fixes and improvements in the energy charts
  • Add support for the virtual button thing class
  • Improvements in the ZigBee settings
  • Deprecate nymea:cloud support

nymea (1.0.0)

  • Add support for multi-user and user permissions
  • Add tunnel proxy server support
  • Add support for TI z-Stack based Zigbee adapters
  • Fix a crash when removing a currently connected transport
  • Make SSL certificate loading and generating more robust
  • Fix encoding of ZigbeeHandler (Windows CRLF → Unix LF)
  • Fix some interface definitions (minimum/maximum vs min/max)
  • Split thing cache into individual files
  • Fix cleaning up things when a setup fails in python plugins
  • Don’t generate events for state changes any more
  • Remove deprecated Devices, Action, Events, States namespaces from
  • Add discoveryType thing class property
  • Fix for ThingState which reports minValue instead of maxValue
  • Add debug prints to rule engine
  • Increase timeout for auto tests
  • Remove apt.conf.d/99nymea also without purge option
  • Update copyright to 2022
  • Update mac address database and switch source information provider
  • Fix crash for long taking mac address lookup
  • DebugInterface: Fix process finished crash if the http reply timed out

nymea-zigbee (1.0.0)

  • Add support for TI z-Stack based adapters
  • Exclude docs and firmware binaries from dpkg source package
  • Remove 1 from lib name
  • Cleaner .gitignore
  • Refactor handling of TSNs in ZCL to allow the application using it.
  • Allow removing uninitialized nodes
  • Fix debug print for ZigbeeNetwork errors
  • deConz: Remove unused/redundant firmware version string members
  • Add support for floating point attribute parsing
  • Add helpers for mandatory attributes in AnalogInput cluster
  • Simplify cluster inheritance
  • More work on the thermostat cluster
  • Timeout ZDO replies
  • Consolidate permit joining timer

nymea-remoteproxy (1.0.0)

  • Add TCP socket transport support
  • Add tunnel proxy remote connection
  • Add pkgconfig for nymea-remoteproxy development library

libnymea-networkmanager (1.0.0)

  • Handle Bluetooth controller resets better

nymea-networkmanager (1.0.0)

  • Make push button active high/low configurable

nymea-plugins (1.0.0)

  • SMA: Add speedwire interface
  • MQTT client: Add more parameters to thing class (for SSL and will)
  • Neato Botvac: Fix dependencies
  • Remove ZigBee plugins (moved to new repository)
  • SMA: Add default value for sma sunny webbox thing param #528
  • go-eCharger: Handle reconfigure for MQTT and queue HTTP requests
  • Shelly: Try to reconfigure MQTT on disconnected shellies
  • PhilipsHue: Improve discovery and error handling
  • SomfyTahoma: Fix min/max values as per interface
  • MecMeter: Optimize performance
  • DHT: Properly clean up pluginTimer when all things are gone
  • Shelly: Don’t cache volatile states
  • Shelly: Add support for Shelly EM
  • SolarLog: Fix currentPower state and disable caching for volatile
  • BluOS: Fix eventTypeId → stateTypeId typo
  • Keba: Fix eventTypes → stateTypes typo and uncache volatile states
  • Remove generic things plugins (Moved to new repository)
  • Keba: Add series capability check and fetch product information
  • Fronius: Rework plugin entirely, queue request and simplify
  • Shelly: Fix switch settings (button mode and reverse)

nymea-plugins-zigbee (1.0.0)

  • Update project/packaging files for the standalone repository
  • Tradfri: Update ikea symfonisk
  • Tradfri: Fix on/off button pressed event params
  • Lumi: Add support for energy metering on lumi plugs
  • New Plugin: Eurotronic
  • Lumi: Fix button multipress support
  • Lumi: Fix connecting to the OnOff cluster directly after pairing
  • Generic: Fixes in generic power socket handling (for Lidl power
  • Lumi: Add support for the second variant of the lumi button

nymea-plugins-simulation (1.0.0)

  • Closables: Fix min/max values
  • Energy: Fix action parameter type id

nymea-plugins-genericthings (1.0.0)

  • Split genericthings plugin into individual plugins
  • Energy: Add generic smart meters (producer and consumer)
  • Add a plugin for generic lights (all types)

nymea-plugins-modbus (1.0.0)

  • Update modbus connection generate tool
  • Wallbe: Update plugin metadata
  • Packaging: Split translations and consolidate package descriptions
  • Split energymeters into separate inepro Metering and B+G E-Tech
  • Wallbe: Fix eventTypeId → actionParamTypeId typo
  • SunSpec: Remove Kostal sunspec connection in favor of custom modbus
  • Sunspec: Set weak discovery type
  • SunSpec: Fix solar edge battery detection

nymea-plugin-knx (1.0.0)

  • Drop dependency to qt5-default

nymea-update-plugin-packagekit (1.0.0)

  • Add support for debian 11 / bullseye

nymea-experience-plugin-energy (1.0.0)

  • Fix debug print escape typo
  • Fix calculation of sample start for months and years
  • Optimize energy logs DB rectification after system downtime
1 Like

Congratulations on the release! I updated the imager but still not showing Nymea images there.

Hey @joaofo,
thanks.

Now this is strange. I’ve just upgraded the imager here to 1.7.2 too and it seems to be listing the nymea images just fine for me.
In which submenu did you take this screenshot? The nymea images are to be found in “Other specific-purpose OS” → “Home assisntants and home automation” → “nymea”

Great work again from the Nymea Team - and one step closer to an Enterprise solution :slightly_smiling_face:

1 Like

Congratulations for this great update !
What is the safest and correct way to update my existing version so I do not lose my settings?
I use raspberry pi 4 and I did the update but I can not find the new user settings. I did a test on Ubuntu laptop from scratch and works great .

Check if you’ve got the 1.0 in system settings, about nymea.
If so, you might have disabled the authentication on the connection interface you’re using. Check system settings, connection interfaces, advanced and make sure authentication is enabled for all the interfaces.

Hi
I had to update the nymea app on my Android phone in order to use the new version of nymea core .
After the update the app ask for username and password but I didn’t setup any username or password before the update. So now I can not login. What can I do please?
Thanks

You can delete /etc/nymea/user-db.sqlite
That should reset anything to do with users and login (keeping all the other settings)

2 Likes

Thanks Michael, I tested in 2 unrelated machines and the result is the same, no listing for nymea images. I will try on a 3rd machine and give feedback.

@joaofo
I can’t possibly think that this might be related to the machine… Are all the images missing for you, or just the nymea ones?

Just nymea images - others all fine.

I’ve tried it on different platforms and it seems to be working file on all of them for me… Not really sure how to proceed from here currently…

I’m testing on Windows. What platform is working for you @mzanetti ? Can you test in Windows to confirm?

Yes, I’ve tried on Windows (10) and Linux (Ubuntu 21.10).

Uh, I just tried it again on Windows right now and now I can reproduce it!

Interestingly, explicitly passing the nymea repo seems to work…

@joaofo Running the imager from the command line like this should get you going for now:

"C:\Program Files (x86)\Raspberry Pi Imager\rpi-imager.exe" --repo https://downloads.nymea.io/images/raspberrypi/rpi-image-repo.json

I’m still not sure what’s going on with the default repo list, bu this should allow installing the image until I’ve figured that out.

Okay. fixed now. Thanks for the report.

Thank you - confirming this is now working
image

2 Likes