[gelöst] MQTT2 - Neues Device wird nicht angelegt ! "bareword....."

Begonnen von sash.sc, 03 Juni 2019, 11:15:11

Vorheriges Thema - Nächstes Thema

Beta-User

@DasQ:
Danke vorab mal für die Bestätigung, dass das grundsätzlich klappt und auch nicht an dem initialen Schrägstrich liegt.

@sash.sc:
Da das mit den Doppelpunkten ggf. ein generelles Problem iVm. autocreate darstellen _könnte_, wäre es noch gut, wenn du uns Versionsinfos zu MQTT2_DEVICE und MQTT2_SERVER zukommen lassen könntest und wenigstens auszugsweise den MQTT-Verkehr von diesem ESP her. Wäre hilfreich, wenn Rudi hier mitliest und das nachstellen will ;) . Dann hat ggf. der nächste nicht dasselbe Problem...

(@DasQ: Das ist ausdrücklich keine Kritik an dem Vorschlag, das Problem auf andere Weise zu beseitigen, ich habe nur den Wunsch, die "MQTT2_Welt" möglichst so mitzugestalten, dass man als User möglichst mit den Default-Einstellungen werkeln kann, wenn dies nicht grade ausdrücklich durch den firmwareersteller empfohlen wird ("tasmota" als Gerätename-default).)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

sash.sc

Schonmal vorab. Habe erst heute ein Update von fhem gemacht.
Ich schaue mal, was das log bzw Event Monitor dann hergibt.
Oder gibt es noch eine andere Möglichkeit den mqtt Verkehr mitzuschneiden?

Danke für eure Hilfe.

Gruß Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

sash.sc

Zitat von: DasQ am 03 Juni 2019, 17:02:11
so jetzt hab ichs geschnallt.

vergib dem ding mal nenn ordentlichen namen
Werde ich nachher mal machen und dann schauen.




Gesendet von meinem E6653 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Beta-User

Zitat von: Beta-User am 03 Juni 2019, 16:18:28
Bitte ggf. mal den MQTT-Verkehr mithören (z.B. mit rawEvents am MQTT2_SERVER).
Ist m.E. besser als das log.

Und das mit dem update hatte ich schon verstanden, bitte trotzdem die version-Ausgabe (ist nur zur Sicherheit, manchmal geht auch irgendwas mit dem update schief, ist versehentlich noch exclude from update gesetzt usw...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

sash.sc

Hier schonmal die version infos.


10_MQTT2_DEVICE.pm         19481 2019-05-29 07:44:56Z rudolfkoenig
00_MQTT2_SERVER.pm         18794 2019-03-05 10:56:08Z rudolfkoenig


Habe bei espeasy unter den Tools das gefunden. (show JSON output)


{"System":{
"Build":20103,
"Git Build":"mega-20190511",
"System Libraries":"ESP82xx Core 2_4_2, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3 PUYA support",
"Plugins":49,
"Plugin description":" [Normal] [IR]",
"Local Time":"1970-00-00 00:00:00",
"Unit Number":1,
"Unit Name":"multisens",
"Uptime":39,
"Last Boot Cause":"Manual reboot",
"Reset Reason":"Hardware Watchdog",
"Load":21.80,
"Load LC":3148,
"CPU Eco Mode":"false",
"Free RAM":13920
},
"WiFi":{
"Hostname":"multisens-1",
"IP Config":"Static",
"IP Address":"192.168.2.145",
"IP Subnet":"255.255.255.0",
"Gateway":"192.168.2.1",
"STA MAC":"5C:CF:7F:40:EB:A4",
"DNS 1":"8.8.8.8",
"DNS 1":"8.8.8.8",
"SSID":"WLAN-DFB306",
"BSSID":"44:4E:6D:68:29:3E",
"Channel":13,
"Connected msec":2308996,
"Last Disconnect Reason":1,
"Last Disconnect Reason str":"(1) Unspecified",
"Number Reconnects":0,
"Force WiFi B/G":"false",
"Restart WiFi Lost Conn":"false",
"Force WiFi No Sleep":"false",
"Periodical send Gratuitous ARP":"false",
"Connection Failure Threshold":0,
"RSSI":-70
},
"Sensors":[
{
"TaskValues": [
{"ValueNumber":1,
"Name":"Temperature",
"NrDecimals":1,
"Value":24.5
},
{"ValueNumber":2,
"Name":"Humidity",
"NrDecimals":1,
"Value":53.3
},
{"ValueNumber":3,
"Name":"Pressure",
"NrDecimals":1,
"Value":1015.1
}],
"DataAcquisition": [
{"Controller":1,
"IDX":0,
"Enabled":"true"
},
{"Controller":2,
"IDX":0,
"Enabled":"false"
},
{"Controller":3,
"IDX":0,
"Enabled":"false"
}],
"TaskInterval":60,
"Type":"Environment - BMx280",
"TaskName":"BME",
"TaskEnabled":"true",
"TaskNumber":1
},
{
"TaskValues": [
{"ValueNumber":1,
"Name":"Lux",
"NrDecimals":0,
"Value":1111
}],
"DataAcquisition": [
{"Controller":1,
"IDX":0,
"Enabled":"true"
},
{"Controller":2,
"IDX":0,
"Enabled":"true"
},
{"Controller":3,
"IDX":0,
"Enabled":"false"
}],
"TaskInterval":30,
"Type":"Light/Lux - BH1750",
"TaskName":"Licht",
"TaskEnabled":"true",
"TaskNumber":2
},
{
"TaskValues": [
{"ValueNumber":1,
"Name":"RSSI",
"NrDecimals":0,
"Value":-68
},
{"ValueNumber":2,
"Name":"uptime",
"NrDecimals":2,
"Value":-1.00
},
{"ValueNumber":3,
"Name":"uptime",
"NrDecimals":2,
"Value":192.00
},
{"ValueNumber":4,
"Name":"uptime",
"NrDecimals":2,
"Value":0.00
}],
"DataAcquisition": [
{"Controller":1,
"IDX":0,
"Enabled":"true"
},
{"Controller":2,
"IDX":0,
"Enabled":"false"
},
{"Controller":3,
"IDX":0,
"Enabled":"false"
}],
"TaskInterval":60,
"Type":"Generic - System Info",
"TaskName":"RSSI",
"TaskEnabled":"true",
"TaskNumber":3
},
{
"TaskValues": [
{"ValueNumber":1,
"Name":"Temperature",
"NrDecimals":2,
"Value":25.00
}],
"DataAcquisition": [
{"Controller":1,
"IDX":0,
"Enabled":"true"
},
{"Controller":2,
"IDX":0,
"Enabled":"false"
},
{"Controller":3,
"IDX":0,
"Enabled":"false"
}],
"TaskInterval":60,
"Type":"Environment - DS18b20",
"TaskName":"Temp.Gehaeuse",
"TaskEnabled":"true",
"TaskNumber":4
},
{
"TaskValues": [
{"ValueNumber":1,
"Name":"Temperature",
"NrDecimals":2,
"Value":20.19
}],
"DataAcquisition": [
{"Controller":1,
"IDX":0,
"Enabled":"true"
},
{"Controller":2,
"IDX":0,
"Enabled":"false"
},
{"Controller":3,
"IDX":0,
"Enabled":"false"
}],
"TaskInterval":60,
"Type":"Environment - DS18b20",
"TaskName":"Temp.Ext.",
"TaskEnabled":"true",
"TaskNumber":5
}
],
"TTL":30000
}
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

DasQ

Zitat von: Beta-User am 03 Juni 2019, 17:44:54

(@DasQ: Das ist ausdrücklich keine Kritik an dem Vorschlag, das Problem auf andere Weise zu beseitigen, ich habe nur den Wunsch, die "MQTT2_Welt" möglichst so mitzugestalten, dass man als User möglichst mit den Default-Einstellungen werkeln kann, wenn dies nicht grade ausdrücklich durch den firmwareersteller empfohlen wird ("tasmota" als Gerätename-default).)
default beim esp-easy ist uncool ... der ist nämlich immer gleich ESPClient_ wenn mich nicht alles täuscht (gefolgt von der MAC adresse). der wird nicht dynamisch aus irgendwelchen ic serials gebaut. das ding ist aber weit komplexer. denn der kann auch die namen dynamisch im lan verwalten, durch fortlaufende nummer. da übernimmt dann ein "master" die vergabe der fortlaufenden nummern. (zweks mesh)
ich meinte mit "gib dem ding nenn richtigen namen", das vermutlich das häckchen  im 2. screenshot(voriges posting) vergessen wurde.

und ähh jetzt bitte nicht schlagen  ;D ;) ich hab dir hier mal noch ein screener von einer anderen espeasy-version, da kannst dann den namen variabel nach jedem reconnect haben.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

sash.sc

Zitat von: Beta-User am 03 Juni 2019, 16:18:28
Hmm, irgendwas scheint ja reinzukommen?!?

Bitte ggf. mal den MQTT-Verkehr mithören (z.B. mit rawEvents am MQTT2_SERVER).

@DasQ: Demnach nutzt du das Duo ESPEasy/MQTT2_SERVER erfolgreich und es gibt v.a. keine Probleme wegen der vielen Doppelpunkte in der CID? Oder ist das der 2-er CLIENT+ext. Broker?
Wie bekomme ich das mit dem raw Event hin? Habe da nichts aussagekräftiges gefunden.

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

rudolfkoenig

ZitatWäre hilfreich, wenn Rudi hier mitliest und das nachstellen will
Wenn ich was fixen soll, dann bitte auch eine Schritt-fuer-Schritt Anleitung. Ich habe gerade getestet:
fhem> define ac autocreate
fhem> define m2s MQTT2_SERVER 1883 global
fhem> info timer
% mosquitto_pub -i ESPClient_5C:CF:7F:40:EB:A4 -t /multisens/Licht/Lux -m 20915.83
fhem>
2019-06-03 21:40:33 MQTT2_SERVER m2s nrclients: 1
2019-06-03 21:40:33 Global global UNDEFINED MQTT2_ESPClient_5C_CF_7F_40_EB_A4 MQTT2_DEVICE ESPClient_5C_CF_7F_40_EB_A4
2019-06-03 21:40:33 Global global DEFINED MQTT2_ESPClient_5C_CF_7F_40_EB_A4
2019-06-03 21:40:33 MQTT2_SERVER m2s nrclients: 0
2019-06-03 21:40:33 Global global ATTR MQTT2_ESPClient_5C_CF_7F_40_EB_A4 readingList ESPClient_5C_CF_7F_40_EB_A4:/multisens/Licht/Lux:.* Lux
2019-06-03 21:40:33 MQTT2_DEVICE MQTT2_ESPClient_5C_CF_7F_40_EB_A4 Lux: 20915.83


=> Ich sehe kein Problem mit / im Topicnamen, oder : im MQTT-ClientId.

rudolfkoenig

Zitat2019.06.03 11:09:10 1 : MQTT2_DEVICE: Error evaluating state: Bareword "state" not allowed while "strict subs" in use at (eval 2754) line 1.
Diese Meldung kommt vom bridgeRegexp. Laut Doku:
ZitatbridgeRegexp <regexp> newClientId ...
      Used to automatically redirect some types of topics to different
      MQTT2_DEVICE instances. The regexp is checked against the
      clientid:topic:message and topic:message. The newClientId is a perl
      expression!.
Laut Fehlermeldung war newClientId in diesem Fall state, was kein (gueltiger) Perl-Ausdruck ist.

sash.sc

Ich verstehe das jetzt so, dass an den topics was geändert werden muss?!

Gesendet von meinem E6653 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Beta-User

Nope, du sollst uns weiterhin wissen lassen, ob irgendwo ein bridgeRegexp-Attribut gesetzt ist.

Zu rawEvents steht btw. was in der cref. Bitte ggf. dazu konkrete Fragen stellen, aber was sich hinter dem Stichwort "regexp" verbirgt, sollte eigentlich klar sein. "Notfalls" wäre mal ausprobieren zu empfehlen, da lernt man uU. manches dabei...



@DasQ: bisher war ich davon ausgegangen, dass eine MAC-Adresse in der Regel aus dem betr. Chip ausgelesen wird, was man zwar überschreiben kann, aber eben default-mäßig eindeutig ist...
Und dass man alle möglichen Einstelloptionen hat, ist schon klar; wie gesagt: es geht darum, dass der default sinnvoll verarbeitet werden kann; und der ist hier eben nicht "random".
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

DasQ

Über default oder default könnte man jetzt herrlich streiten.
Ich bin der Meinung, das wenn ein Hersteller sich des recht rausnimmt, sein mqtt, bewusst oder ungewollt an der breiten Masse vorbei zu interpretiert/vermurksen, dann muss man sich nur im aller äußersten Fall auf sein Spiel einlassen, denn dann wenn mans nicht ändern kann.

Da jetzt aber espeasy, tasmota und octoprint, frei Opensoucre Projekte sind, dort auch nur Leute entwickeln wie du und ich. Die im besten Fall, gemeinsamen Erfahrungen untereinander ausgetauscht und Sachen dann in eine Richtung weiter entwickelt, wo sie ,,einfacher" werden ... nicht komplizierter als es eigentlich sein müsste. Erst dann ziehen wir gemeinsam an einem Strang und es geht was vorwärts. warum hat sich OpenHab das recht raus genommen, sein eigenes mqtt "standard" süppchen zu kochen?(<--nicht antworten das is ein joke)

Im Fall von meim 3D-Drucken und der opensouce Steuerungssoftware Octoprint, habe ich die Entwickler gebeten, sie mögen sich der Sache annehmen. Dabei rausgekommen ist das es jetzt auch ein ,,default" Name gibt, den man aber, auch jetzt, ändern kann. ... da war in mein augen die Lösung von hier, absolut ein Unding und hätte das tollste Feature von mqtt2 zu nichte gemacht.

Hier in dem Fal jetztl, erstmal mit einer funktionierenden Konfiguration, sich langsam an das Problem hinarbeiten und es dann lösen. Zunächstmal sollte man als erstes Konfigurationsfehler ausschliessen, danach erst kann man aussagen treffen, ob die Firmware nenn Schuss hat (hier jetzt, sehr wahrscheinlich) und erst danach mach ich mir Gedanken .... ob zwei eigenständige Entwicklungen sich auseinander bewegen.

Wenn willst, stell ich genau diese Situation hier, für uns zu testzwecken explizit nach. Is kein ding, ich als halbtoter Veteran, hab Zeit und den Nerv, sowas auf den Grund zu gehn. Ich flash ganz einfach seine espversion auf ein meiner vielen Spiel-Esp  ;)
Und dann zeig ich dir mindesten 2 default mqtt Einstellungen, mit den FHEM nicht auf anhieb klar kommt (jetzt nicht abwertend, Is einfach inkompatibel)(so sagt man doch). Mit all sein schwer bis unmöglich händelbaren Nebeneffekten.
Und dann können wir uns nochmals drüber unterhalten, ob und warum man sowas unbedingt per default so machen sollt.

Bei allen andern, käuflich erwerbbaren Produkten geb ich dir aber absolut recht. Da kann man nur schwer was ändern, also muss man sich den default-Schuh anziehen.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

sash.sc



Internals: CID zigbee_pi
DEF zigbee_pi
DEVICETOPIC MQTT2_zigbee_pi
FUUID 5c43027c-f33f-852e-9426-91a86e4f32b75515 FVERSION 10_MQTT2_DEVICE.pm:0.194810/2019-05-29
IODev mqtt
NAME MQTT2_zigbee_pi
NR 406
STATE ???
TYPE MQTT2_DEVICE

Attributes:

IODev mqtt
bridgeRegexp .* state
room MQTT
setStateList on off


Gesendet von meinem E6653 mit Tapatalk
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Beta-User

@sash.sc:

Danke für die Rückmeldung. Ist mir zwar schleierhaft, wie Rudi da draufgekommen ist, aber vielleicht kannst du uns erklären, wo die bridgeRegexp herkommt?

Um es zu reparieren: Bitte schau mal in die Praxisbeispiele zu MQTT2 im Wiki und wende dann das passende und aktuelle template an.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

sash.sc

Werde die bridge erstmal löschen...

Gebe dann wieder Rückmeldung

Gesendet von meinem E6653 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb