Hallo,
ich wollte gerade einige meiner Shelly-Aktoren auch via MQTT anbinden.
Setup: Separater Mosquitto-Server auf 127.0.0.1 (historisch bedingt).
Liste vom MQTT2_CLIENT
Internals:
BUF
DEF 192.168.0.48:1883
DeviceName 192.168.0.48:1883
FD 34
FUUID 5c6c3b42-f33f-9b5f-c4bf-8bf0e5fb3afd079e
NAME shelly.mqtt
NR 448
PARTIAL
STATE opened
TYPE MQTT2_CLIENT
WBCallback
clientId shellymqtt
lastMsgTime 1550597354.66089
nextOpenDelay 5
READINGS:
2019-02-19 18:22:37 state opened
Attributes:
autocreate 1
subscriptions shellies/#
Das erste angelegte Device habe ich gemäß Wiki (https://wiki.fhem.de/wiki/MQTT2_CLIENT) mit dem Bridge-Template versorgt. Hier das List:
Internals:
CID shellymqtt
DEF shellymqtt
DEVICETOPIC MQTT2_shellymqtt
FUUID 5c6c3b64-f33f-9b5f-01bf-9957e6070779d9f8
IODev shelly.mqtt
LASTInputDev shelly.mqtt
MSGCNT 12
NAME MQTT2_shellymqtt
NR 455
STATE ???
TYPE MQTT2_DEVICE
shelly.mqtt_MSGCNT 12
shelly.mqtt_TIME 2019-02-19 18:23:40
OLDREADINGS:
READINGS:
Attributes:
IODev shelly.mqtt
autocreate 1
bridgeRegexp [^:]+:([^/]+)/([^/]+)[/]?.*:.* "$1_$2"
model A_00_MQTT2_CLIENT_general_bridge
room MQTT2_DEVICE
setStateList on off
Normalerweise sollten jetzt die Shelly-Devices per Autocreate angelegt werden. Im Logfile sammel ich jedoch folgende Einträge / Fehler:
2019.02.19 18:31:37 2: autocreate: define MQTT2_shellies_shellyswitch-1351A4 MQTT2_DEVICE shellies_shellyswitch-1351A4
2019.02.19 18:31:37 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-1351A4
2019.02.19 18:31:37 2: autocreate: define MQTT2_shellies_shellyswitch-1351A4 MQTT2_DEVICE shellies_shellyswitch-1351A4
2019.02.19 18:31:37 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-1351A4
2019.02.19 18:31:38 2: autocreate: define MQTT2_shellies_shellyswitch-1351A4 MQTT2_DEVICE shellies_shellyswitch-1351A4
2019.02.19 18:31:38 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-1351A4
2019.02.19 18:31:38 2: autocreate: define MQTT2_shellies_shellyswitch-1351A4 MQTT2_DEVICE shellies_shellyswitch-1351A4
2019.02.19 18:31:38 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-1351A4
2019.02.19 18:31:40 2: autocreate: define MQTT2_shellies_shelly1-2BE0B6 MQTT2_DEVICE shellies_shelly1-2BE0B6
2019.02.19 18:31:40 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shelly1-2BE0B6
Wenn ich beim debuggen helfen kann: Jederzeit gerne. Solange lege ich die Devices per Hand an - ist jetzt kein Beinbruch.
Gruß,
Tom
Hmm,
Danke für's melden. Im Moment habe ich noch keine Idee, eigentlich müßte man mit der bridgeRegexp die ganzen Sonderzeichen (hier das "-") eliminieren bzw. durch einen Unterstrich ersetzen.
Ist allerdings mindestens im Moment oberhalb meiner Regex-Fähigkeiten, mit Perl schrittweise vorzugehen wäre irgendwie deutlich einfacher....
Hast du oder sonst wer eine Idee?
(bzw. @Rudi: Könnte/sollte man das innerhalb autocreate abfangen?)
Gruß, Beta-User
Ist dein FHEM aktuell? Tipp: FHEM ist nicht aktuell, wenn du heute kein update ausgefuehrt hast.
Seit 2018-12-09 wird der vom 10_MQTT2_DEVICE vorgeschlagene Devicename mit makeDeviceName korrigiert, und diese Funktion laesst kein - zu:fhem> { makeDeviceName("MQTT2_shellies_shellyswitch-1351A4") }
MQTT2_shellies_shellyswitch_1351A4
Zitat von: rudolfkoenig am 19 Februar 2019, 19:43:46
Ist dein FHEM aktuell? Tipp: FHEM ist nicht aktuell, wenn du heute kein update ausgefuehrt hast.
Seit 2018-12-09 wird der vom 10_MQTT2_DEVICE vorgeschlagene Devicename mit makeDeviceName korrigiert, und diese Funktion laesst kein - zu:fhem> { makeDeviceName("MQTT2_shellies_shellyswitch-1351A4") }
MQTT2_shellies_shellyswitch_1351A4
Leider ja - mein FHEM ist aktuell (war 3-4 Tage alt). Auch nach heutigem Update hatte ich das gleiche Verhalten.
fhem@unifi:~$ ls -l /opt/fhem/FHEM/10_MQTT2_DEVICE.pm
-rw-r--r-- 1 fhem fhem 27823 Feb 19 18:18 /opt/fhem/FHEM/10_MQTT2_DEVICE.pm
Dann brauche ich ein "attr shelly.mqtt verbose 5" log eines Problemfalls hier angehaengt, um es weiter untersuchen zu koennen.
Zitat von: rudolfkoenig am 19 Februar 2019, 20:18:21
Dann brauche ich ein "attr shelly.mqtt verbose 5" log eines Problemfalls hier angehaengt, um es weiter untersuchen zu koennen.
Sorry, hat noch was gedauert.
Hier ein längerer auszug aus dem Log:
2019.02.19 22:16:11 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-32BBDE/roller/0\000stop
2019.02.19 22:16:11 2: autocreate: define MQTT2_shellies_shellyswitch-32BBDE MQTT2_DEVICE shellies_shellyswitch-32BBDE
2019.02.19 22:16:11 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-32BBDE
2019.02.19 22:16:11 5: shelly.mqtt: received PUBLISH (0))shellies/shellyswitch-32BBDE/roller/0/pos0
2019.02.19 22:16:11 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-32BBDE/roller/0/pos\0000
2019.02.19 22:16:11 2: autocreate: define MQTT2_shellies_shellyswitch-32BBDE MQTT2_DEVICE shellies_shellyswitch-32BBDE
2019.02.19 22:16:11 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-32BBDE
2019.02.19 22:16:11 5: shelly.mqtt: received PUBLISH (0)(shellies/shellyswitch-32BBDE/relay/power0.00
2019.02.19 22:16:11 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-32BBDE/relay/power\0000.00
2019.02.19 22:16:11 2: autocreate: define MQTT2_shellies_shellyswitch-32BBDE MQTT2_DEVICE shellies_shellyswitch-32BBDE
2019.02.19 22:16:11 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-32BBDE
2019.02.19 22:16:11 5: shelly.mqtt: received PUBLISH (0)$shellies/shellyswitch-32BBDE/input/00
2019.02.19 22:16:11 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-32BBDE/input/0\0000
2019.02.19 22:16:11 2: autocreate: define MQTT2_shellies_shellyswitch-32BBDE MQTT2_DEVICE shellies_shellyswitch-32BBDE
2019.02.19 22:16:11 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-32BBDE
2019.02.19 22:16:11 5: shelly.mqtt: received PUBLISH (0)$shellies/shellyswitch-32BBDE/input/10
2019.02.19 22:16:11 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-32BBDE/input/1\0000
2019.02.19 22:16:11 2: autocreate: define MQTT2_shellies_shellyswitch-32BBDE MQTT2_DEVICE shellies_shellyswitch-32BBDE
2019.02.19 22:16:11 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-32BBDE
2019.02.19 22:16:12 5: shelly.mqtt: received PUBLISH (0)(31)shellies/shelly1-2BE0B6/relay/0on
2019.02.19 22:16:12 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shelly1-2BE0B6/relay/0\000on
2019.02.19 22:16:12 5: shelly.mqtt: received PUBLISH (0)(31)shellies/shelly1-2BE0B6/input/00
2019.02.19 22:16:12 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shelly1-2BE0B6/input/0\0000
2019.02.19 22:16:21 5: shelly.mqtt: keepalive 30
2019.02.19 22:16:21 5: shelly.mqtt: sending PINGREQ (192)(0)
2019.02.19 22:16:21 5: shelly.mqtt: received PINGRESP
2019.02.19 22:16:24 5: shelly.mqtt: received PUBLISH (0)*shellies/shellyrgbw2-5A3C0B/white/0/status{"ison":false,"mode":"white","brightness":7,"power":0.00,"overpower":false}
2019.02.19 22:16:24 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyrgbw2-5A3C0B/white/0/status\000{"ison":false,"mode":"white","brightness":7,"power":0.00,"overpower":false}
2019.02.19 22:16:24 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A3C0B MQTT2_DEVICE shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:24 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:24 5: shelly.mqtt: received PUBLISH (0)*shellies/shellyrgbw2-5A3C0B/white/1/status{"ison":false,"mode":"white","brightness":43,"power":0.00,"overpower":false}
2019.02.19 22:16:24 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyrgbw2-5A3C0B/white/1/status\000{"ison":false,"mode":"white","brightness":43,"power":0.00,"overpower":false}
2019.02.19 22:16:24 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A3C0B MQTT2_DEVICE shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:24 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:24 5: shelly.mqtt: received PUBLISH (0)*shellies/shellyrgbw2-5A3C0B/white/2/status{"ison":false,"mode":"white","brightness":49,"power":0.00,"overpower":false}
2019.02.19 22:16:24 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyrgbw2-5A3C0B/white/2/status\000{"ison":false,"mode":"white","brightness":49,"power":0.00,"overpower":false}
2019.02.19 22:16:24 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A3C0B MQTT2_DEVICE shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:24 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:24 5: shelly.mqtt: received PUBLISH (0)*shellies/shellyrgbw2-5A3C0B/white/3/status{"ison":false,"mode":"white","brightness":86,"power":0.00,"overpower":false}
2019.02.19 22:16:24 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyrgbw2-5A3C0B/white/3/status\000{"ison":false,"mode":"white","brightness":86,"power":0.00,"overpower":false}
2019.02.19 22:16:29 5: shelly.mqtt: received PUBLISH (0)*shellies/shellyrgbw2-5A37A6/white/0/status{"ison":false,"mode":"white","brightness":255,"power":0.00,"overpower":false}
2019.02.19 22:16:29 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyrgbw2-5A37A6/white/0/status\000{"ison":false,"mode":"white","brightness":255,"power":0.00,"overpower":false}
2019.02.19 22:16:29 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A37A6 MQTT2_DEVICE shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:29 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:29 5: shelly.mqtt: received PUBLISH (0)*shellies/shellyrgbw2-5A37A6/white/1/status{"ison":false,"mode":"white","brightness":255,"power":0.00,"overpower":false}
2019.02.19 22:16:29 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyrgbw2-5A37A6/white/1/status\000{"ison":false,"mode":"white","brightness":255,"power":0.00,"overpower":false}
2019.02.19 22:16:29 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A37A6 MQTT2_DEVICE shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:29 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:29 5: shelly.mqtt: received PUBLISH (0)*shellies/shellyrgbw2-5A37A6/white/2/status{"ison":false,"mode":"white","brightness":255,"power":0.00,"overpower":false}
2019.02.19 22:16:29 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyrgbw2-5A37A6/white/2/status\000{"ison":false,"mode":"white","brightness":255,"power":0.00,"overpower":false}
2019.02.19 22:16:29 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A37A6 MQTT2_DEVICE shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:29 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:29 5: shelly.mqtt: received PUBLISH (0)*shellies/shellyrgbw2-5A37A6/white/3/status{"ison":true,"mode":"white","brightness":100,"power":19.36,"overpower":false}
2019.02.19 22:16:29 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyrgbw2-5A37A6/white/3/status\000{"ison":true,"mode":"white","brightness":100,"power":19.36,"overpower":false}
2019.02.19 22:16:35 5: shelly.mqtt: received PUBLISH (0)$shellies/shellyswitch-1351A4/relay/0off
2019.02.19 22:16:35 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-1351A4/relay/0\000off
2019.02.19 22:16:35 5: shelly.mqtt: received PUBLISH (0)$shellies/shellyswitch-1351A4/relay/1on
2019.02.19 22:16:35 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-1351A4/relay/1\000on
2019.02.19 22:16:35 5: shelly.mqtt: received PUBLISH (0)(shellies/shellyswitch-1351A4/relay/power1.06
2019.02.19 22:16:35 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-1351A4/relay/power\0001.06
2019.02.19 22:16:35 2: autocreate: define MQTT2_shellies_shellyswitch-1351A4 MQTT2_DEVICE shellies_shellyswitch-1351A4
2019.02.19 22:16:35 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-1351A4
2019.02.19 22:16:35 5: shelly.mqtt: received PUBLISH (0)$shellies/shellyswitch-1351A4/input/01
2019.02.19 22:16:35 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-1351A4/input/0\0001
2019.02.19 22:16:35 5: shelly.mqtt: received PUBLISH (0)$shellies/shellyswitch-1351A4/input/10
2019.02.19 22:16:35 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-1351A4/input/1\0000
2019.02.19 22:16:41 5: shelly.mqtt: received PUBLISH (0)%shellies/shellyswitch-32BBDE/roller/0stop
2019.02.19 22:16:41 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-32BBDE/roller/0\000stop
2019.02.19 22:16:41 2: autocreate: define MQTT2_shellies_shellyswitch-32BBDE MQTT2_DEVICE shellies_shellyswitch-32BBDE
2019.02.19 22:16:41 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-32BBDE
2019.02.19 22:16:41 5: shelly.mqtt: received PUBLISH (0))shellies/shellyswitch-32BBDE/roller/0/pos0
2019.02.19 22:16:41 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-32BBDE/roller/0/pos\0000
2019.02.19 22:16:41 2: autocreate: define MQTT2_shellies_shellyswitch-32BBDE MQTT2_DEVICE shellies_shellyswitch-32BBDE
2019.02.19 22:16:41 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-32BBDE
2019.02.19 22:16:41 5: shelly.mqtt: received PUBLISH (0)(shellies/shellyswitch-32BBDE/relay/power0.00
2019.02.19 22:16:41 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-32BBDE/relay/power\0000.00
2019.02.19 22:16:41 2: autocreate: define MQTT2_shellies_shellyswitch-32BBDE MQTT2_DEVICE shellies_shellyswitch-32BBDE
2019.02.19 22:16:41 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-32BBDE
2019.02.19 22:16:41 5: shelly.mqtt: received PUBLISH (0)$shellies/shellyswitch-32BBDE/input/00
2019.02.19 22:16:41 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-32BBDE/input/0\0000
2019.02.19 22:16:41 2: autocreate: define MQTT2_shellies_shellyswitch-32BBDE MQTT2_DEVICE shellies_shellyswitch-32BBDE
2019.02.19 22:16:41 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-32BBDE
2019.02.19 22:16:41 5: shelly.mqtt: received PUBLISH (0)$shellies/shellyswitch-32BBDE/input/10
2019.02.19 22:16:41 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shellyswitch-32BBDE/input/1\0000
2019.02.19 22:16:41 2: autocreate: define MQTT2_shellies_shellyswitch-32BBDE MQTT2_DEVICE shellies_shellyswitch-32BBDE
2019.02.19 22:16:41 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-32BBDE
2019.02.19 22:16:42 5: shelly.mqtt: received PUBLISH (0)(31)shellies/shelly1-2BE0B6/relay/0on
2019.02.19 22:16:42 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shelly1-2BE0B6/relay/0\000on
2019.02.19 22:16:42 5: shelly.mqtt: received PUBLISH (0)(31)shellies/shelly1-2BE0B6/input/00
2019.02.19 22:16:42 5: shelly.mqtt: dispatch autocreate\000shellymqtt\000shellies/shelly1-2BE0B6/input/0\0000
2019.02.19 22:16:54 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A3C0B MQTT2_DEVICE shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:54 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:54 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A3C0B MQTT2_DEVICE shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:54 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:54 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A3C0B MQTT2_DEVICE shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:54 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A3C0B
2019.02.19 22:16:59 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A37A6 MQTT2_DEVICE shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:59 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:59 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A37A6 MQTT2_DEVICE shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:59 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:59 2: autocreate: define MQTT2_shellies_shellyrgbw2-5A37A6 MQTT2_DEVICE shellies_shellyrgbw2-5A37A6
2019.02.19 22:16:59 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyrgbw2-5A37A6
2019.02.19 22:17:05 2: autocreate: define MQTT2_shellies_shellyswitch-1351A4 MQTT2_DEVICE shellies_shellyswitch-1351A4
2019.02.19 22:17:05 1: ERROR: Invalid characters in name (not A-Za-z0-9._): MQTT2_shellies_shellyswitch-1351A4
Danke.
War wohl blind gestern, statt Zuweisung (=) stand ein match-op (=~) da.Habs gefixt und eingecheckt.
Zitat von: rudolfkoenig am 20 Februar 2019, 09:51:22
Danke.
War wohl blind gestern, statt Zuweisung (=) stand ein match-op (=~) da.Habs gefixt und eingecheckt.
Dann warte ich noch brav, bis es morgen früh da ist und suche mir noch was zum testen.
Danke!
Ist doch etwas später geworden, funktioniert aber einwandfrei!
Danke.