Newbie problems with Shelly and Tahoma Plugin / Thing

Hi all.

I started with Nymea a few days ago and installed the Raspi Image on an Raspi 4, then updated it to the latest version.

I really like the look and feel of Nymea and all the possibilities you have wit the system to control your smart home.

I already installed the Hue Plugin successfully.

But today I run into the following problems:

  1. Setting up a Tahoma Account always fails with the following error message: “Something went wrong setting up this thing … Failed to login to Somfy Tahoma.” My credentials are definitely correct, as I can log into the tahoma website without any problems.

  2. I added a shelly 2.5 to control a rollershutter as a thing which was recognized by Nymea immediatelly. But my problem is, that all the shelly things (switches, smart meter, shutters and gateway) are not connected. Nymea always says “Thing is not connected!” even it shows me a signal strength of 100%.

Probably the problem is in front of nymea … But as I am really stuck, maybe someone can tell me what I am doing wrong!

Thanks for your help and happy easter to all! Keep on running!

Regards, plasmediaX

Hi @plasmediaX, welcome to nymea.

for the Tahoma account perhaps @fetzerch can help

For shelly, Please make sure that you have an MQTT broker enabled (the default setting should have everything you need, but maybe you disabled it?). Another thing to check is whether the shellies are allowed to be configured by nymea. When you add them to nymea, nymea will send a configuration to the shelly which makes it connect to nymeas MQTT server. Perhaps there is some configuration on the shelly which prevents this?

You can open system settings → Developer tools → enable the debug server and open it. There you should be able to find the logs tab and enable logging for the Shelly and Tahoma plugins, perhaps that gives some clues.

Hm, that’s odd. What website are you referring to? The plugin uses https://www.tahomalink.com/ underneath. Are you able to login and control your Tahoma box here?

Thanks for your quick reply. https://tahomalink.com is exactly what I meant with tahoma website. Here I can login without any problems and control my tahoma box. I already tried a reboot of my Nymea installation, but still always getting the same error message.

Thanks for your help. I will try the logging and let you know what happens.

This is what I can see in the logs

Tahoma
W | SomfyTahoma: Request for “/login” failed: “Host requires authentication”
W | ThingManager: ConfirmPairing failed for “Tahoma Account” QUuid("{xxx}")

Shelly
I | Shelly: Requesting announcement “shellies/shellyswitch25-xxx/info”

Regarding the MQTT Broker, I didn’ modify any settings, still using the defaults after installation. Maybe I have to change something here?

grafik

The MQTT settings are fine. There should be much more in the logs about the Shelly tho… Perhaps try to remove and add the shelly thing again while watching the logs in the browser window. It does sound like the Shelly is not connecting via MQTT for some reason… Maybe MQTT is disabled on the shelly?

MQTT is definitely enabled on the shelly, I rechecked. I also made a complete new installation of the latest pi image, but again it doesn’t work. As I activated the log before adding the shelly, I have some more - hopefully interesting - information. Maybe someone can see now what I’ doing wrong. Thanks again for your help!

(I replaced the full shelly ID by xxx and the IP of the shelly by internalIP)

W | PlatformZeroConf: Could not register service “nymea-ws-default” 4444 “_ws._tcp” . The client is not available.
W | PlatformZeroConf: Could not register service “nymea-http-secure” 443 “_http._tcp” . The client is not available.
W | PlatformZeroConf: Could not register service “nymea-http-insecure” 80 “_http._tcp” . The client is not available.W | PlatformZeroConf: Could not register service “nymea-mqtt-default” 1883 “_mqtt._tcp” . The client is not available.
W | PlatformZeroConf: Could not register service “nymea-mqtt-default” 1883 “_mqtt._tcp” . The client is not available.
W | PlatformZeroConf: Could not register service “nymea-tcp-default” 2222 “_jsonrpc._tcp” . The client is not available.
I | ThingManager: Thing discovery for “shelly25” started…
I | Shelly: Found shelly thing! ZeroConfServiceEntry(“shellyswitch25-xxx”)
location: “internalIP”:80
hostname: “shellyswitch25-xxx.local”
domain: “local”
service type: “_http._tcp”
protocol: QAbstractSocket::IPv4Protocol
txt: (“id=shellyswitch25-xxx”, “arch=esp8266”, “app=switch25”, “fw_version=1.0”, “fw_id=20210323-104714/v1.10.1-gf276b51”)

I | ThingManager: Discovery finished. Found things: 1
I | Thing: “shellyswitch25-xxx”: State “connected” changed from QVariant(Invalid) to QVariant(bool, false)
I | Thing: “shellyswitch25-xxx”: State “signalStrength” changed from QVariant(Invalid) to QVariant(uint, 100)
I | Thing: “shellyswitch25-xxx”: State “updateStatus” changed from QVariant(Invalid) to QVariant(QString, “idle”)
I | Thing: “shellyswitch25-xxx”: State “currentVersion” changed from QVariant(Invalid) to QVariant(QString, “”)
I | Thing: “shellyswitch25-xxx”: State “availableVersion” changed from QVariant(Invalid) to QVariant(QString, “”)
I | Mqtt: Suitable MQTT server for “internalIP” found at “192.168.178.80” on port 1883
I | Mqtt: Policy for client “shellyswitch25-xxx” added.
I | Shelly: Connecting to “http://:@internalIP:80/settings?mqtt_server=192.168.178.80:1883&mqtt_user=da8f96cbbb4444009bf66a577d8788c8&mqtt_pass=bd5d2bc007d24f8cb34e6ed9baa7949b&mqtt_enable=true&mode=roller
I | Shelly: Settings data {
“actions”: {
“active”: false,
“names”: [
“btn_on_url”,
“btn_off_url”,
“longpush_url”,
“shortpush_url”,
“out_on_url”,
“out_off_url”,
“btn_on_url”,
“btn_off_url”,
“longpush_url”,
“shortpush_url”,
“out_on_url”,
“out_off_url”,
“roller_open_url”,
“roller_close_url”,
“roller_stop_url”
]
},
“allow_cross_origin”: false,
“ap_roaming”: {
“enabled”: false,
“threshold”: -70
},
“build_info”: {
“build_id”: “20210323-104714/v1.10.1-gf276b51”,
“build_timestamp”: “2021-03-23T10:47:14Z”,
“build_version”: “1.0”
},
“cloud”: {
“connected”: false,
“enabled”: false
},
“coiot”: {
“enabled”: true,
“peer”: “”,
“update_period”: 15
},
“debug_enable”: false,
“device”: {
“hostname”: “shellyswitch25-xxx”,
“mac”: “xxx”,
“num_meters”: 2,
“num_outputs”: 2,
“num_rollers”: 1,
“type”: “SHSW-25”
},
“discoverable”: false,
“factory_reset_from_switch”: true,
“favorites”: [
{
“name”: “Position 1”,
“pos”: 0
},
{
“name”: “Position 2”,
“pos”: 0
},
{
“name”: “Position 3”,
“pos”: 0
},
{
“name”: “Position 4”,
“pos”: 0
}
],
“favorites_enabled”: false,
“fw”: “20210323-104714/v1.10.1-gf276b51”,
“hwinfo”: {
“batch_id”: 1,
“hw_revision”: “prod-191217”
},
“lat”: 50.937931,
“led_status_disable”: false,
“lng”: 6.87853,
“login”: {
“enabled”: false,
“unprotected”: false,
“username”: “admin”
},
“longpush_time”: 800,
“max_power”: 1840,
“mode”: “roller”,
“mqtt”: {
“clean_session”: true,
“enable”: true,
“id”: “shellyswitch25-xxx”,
“keep_alive”: 60,
“max_qos”: 0,
“reconnect_timeout_max”: 60,
“reconnect_timeout_min”: 2,
“retain”: false,
“server”: “192.168.178.80:1883”,
“update_period”: 30,
“user”: “da8f96cbbb4444009bf66a577d8788c8”
},
“name”: “Shelly Rolladen Bad”,
“pin_code”: “H95I{$”,
“relays”: [
{
“appliance_type”: “General”,
“auto_off”: 0,
“auto_on”: 0,
“btn_reverse”: 0,
“btn_type”: “toggle”,
“default_state”: “switch”,
“has_timer”: false,
“ison”: false,
“max_power”: 0,
“name”: null,
“schedule”: false,
“schedule_rules”: [
]
},
{
“appliance_type”: “General”,
“auto_off”: 0,
“auto_on”: 0,
“btn_reverse”: 0,
“btn_type”: “toggle”,
“default_state”: “switch”,
“has_timer”: false,
“ison”: false,
“max_power”: 0,
“name”: null,
“schedule”: false,
“schedule_rules”: [
]
}
],
“rollers”: [
{
“btn_reverse”: 0,
“button_type”: “toggle”,
“default_state”: “stop”,
“input_mode”: “openclose”,
“is_valid”: true,
“maxtime”: 20,
“maxtime_close”: 25,
“maxtime_open”: 26,
“obstacle_action”: “stop”,
“obstacle_delay”: 1,
“obstacle_mode”: “disabled”,
“obstacle_power”: 200,
“off_power”: 2,
“positioning”: true,
“power”: 0,
“safety_action”: “stop”,
“safety_allowed_on_trigger”: “none”,
“safety_mode”: “while_opening”,
“safety_switch”: false,
“schedule”: false,
“schedule_rules”: [
],
“state”: “stop”,
“swap”: false,
“swap_inputs”: false
}
],
“sntp”: {
“enabled”: true,
“server”: “time.google.com
},
“time”: “16:14”,
“timezone”: “Europe/Berlin”,
“tz_dst”: false,
“tz_dst_auto”: true,
“tz_utc_offset”: 7200,
“tzautodetect”: true,
“unixtime”: 1617372852,
“wifi_ap”: {
“enabled”: false,
“key”: “”,
“ssid”: “shellyswitch25-xxx”
},
“wifi_sta”: {
“dns”: null,
“enabled”: true,
“gw”: null,
“ip”: null,
“ipv4_method”: “dhcp”,
“mask”: null,
“ssid”: “b-net”
},
“wifi_sta1”: {
“dns”: null,
“enabled”: false,
“gw”: null,
“ip”: null,
“ipv4_method”: “dhcp”,
“mask”: null,
“ssid”: null
},
“wifirecovery_reboot_enabled”: true
}

I | ThingManager: Thing setup complete.
I | ThingManager: Setting up auto thing: “shellyswitch25-xxx switch 1” “{613a358e-205d-4565-bcf0-34fe1d9153a7}”
I | Thing: “shellyswitch25-xxx switch 1”: State “connected” changed from QVariant(Invalid) to QVariant(bool, false)
I | Thing: “shellyswitch25-xxx switch 1”: State “signalStrength” changed from QVariant(Invalid) to QVariant(uint, 100)
I | Thing: “shellyswitch25-xxx switch 1”: State “power” changed from QVariant(Invalid) to QVariant(bool, false)
I | Shelly: Setting up shelly child: “shellyswitch25-xxx switch 1”
I | Shelly: Parent for “shellyswitch25-xxx switch 1” is set up. Finishing child setup.
I | ThingManager: Setting up auto thing: “shellyswitch25-xxx switch 2” “{aa0b2945-69d7-4428-93e2-882a67cf28f0}”
I | Thing: “shellyswitch25-xxx switch 2”: State “connected” changed from QVariant(Invalid) to QVariant(bool, false)
I | Thing: “shellyswitch25-xxx switch 2”: State “signalStrength” changed from QVariant(Invalid) to QVariant(uint, 100)
I | Thing: “shellyswitch25-xxx switch 2”: State “power” changed from QVariant(Invalid) to QVariant(bool, false)
I | Shelly: Setting up shelly child: “shellyswitch25-xxx switch 2”
I | Shelly: Parent for “shellyswitch25-xxx switch 2” is set up. Finishing child setup.
I | ThingManager: Setting up auto thing: “shellyswitch25-xxx connected shutter” “{ba45a133-020e-4528-b485-aba6a41a39d5}”
I | Thing: “shellyswitch25-xxx connected shutter”: State “connected” changed from QVariant(Invalid) to QVariant(bool, false)
I | Thing: “shellyswitch25-xxx connected shutter”: State “signalStrength” changed from QVariant(Invalid) to QVariant(uint, 100)
I | Thing: “shellyswitch25-xxx connected shutter”: State “totalEnergyConsumed” changed from QVariant(Invalid) to QVariant(double, 0)
I | Thing: “shellyswitch25-xxx connected shutter”: State “currentPower” changed from QVariant(Invalid) to QVariant(double, 0)
I | Thing: “shellyswitch25-xxx connected shutter”: State “moving” changed from QVariant(Invalid) to QVariant(bool, false)
I | Thing: “shellyswitch25-xxx connected shutter”: State “percentage” changed from QVariant(Invalid) to QVariant(int, 0)
I | Shelly: Setting up shelly child: “shellyswitch25-xxx connected shutter”
I | Shelly: Parent for “shellyswitch25-xxx connected shutter” is set up. Finishing child setup.
W | PlatformZeroConf: Could not register service “nymea-ws-default” 4444 “_ws._tcp” . The client is not available.
W | PlatformZeroConf: Could not register service “nymea-http-secure” 443 “_http._tcp” . The client is not available.
W | PlatformZeroConf: Could not register service “nymea-http-insecure” 80 “_http._tcp” . The client is not available.
W | PlatformZeroConf: Could not register service “nymea-mqtt-default” 1883 “_mqtt._tcp” . The client is not available.
W | PlatformZeroConf: Could not register service “nymea-tcp-default” 2222 “_jsonrpc._tcp” . The client is not available.
I | Shelly: Requesting announcement “shellies/shellyswitch25-xxx/info”

i’ve digged out my shelly 25 and tried, it seems to work just fine for me… I’m not sure what’s going on for you atm, the log looks just fine. The one thing that’s different than in my log is that the field pin_code is set for you while for me it is empty… To be honest I’m really not sure what this pin code is supposed to be. The shelly documentation doesn’t say anything about it. Do you remember if you changed some settings that might have enabled this in one way or another? Perhaps restoring factory defaults on the shelly could help?

As far as I can remember, I didn’t change anything in the shelly config. But as you suggested, I will try with a different shelly with factory defaults over the weekend and come back to you. Really appreciate your support here! Thanks!

Hey @plasmediaX, the experimental repository contains a fix for the somfy tahoma plugin… We believe that might fix it for you. Would be nice if you could upgrade your nymea system to experimental (System settings → System updates → Configure) and see if it helps.

Good Morning.
First of all I want to tell you that before upgrading to experimental, I found out that my shelly25 was suddenly not only recognized but also conected to nymea and therefor now working without any problems. No clue what happened as I didn’t modify anything since friday?!
And regarding the Somfy Tahoma Plugin: I don’t know what exactly you did, but in experimental mode, I now can log into Somfy Tahoma without any problems and everything works fine! So it seems to be a bug in production, right? Great Job!

Thanks for your help.

Shelly: glad it works now. Seems like it refused to connect to mqtt before and recovered itself somehow now.

Somfy: Yes. Special characters in the password weren’t encoded properly.

You can now disable the experimental repository again. Your system will stay on experimental until stable catches up and then it will update with stable releases again.