-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shelly: Failed to create MQTT channel #11
Comments
Thanks for the report. Would you mind attaching the output of Seems like the code fails to match the Shelly's IP address to a network interface on the server. Afaict from the logs the server address is 10.0.0.135 and the shelly's is 10.66.66.12. I have created this sample code to reproduce it
but it returns "true" so it should work. Which probably means that either I got one of the IP addresses wrong from the logs, or your subnet mask is not 255.0.0.0. The output of |
my subnet mask is /16, so 255.255.0.0 on the server network and /24 - 255.255.255.0 on the shelly network. Both networks are completely open in the firewall. I don't have ifconfig installed, but root@nymea:~# ip a |
right... so as the subnetmask is /24 (which is the same as 255.255.255.0) the shelly is in a different network... With a mask of 255.255.255.0 your machine can only communicate to other hosts having IP addresses from 10.0.0.1 to 10.0.0.254. As you're apparently in a class A network, you should set the mask to /8 (or 255.0.0.0). Then it should start working. |
sorry... I've mistaken the mask a bit, but still the argument is valid... With this ip config 10.0.0.135/16 you'd be able to communicate with hosts in 10.0.x.x, but the shelly is in 10.66.66.12/24, so it would only be able to communicate with hosts of 10.66.66.x |
If you've received both ip addresses via DCHP it either hints to a bad router configuration or your administrator doesn't want you to communicate between workstations and mobile devices (which would be rather bad security tho, because the client can override the netmask anyways). Also a bit weird that the shelly got a different subnet mask than your workstation.... Would make me think now that shellies might only take the IP address from DHCP and hardcode a /24 netmask... |
I know. But the those are two separate networks. on net A: (server site net) on net B (shelly site net): There is one hop: |
hmmm I see... so those are indeed separate networks but routed between each other... The code doesn't cope with that (yet)... So the caveat there is that nymea needs to configure the MQTT server on the shelly... For that it needs to find out which IP address it should tell the shelly to connect to. But given both devices are in different networks, it can't know that there is a router routing between them. I'm thinking how I could find out in the code that this would still work by just telling the shelly to use 10.0.0.135... |
Ok. I'll try adding the server into the shelly network for now. I think this issue could be closed for now. Thank you. |
Hmm... no... I'll keep this open... IMHO this can and should be fixed in nymea... It actually belongs to nymea itself tho, not nymea-mqtt (as the MQTT implementation itlsef really doesn't care about this stuff) |
Thanks again for the report |
Fehler beim hinzufügen von Shellys auf neu aufgesetzten nymea server.
Installation des Servers nach dieser Anleitung: [https://nymea.io/wiki/nymea/master/install/ubuntu
]
OS
Ubuntu Server 18.04LTS
Output der Debug:
I | Shelly: Found shelly thing! ZeroConfServiceEntry("shelly1-76FB03")
location: "10.66.66.12":80
hostname: "shelly1-76FB03.local"
domain: "local"
service type: "_http._tcp"
protocol: QAbstractSocket::NetworkLayerProtocol(IPv4Protocol)
txt: ("id=shelly1-76FB03", "fw_id=20200320-123430/v1.6.2@514044b4", "arch=esp8266")
W | Mqtt: Unable to find a matching MQTT server port for client address "10.66.66.12"
W | Shelly: Failed to create MQTT channel.
W | ThingManager: Thing setup failed. Not adding thing to system.
Ports am Server sind offen:
root@nymea:~# lsof -i -P -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-n 74 systemd-network 16u IPv4 96983506 0t0 UDP 10.0.0.135:68
systemd-r 97 systemd-resolve 12u IPv4 96180568 0t0 UDP 127.0.0.53:53
systemd-r 97 systemd-resolve 13u IPv4 96180569 0t0 TCP 127.0.0.53:53 (LISTEN)
avahi-dae 154 avahi 12u IPv4 96180397 0t0 UDP *:5353
avahi-dae 154 avahi 13u IPv6 96180398 0t0 UDP *:5353
avahi-dae 154 avahi 14u IPv4 96180399 0t0 UDP *:47749
avahi-dae 154 avahi 15u IPv6 96180400 0t0 UDP *:41444
nymead 201 root 9u IPv6 96182559 0t0 UDP *:49880
nymead 201 root 12u IPv4 96181575 0t0 TCP *:2222 (LISTEN)
nymead 201 root 13u IPv4 96181576 0t0 TCP *:4444 (LISTEN)
nymead 201 root 14u IPv4 96182481 0t0 TCP *:443 (LISTEN)
nymead 201 root 15u IPv4 96182482 0t0 TCP *:80 (LISTEN)
nymead 201 root 16u IPv4 96182483 0t0 TCP *:1883 (LISTEN)
nymead 201 root 18u IPv4 96182572 0t0 UDP *:1900
nymead 201 root 20u IPv4 96202037 0t0 TCP *:1884 (LISTEN)
nymead 201 root 21u IPv4 96182592 0t0 TCP 10.0.0.135:2222->10.0.11.15:55156 (ESTABLISHED)
nymead 201 root 24u IPv6 96219377 0t0 TCP *:2626 (LISTEN)
nymead 201 root 25u IPv4 96999542 0t0 TCP 10.0.0.135:80->10.0.1.29:41238 (ESTABLISHED)
nymead 201 root 26u IPv6 96999940 0t0 TCP 10.0.0.135:2626->10.0.11.15:59286 (ESTABLISHED)
sshd 218 root 3u IPv4 96181299 0t0 TCP *:22 (LISTEN)
sshd 218 root 4u IPv6 96181313 0t0 TCP *:22 (LISTEN)
master 392 root 13u IPv4 96181803 0t0 TCP 127.0.0.1:25 (LISTEN)
master 392 root 14u IPv6 96181804 0t0 TCP [::1]:25 (LISTEN)
Nymea Logs nach Neustart von nymead über systemctl und erneuten Versuch einen Shelly hinzuzufügen:
root@nymea:
# journalctl -f -u nymeadbionic1 started as root.-- Logs begin at Tue 2020-05-05 20:13:07 UTC. --
Mai 06 07:45:07 nymea systemd[1]: nymead.service: Failed with result 'signal'.
Mai 06 07:45:07 nymea systemd[1]: Stopped nymead - IoT server.
Mai 06 07:45:17 nymea systemd[1]: nymead.service: Failed to reset devices.list: Operation not permitted
Mai 06 07:45:17 nymea systemd[1]: Started nymead - IoT server.
Mai 06 07:45:17 nymea nymead[1172]: I | Application: =====================================
Mai 06 07:45:17 nymea nymead[1172]: I | Application: nymead 0.20.0+202004051443
Mai 06 07:45:17 nymea nymead[1172]: I | Application: =====================================
Mai 06 07:45:18 nymea nymead[1172]: W | default: QFSFileEngine::open: No file name specified
Mai 06 07:45:18 nymea nymead[1172]: W | ServerManager: Could not open "" : "No file name specified"
Mai 06 07:45:18 nymea nymead[1172]: W | ServerManager: Using fallback self-signed SSL certificate: "/var/lib/nymea/certs/nymead-certificate.crt"
Mai 06 07:45:43 nymea nymead[1172]: W | default: Cannot find a running Bluez. Please check the Bluez installation.
Mai 06 07:45:43 nymea nymead[1172]: I | Mqtt: MQTT server running on QHostAddress("0.0.0.0") : 1883
Mai 06 07:45:43 nymea nymead[1172]: I | Mqtt: MQTT server running on QHostAddress("0.0.0.0") : 1884
Mai 06 07:46:08 nymea nymead[1172]: W | Bluetooth: No bluetooth adapter found. Resource not available.
Mai 06 07:46:33 nymea nymead[1172]: W | Bluez: Invalid DBus ObjectManager interface.
Mai 06 07:46:33 nymea nymead[1172]: W | Nuki: Bluetooth not available
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Wemo" ( "2e3b5ce0-ecf1-43de-98f0-07df4068a583" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "OpenUv" ( "9b7d9cc8-77df-4197-a6fc-8a365747a3b1" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "TexasInstruments" ( "ae550a91-e734-4331-9d71-9f37df0b0fa6" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Netatmo" ( "69d14951-0c02-4877-bcef-dffdf48b7ccb" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Bose" ( "472a3f24-b05c-49b3-ad9a-dfda608b6760" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "NetworkDetector" ( "8e0f791e-b273-4267-8605-b7c2f55a68ab" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "UsbRelay" ( "ed0035d3-561c-498e-bdb2-2b574cbd0a2f" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "EQ3" ( "f324c43c-9680-48d8-852a-93b2227139b9" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "DateTime" ( "c26014c6-87fb-4233-85ed-01d18625018d" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "OpenWeatherMap" ( "bc6af567-2338-41d5-aac1-462dec6e4783" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "WakeOnLan" ( "b5a87848-de56-451e-84a6-edd26ad4958f" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Denon" ( "cd758269-dbbb-4ef0-80ab-48bd9a8a2765" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Nanoleaf" ( "360867ec-1594-498d-8182-fbab1fe17489" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "AirQualityIndex" ( "57d69b76-4d2d-41ec-bef6-949a79ffbe6b" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "MailNotification" ( "1ae35df1-1b51-4c93-94fa-3febc77e0318" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Tado" ( "b4f2d2ee-50bb-4786-b7f5-261fed204fa5" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "unifi" ( "88bc00c7-9ea8-4aa6-8aec-831639e8fccc" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "shelly" ( "6162773b-0435-408c-a4f8-7860d38031a9" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "tasmota" ( "d136e0c0-0cbf-4731-aabb-b2201088d6cb" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Senic" ( "413e9d77-335f-4ecf-abbc-8f2a8a399c39" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Elgato" ( "c5c03ad4-bfdb-444a-8eca-2c234c46cc27" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Kodi" ( "e7186890-99fa-4c5b-8247-09c6d450d490" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "PhilipsHue" ( "5f2e634b-b7f3-48ee-976a-b5ae22aa5c55" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "LgSmartTv" ( "4ef7a68b-9da0-4c62-b9ac-f478dc6f9f52" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "anelElektronik" ( "7a3e5b64-20e4-42bd-b86b-989b84afc22a" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "KebaKeContact" ( "9142b09f-30a9-43d0-9ede-2f8debe075ac" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "awattar" ( "9c261c33-d44e-461e-8ec1-68803cb73f12" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Pushbullet" ( "46986575-0e62-483d-b5a8-76ac356fcce7" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "Sonos" ( "cdb07719-c445-4fa5-9c7a-564ee02a4412" )
Mai 06 07:46:33 nymea nymead[1172]: W | Translations: * Could not load translation "de_AT" for plugin "daylightSensor" ( "4b7d63a7-fc39-4a50-a459-457fa7653089" )
Mai 06 07:46:39 nymea nymead[1172]: I | Shelly: Found shelly thing! ZeroConfServiceEntry("shelly1-76FB03")
Mai 06 07:46:39 nymea nymead[1172]: location: "10.66.66.12":80
Mai 06 07:46:39 nymea nymead[1172]: hostname: "shelly1-76FB03.local"
Mai 06 07:46:39 nymea nymead[1172]: domain: "local"
Mai 06 07:46:39 nymea nymead[1172]: service type: "_http._tcp"
Mai 06 07:46:39 nymea nymead[1172]: protocol: QAbstractSocket::NetworkLayerProtocol(IPv4Protocol)
Mai 06 07:46:39 nymea nymead[1172]: txt: ("id=shelly1-76FB03", "fw_id=20200320-123430/v1.6.2@514044b4", "arch=esp8266")
Mai 06 07:46:43 nymea nymead[1172]: W | Mqtt: Unable to find a matching MQTT server port for client address "10.66.66.12"
Mai 06 07:46:43 nymea nymead[1172]: W | Shelly: Failed to create MQTT channel.
Mai 06 07:46:43 nymea nymead[1172]: W | ThingManager: Thing setup failed. Not adding thing to system.
locales stimmen eigentlich auch: (habe verschiedene durchprobiert: C, de_AT.UTF-8, de_DE)
root@nymea:~# locale
LANG=de_AT
LANGUAGE=
LC_CTYPE="de_AT"
LC_NUMERIC="de_AT"
LC_TIME="de_AT"
LC_COLLATE="de_AT"
LC_MONETARY="de_AT"
LC_MESSAGES="de_AT"
LC_PAPER="de_AT"
LC_NAME="de_AT"
LC_ADDRESS="de_AT"
LC_TELEPHONE="de_AT"
LC_MEASUREMENT="de_AT"
LC_IDENTIFICATION="de_AT"
LC_ALL=
The text was updated successfully, but these errors were encountered: