mqtt2.template: bugs, Fragen, Anregungen

Begonnen von Beta-User, 15 Dezember 2018, 11:44:43

Vorheriges Thema - Nächstes Thema

KölnSolar

ZitatLerne (leider oder zum Glück...) fast jeden Tag noch was dazu  .
Wem sagst Du das.  ;D
Das war es dann aber doch nicht bzw. nicht allein.  ::) Frag besser nicht. "Plötzlich"  ??? waren die warnings wieder da.

Das "Problem" ist, dass Du die Funktionsparameter erweitert hast. zigbee2mqtt_devStateIcon255($;$$)Wenn nun die Attribute nicht angepasst werden, ist natürlich ab dem 2. Parameter jeder Parameter undefined und damit fällt my $rgb = ReadingsVal($name, $rgbReadingName, "FFFFFF");
auf die Nase.

OT: von Perl-Newbie zu Perl-Newbie: Was macht das Semikolon bei den Funktionsparametern ? :-[
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

rudolfkoenig

Erster Parameter pflicht, zwei Weitere optional.

DasQ

find ich ja super intressant, wird hier aber niemals einer wieder finden ... schade
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Beta-User

So, seit eben sind die "$name"-Angaben im svn ohne Hochkommata.

Soweit ich das überflogen habe, ist immer da, wo es relevant ist auch das Attribut "setExtensionsEvent" für die lange Form des devStateIcons gesetzt, für die templates sollte das also passen. Die Hinweise im anderen Thread sind jetzt entsprechend aufgebohrt.

[zu OT]
Nennt sich prototypes und steht als Stichwort seit neuestem auch im Wiki bei "99_myUtils..." (@DasQ: wenn du also weißt, nach was du suchst, wirst du es ggf. auch - als Stichowrt - wiederfinden). Das Wiki (oder auch das Forum) ist aber nicht dazu da, Perl-Grundlagen zu vermitteln. Mehr als das Stichworte geliefert werden können, unter denen man dann in der "richtigen" Doku (perldoc u.a.) nachsehen kann, sollte man auch langfristig nicht erwarten.
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

@Beta-User thx für den hinweis! wenn´s im wiki ist, wirds auch irgendwie wiedergefunden, hier im forum hatte/habe ich so meine bedenken. Aber egal, ich werd immer mal wieder so "fussnoten" verfassen wenn ich denk, das könnten andere auch interssieren. im dümsten fall kommt ein neues system dabei raus das diese daten/informationen "automatisch" als intressant kennzeichnet. bin immer noch der meinung, das man die "gefällt mir" "informativ" und "zustimmen" funktion weiter verwerten sollte.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Tobias

GIbt es schon ein Template für ein Xiaomi FlowerSens?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Beta-User

Zitat von: Tobias am 15 Juli 2019, 09:01:49
GIbt es schon ein Template für ein Xiaomi FlowerSens?
Scheinbar nicht...
Kannst gerne ein list einstellen. Beschränkt sich das - im Prinzip - auf ein passendes stateFormat oder ist da mehr zu beachten?
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

Tobias

Das sind BLE Devices. Man benötigt also eine Generic_Bridge (zb. auf dem Raspi Zero W) sowie MQTT2_Devices (FHEM Server)
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Beta-User

Hmm, das klingt "speziell" und ist vermutlich auch kein Thema, das sich leicht durch attrTemplate@mqtt2 lösen ließe...

Habe ich das richtig verstanden: Es gibt ein "Neben-FHEM", in dem die BLE-Devices "leben". Diese (bzw. deren Readings) werden per MQTT_GENERIC_BRIDGE an das "Haupt-FHEM" weitergegeben, auf dem ein MQTT2_SERVER läuft und sollen dann dort wieder nicht in einem Großdevice (TYPE=MQTT2_DEVICE) "enden", sondern wieder "vereinzelt" werden?

Dann würde ich folgendes Konzept vorschlagen: Du erstellst (auf dem Haupt-FHEM) eine "eigene" "Bridge", also ein MQTT2_DEVICE mit einer bridgeRegexp, das die eingehenden Messages (von der MQTT_GENERIC_BRIDGE her kommend) wieder "sortiert" und daraus einzelne MQTT2_DEVICEs generiert, die den Geräten auf dem Neben-FHEM entsprechen.
Dazu solltest du ggf. mal mitteilen, wie sich der topic-tree zusammensetzt, dann können wir versuchen, das zusammen rauszufieseln. Ist aber ein Thema, das wir gesondert behandeln sollten (ist evtl. auch eine Sache, die man gut ins Wiki (zu den Praxisbeispielen oder gesondert zu MQTT_GENERIC_BRIDGE) bringen könnte...
Wenn du ein Beispiel suchst, wie so eine "eigene Bridge" aussehen könnte: Schau dir mal die bridgeRegexp von L_01_zigbee2mqtt_bridge an. Im Prinzip sollte es genügen, die CID aus dem abzuleiten, was als $device auf Seiten der MQTT_GENERIC_BRIDGE verwendet wird...
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

Tobias

alles klar, danke... ich fiesel mich mal durch ;)
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

mahowi

Für die zigbee2mqtt Bridge hat sich ein Fehler in der setList zum Setzen der "device_options" eingeschlichen, da ist ein Anführungszeichen zuviel.

Index: mqtt2.template
===================================================================
--- mqtt2.template      (Revision 20203)
+++ mqtt2.template      (Arbeitskopie)
@@ -73,7 +73,7 @@
   y_device_setting:textField BASE_TOPIC/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}\
   x_bind:textField BASE_TOPIC/bridge/bind/$EVTPART1 $EVTPART2\
   x_bind_unbind:textField BASE_TOPIC/bridge/unbind/$EVTPART1 $EVTPART2\
-  x_device_options:textField BASE_TOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1",""options": {"$EVTPART2": "$EVTPART3"}}\
+  x_device_options:textField BASE_TOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1","options": {"$EVTPART2": "$EVTPART3"}}\
   x_group_add_to:textField BASE_TOPIC/bridge/group/$EVTPART1/add $EVTPART2\
   x_group_rm_from:textField BASE_TOPIC/bridge/group/$EVTPART1/remove $EVTPART2\
   x_group_rm_from_all:textField BASE_TOPIC/bridge/group/$EVTPART1/remove_all $EVTPART2\
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Beta-User

Thx, u.a. habe ich eben auch diesen bugfix eingecheckt. Sorry for inconvenience...
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

mahowi

#102
Wenn ich nach dem heutigen Update die Templates neu anwende, bekomme ich die Fehlermeldung:
Unknown command zigbee2mqtt/([A-Za-z0-9._]*)[/]?.*:.*, try help.
Unknown command zigbee2mqtt/bridge/config/devices
, try help.
Unknown command zigbee2mqtt/bridge/networkmap, try help.
Unknown command zigbee2mqtt/bridge/networkmap, try help.
Unknown command zigbee2mqtt/bridge/state:.*, try help.
Unknown command zigbee2mqtt/bridge/config/devices:.*, try help.
Unknown command zigbee2mqtt/bridge/config/log_level:.*, try help.
Unknown command zigbee2mqtt/bridge/config/permit_join:.*, try help.
Unknown command zigbee2mqtt/bridge/config/rename:.*, try help.
Unknown command zigbee2mqtt/bridge/log:.*\"type\".\"devices\".\"message\".*, try help.
Unknown command zigbee2mqtt/bridge/log:.*, try help.
Unknown command zigbee2mqtt/bridge/networkmap:.*, try help.
Unknown command zigbee2mqtt/bridge/networkmap/graphviz:.*, try help.
Unknown command zigbee2mqtt/bridge/networkmap/raw:.*, try help.
Unknown command zigbee2mqtt/bridge/config:.*, try help.
Unknown command zigbee2mqtt/bridge/config/log_level, try help.
Unknown command zigbee2mqtt/bridge/config/permit_join, try help.
Unknown command zigbee2mqtt/bridge/config/remove, try help.
Unknown command zigbee2mqtt/$EVTPART1/set, try help.
Unknown command zigbee2mqtt/bridge/bind/$EVTPART1, try help.
Unknown command zigbee2mqtt/bridge/unbind/$EVTPART1, try help.
Unknown command zigbee2mqtt/bridge/config/device_options, try help.
Unknown command zigbee2mqtt/bridge/group/$EVTPART1/add, try help.
Unknown command zigbee2mqtt/bridge/group/$EVTPART1/remove, try help.
Unknown command zigbee2mqtt/bridge/group/$EVTPART1/remove_all, try help.
Unknown command zigbee2mqtt/bridge/config/add_group, try help.
Unknown command zigbee2mqtt/bridge/config/remove_group, try help.
Unknown command zigbee2mqtt/bridge/config/elapsed, try help.
Unknown command zigbee2mqtt/bridge/config/last_seen, try help.
Unknown command zigbee2mqtt/bridge/config/ban, try help.
Unknown command zigbee2mqtt/bridge/config/rename, try help.
Unknown command zigbee2mqtt/bridge/config/reset, try help.


Edit:
zigbee2mqtt_TempHum_Sensor funktioniert,  beim zigbee2mqtt_TempMotion_sensor bekomme ich:
Unknown command zigbee2mqtt:.*, try help.

Beim Bewegungsmelder kommt die Fehlermeldung allerdings nicht mehr, wenn ich das Template mehrfach anwende. Beim dritten Versuch klappt es.  ???
Bei der Bridge hilft auch mehrfaches Anwenden nichts.

Edit2:
Wenn ich die Bridge lösche und neu anlege, funktioniert alles. Scheinbar gibt es nur Probleme beim Ändern des Templates.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Beta-User

Danke für's melden. Wundert mich etwas, dass da bisher noch keiner drübergestolpert ist, die regexe sind an der Stelle schon "ewig" so :o .

Habe jetzt (hoffentlich) alle zigbee2mqtt-templates so umgestellt, dass die funktionieren, egal, ob man die CID noch in der readingList drin hat oder nicht. Ist seit eben im svn (=> kommt mit update morgen), wäre nett, wenn ihr meldet, wenn es doch nicht funktioniert.
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

Tobias

#104
Hi,
da das das Bugs Forum ist:

nach erfolgreicher Umstellung vom Device "mqtt" auf das "MQTT2_CLIENT" Modul ging nach ca. 3 Wochen nichts mehr. Das Modul hat "connected" angezeigt aber es lief keine Kommunikation mehr mit dem mosquitto Server. Auch ein fhem-Neustart brachte nichts.
Ich musste wieder zurück auf das alte, normale "mqtt" Modul gehen.

Auch in den Logs war nichts zu sehen. Seit dem (2 Monate her) läufts wieder
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter