Nymea 0.18 release notes

After we released 0.17 right before Christmas, it feels like ages with all those holidays in between but it’s actually only been 3 work weeks. Well, truth to be told, some of us were hacking along in their holidays on fun plugins so this release is quite packed!

The biggest highlight in this release is without any doubt the new nymea script engine. nymea now supports QML to directly script your home! How cool is that? This opens up unthinkable possibilities. Every feature you’ve missed in nymea’s rule engine is now available. For those who don’t know QML, it’s JavaScript with a declarative approach.

All the rules, all the automation magic you can possibly think of, fire up nymea:app’s script editor and have it! Now it’s about what you can come up with, not about what nymea can do, as this example brilliantly shows:

Got curious? Check out the scripting wiki page for more informations:
https://nymea.io/en/wiki/nymea/master/configuration/scripting

The script engine also opens up the way for writing nymea plugins in JavaScript. This is quite early stages still, and tooling and documentation around it isn’t great yet, but it does work already. Here (https://github.com/mzanetti/nymea-plugin-jstest) you can find an example plugin written in JS that polls data from http://wheretheiss.at and adds the ISS with real time positioning info as a thing in nymea. You can now automatically turn down lights when the ISS comes around so you can see it. While that’s arguably not 100% useful, it makes a nice example on how to get started with JS plugins. This should open up the way for more contributors of plugins as it does not necessarily require C++ knowledge any more to write plugins. The API is pretty similar to the C++ one, but well, JavaScript. We’re happy to help if you want to get started and have questions. We’re aware that we have to ramp up on tooling and documentation for JS plugins, so don’t hesitate to ask if you can’t find where to start. We’re here to help in the forum, on Telegram and there is the wiki on wiki.nymea.io which (hint!) also takes pull requests from you guys as any other nymea project at its source repository on github :wink:

Obviously there have been a bunch of newcomers in our plugins. Let’s give a warm welcome to

  • Tuya
  • Tado
  • Nanoleaf
  • TP-Link Kasa
  • OpenUV
  • Nuki smartlocks
  • USB relays and
  • UniFi network controllers

And we’re still not out of topics for this release. In addition to all that, we’ve added support for a range of new platforms:

  • nymea now officially supports the Raspberry Pi0 as well as the Pi1. There’s just one RPi image, based on Raspbian buster, with all the nymea goodness working on all models, from Pi0 to Pi4.
  • If you’re a macOS user you’ll be happy to hear that nymea:app is now published in the macOS app store, right there.
  • Ubuntu Phone got arm64 builds enabled too.

Ok, I think that was it for the biggies, but there’s still a lot of fixes and smaller addditions which are worth noting. Check out the complete changelog below.

Enjoy this release and if you like it, please take a minute to rate nymea in your favorite app store and tweet/blog/chat/snap/whatever about it, we’d appreciate it!

nymea:app (1.0.182)

  • Add a script editor for nymea scripts
  • Implement new system time api
  • Add support for imperial unit conversion
  • Enable publishing to macOS app store
  • Enable arm64 architecture builds for Ubuntu Phone
  • Allow filtering by vendor when adding new things
  • Reenable UPnP, regardless if ZeroConf is enabled already
  • Add info about Qt versions in about pages
  • Fix SSL connections on windows
  • Fix wording for heating and garagedoors
  • Improve ParamDelegate layout
  • Better error messages when a discovery fails
  • Add Bluetooth media browser icon
  • Add basic support for smartlocks
  • Use basic support for accounts
  • Fix dependency to Qt.labs.calendar for click, snap and dpkg
  • Fix view mode beaking when opening Look and feel page
  • Use a more unique nonce for the remote connection
  • Update the device name when it changes in the cloud

nymea:core (0.18.1)

  • Add a script engine for nymea scripts
  • Add System Time API
  • Add discovery mode to userandpassword mock device
  • Update company name
  • Improve log DB housekeeping performance
  • Support units in interfaces
  • Update device names when changed by the plugin
  • Subscribe to the entire device namespace in nymea:cloud MQTT
  • Use a more unique nonce for the remote connection
  • Update year and copyright
  • Generate a version.h file
  • Disconnect all slots of nymea:core on shutdown
  • Add Bluetooth media icon
  • Add info about Qt versions in API
  • Fix crash when removing a connected transport interface
  • Update copyright

nymea-plugins (0.18.1)

  • New Plugin: Tuya cloud
  • New plugin: Tado
  • New Plugin: Nanoleaf
  • New Plugin: OpenUV
  • New Plugin: tp-link Kasa
  • New Plugin: UniFi network controller
  • New plugin: Nuki
  • New plugin: USB relay
  • Boblight: Fix behavior if color is changed very fast
  • HttpCommander: Build with more strict compiler settings
  • TexasInstruments: Fix pressure unit for sensortag
  • Kodi: Skip link-local IPv6 addresses
  • EQ-3: Fix connection to MAX! cube
  • Bose SoundTouch: Fix actions and add source browsing
  • Update copyright

nymea-plugin-unipi2 (0.1.3)

  • fixed slave address
  • Fix csv file path

nymea-update-plugin-packagekit (0.6)

  • Support the rpi specific repo
  • Update copyright

nymea-system-plugin-systemd (0.4)

  • Support setting the system time zone
  • Update copyright

nymea-zeroconf-plugin-avahi (0.4)

  • Add license file
  • Make discoveries more robust against network outages
  • Update copyright

nymea-plugin-ekey (0.0.2)

  • Ekey Plug-In: Updated to latest devicemanager api

nymea-cli (1.1.4)

  • Support connecting to SSL enabled nymea hosts
2 Likes

Hi @mzanetti, what can I do with the UniFi controller?
I have a single UniFi Access Point (AP-AC-Pro) working as standalone Hotspot - can I get some value out of that?

You’d need to have a unifi controller running. I have the controller running on the same rpi as nymea. Unifi offers a repository which works out of the box. Google for instructions for it. Once you have that configured, you can add the controller to nymea and from there use the wifi device presence detection directly from the ap. Maybe you find some other useful things we could add to the nymea plugin.