Edit: Feb 6, 2023 – Nymea has recently launched version 1.6 which appears to have added / adjusted at least some of my ‘positive criticism’ comments below so some may no longer be relevant. Further, be advised always to go to the official nymea.io documentation for the latest and greatest instructions. My stuff is just to go alongside with it.
I thought I’d document my journey of setting up and getting to know Nymea.
Nymea is an incredible open source home automation system that even has a beautiful app for Ubuntu Touch.
If you are looking for a perfectly in-order tutorial blog, this is definitely not that. Since I’m so busy this will be a ‘babble blog’ where you join me as I suffer the pains and benefit from the gains. With this babble-blog style that I do, do not start simply punching in my commands but first skim the whole thing to the end because there are usually things I learn after certain steps which makes it better. So don’t yell at me for the writing style – you’ve been warned. Now, let’s begin the journey.
Finding Nymea and a Quick High Level Overview
First, I went to this page which clearly showed me I needed to
a) have nymea:core (the brains) running on some machine and
b) nymea:app (the body) running on something to control nymea:core (the brains)
Positive Criticism 1: I expected a kind of ‘download page’ rather than ‘get started’ and it took me a few clicks to realize I should be on the ‘user’ page.
So, for a quick ‘power tour’ I decided to grab an old laptop (Dell Latitude E6410 if you care) running Linux Lite (a debian distro version since I like Debian / Ubuntu). I’m also going to do it on this machine: a standard ubuntu desktop machine.
When you mouse-over the raspberry pi, ubuntu, etc logos on either the nymea:core or nymea:app you will see that there are links to and [](https://nymea.io/documentation/users/installation/app respectively.
Positive Criticism 2: These are probably the links I was looking for above right when I landed on the home page – maybe a quick link to these?
I noticed there is pretty strong documentation on the raspberry pi which I will likely be using for the final installation at my house when it’s built. I will likely babble-blog on this part when I do it later. For now I’m skipping to debian/ubuntu instructions
Debian / Ubuntu Installation
First I see the notes that they recommend the reposititory installation over the snap installation. Snaps can have funny challenges from time to time so I’m going to take their advice and go for the more painful repository installation. If you are fine with snaps as a rule, great news: it’s a one-click install from the ubuntu software centre with a bunch of good star ratings. But I like pain so let’s continue with the repository method:
The first thing I noticed is this instruction:
To enable the repository, create a file named /etc/apt/sources.list.d/nymea.list with the following content:
The problem here is that not everyone knows how to create a file this way. Perhaps the writers think ‘if they don’t know how to do this they should probably use a snap’ – and that’s probably true, ha. But I’ll give you instructions in case. In ubuntu, you would open your terminal and write:
nano /etc/apt/sources.list.d/nymea.list
This will create the blank file using the text editor Nano and allow you to put in the content the writer is asking for. However, they are asking for a further thing that they are expecting you to know which the average user might not in the following instructions:
Note: Replace <distro> with the codename of the distro, e.g. buster for Debian 10 or focal for Ubuntu 20.04
I don’t actually know my distro codename nor how to find it so I’ll do that research now for all of us. So really, before you even begin the process of attempting to install Nymea, you need to do this. I found this handy command which did the trick:
lsb_release -a
And this is what came out:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal
There at the bottom is my code name. Now I can continue with
nano /etc/apt/sources.list.d/nymea.list
and now I can type out this content into the blank file, replacing the with ‘focal’ in my case, but you would do whatever your codename output was above:
deb http://repository.nymea.io <distro> main
mine will look like this:
deb http://repository.nymea.io focal main
control x to leave the terminal
‘y’ to agree to save changes and exit
Ah, unfortunately the instructions above did not include an important point. To write to this /etc/ file you created above, you need to have superuser powers. As such you need to add ‘sudo’ in front of the original command as follows:
sudo nano /etc/apt/sources.list.d/nymea.list
Now when it opens you will have the ability to actually save the content when you exit the terminal:
control x to leave the terminal
‘y’ to agree to save changes and exit
enter key to confirm changes
Positive Criticism 3: update the instructions above to include ‘sudo’
Now we’ll add the repository key as per their instructions. Here they have sudo explicity requested which is great:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key A1A19ED6
On Linux Lite I got an half-error message saying that the apt-key
part of the command was depreciated but I did not get this message on Ubuntu (regular), heads up.
Next I did the usual:
sudo apt update
sudo apt install nymea nymea-plugins
Boom. Installing. So outside of a few things that would be tricky for a brand-noob (a broob) seems pretty great so far on both ubuntu (generic) and Linux Lite machines.
Quick summary of key pain-killing points:
- Know your distribution release before you begin with the
lsb_release -a
command - don’t forget the missing sudo in the
nano /etc/apt/sources.list.d/nymea.list
command
Now it’s installed. Now what? I actually don’t know so follow along with me as I bumble my way…
Part 2: I’ve installed Nymea. Now what?
Not sure. Let’s keep the journey-style writing here and I’ll let you know what happens as I go so you can avoid my pain or share the gain.
First thing I’m going to do is start up a Nymea:app (the arms of the brains). I have Ubuntu Touch as my mobile phone of choice and I have installed the Nymea app from the OpenStore.
I will now open it and see if it magically finds the Nymea:core since we are in the same Local network. Note, if your phone is on a cell phone data plan and not connected to the same wifi network as the nymea:core you just installed it’s unlikely anything good will happen. And probably that’s a good note to start with for broobs. Your Nymea:core box needs to be on the same network as the Nymea:app you are running. That’s obvious for some of us but not all of us…
- opened app
- hit ‘next’ button on bottom right
- choose ‘wireless’ to connect to network
- It said ‘turn on the nymea system and wait for it to start up’. I believe it’s automatically running now so I’ll hit ‘next’
- Searching for the nymea system. It also said that I had to turn on bluetooth. that’s interesting because what if I didn’t want to use bluetooth and just wanted some wired internet options? Hmm… after I turned it on the searching seemed to start and not before….
I also noted that my phone had grabbed a router that was on a weaker signal further away, but same network. Perhaps a note to self to do the setup on the strongest signal available on the LAN…not critical but if the signal is too weak this could mess up the process. Walk closer to wifi router is another option…
It seemed not able to find the system. I wonder if you have to actually start Nymea:core on the server? The instructions didn’t say that did they? I used the top
command and I see nymead
running so it’s running… that’s not the problem.
Hmm. I went back to the https://nymea.io/documentation/users/installation/core page, hit the next button and it took me to the https://nymea.io/documentation/users/installation/app page. Page one is more for Ubuntu desktop environments, not ubuntu touch. So I skipped to the next page which has ‘first steps’ Well, what the.. it seems this thing connects maybe by Bluetooth, not by wifi / internet? That is definitely not what I would expect or like. So – i’m probably wrong about this, ha.
So now I did a bluetooth pairing session between my Linux lite machine running nymea:core and my ubuntu touch phone running nymea:app. They successfully paired. Now I attempted again to do the ‘wireless setup’ with the nymea:app on my UT phone and no dice. Still not finding the system…
Did a reboot.
ran top
– Nymead is still running so now I know for sure that Nymea is acting like a true server and turning on automatically with reboot (which is good).
Opened UT nymea app, tried set up again. No go…
Now I reach out to the great community on Telegram which is here by the way.
Turns out silence is the best teacher because right after I asked the question to the community, I read some fine print on the app screen which said:
‘If your Nymea system is already connected to network you can skip this step’.
and i did with the Skip button.
Positive Criticism 4: This line above to skip should be somehow more bold, larger, or have an icon that forces the useless reader like me to be sure to read that point. Perhaps an exclaimation mark in a red triangle?
Right after pressing “Skip” I was then greeted with an ethernet icon and nymeas://192.168.1.8:2222
which is obviously my laptop with Nymea on the same network LAN. Yay. I touched this and immediately it said ‘connected’ and then ‘Welcome to nymea!” screen.
Nice.
The next screen brings me to an account setup page. Right away I opened my KeepasXC app and set up an admin username space and random password so that I can safely store this. I wasn’t sure if this was going to be required each and every time I use Nymea or if this will be more like an admin password.
Positive Criticism 5: It might be nice to be more clear on this point on this screen about what exactly this user account is for and how secure things should be?
It does require the following for passwords as a heads up:
- Min 8 characters
- Lowercase letters
- Uppercase letters
- Numbers
Once I had entered the username, pw, and optional fields and hit next, I landed on the ‘add things’ screen. Here I have nothing to add, though. 🙁
Good news is that I can use the weather app ‘thing’ at the bottom for a test… so I installed that, searched for my city, and used the right arrow to enable it. This brought me to some sensors so I could get a look / feel of it.
Nice.
Now, how do I ‘add things’ again? There is no ‘add things’ or ‘add more things’
In Ubuntu touch, I would expect this to maybe be a bottom screen swipe up which would give me the ‘add things’ options like we see in many other apps?
Positive Criticism 6: for Ubuntu Touch, consider that for a design idea?
Next I went into the Hamburger menu looking for the ‘Add things’ or ‘Add more things’ since that’s what the setup language was for this. Nothing. However, there is now a ‘configure things’ option. Hmm. Could that be ‘add things’? I would expect ‘add things’ right on the main menu here if anywhere…
Under ‘configure things’ I now see the weather app running. I can configure it here. This makes sense because it’s installed.
Oh, what’s that at the top right of the screen? A “+ plus” sign. Could that be to ‘add things’? Or is that to ‘add a new configuration’ since I”m in the configuration screen? Let me try:
Here it is! but it’s called ‘Set up a new thing’ and it was buried under the ‘configure things’ section.
Positive Criticism 7: consider making ‘Add new things’ the consistent language for adding a new device
Positive Criticism 8: Consider putting ‘Add new things’ in the top level menu of the Hamburger menu.
Positive Criticism 9: for the ‘configure things’ icon, consider changing to a different icon. Looks like a ‘share’ icon.
As I went into this ‘new thing’ section it was impressively loaded with lots of different integrations. I asked the community where I could find and share these integrations with interested parties and this link was provided. This is a good starting point to show a developer or even a hardware installation person what existing hardware can integrate. It also helps a user decide what hardware to purchase that will work well with your Nymea system.
All in all, a big high five to the Nymea team. Not only is it all in all impressive but you’ve made a beautiful app for Ubuntu Touch too which is worth its weight in gold.
And that’s it for now!
Summary:
- Got Nymea:core installed and working
- Got Nymea:app installed and working
- Added a ‘thing’ and felt it out
- found out how to add a new thing if I want.
Stay tuned for the next ‘babble blog’ which will likely be something like:
“Next step: buying or borrowing a ‘thing’ to test it out further”