Autor Thema: Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE  (Gelesen 30798 mal)

Online OdfFhem

  • Full Member
  • ***
  • Beiträge: 409
Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
« Antwort #420 am: 06 November 2019, 18:04:41 »
@rudolfkoenig
Ein Satz an Inputdaten zum Testen ...


MQTT-Antwort für zigbee2mqtt/bridge/config/devices
{"type":"devices",
 "message":[{"ieeeAddr":"0x00124b0018321aed","type":"Coordinator"},
 {"ieeeAddr":"0x7cb03eaa00845fad","type":"Router","model":"AB3257001NJ","friendly_name":"smartPlug1","nwkAddr":4571,"manufId":48042,"manufName":"OSRAM","powerSource":"Mains (single phase)","modelId":"Plug 01","hwVersion":1,"swBuildId":"V1.04.12","dateCode":"20140331DEOS****"},
 {"ieeeAddr":"0xccccccfffea32ef2","type":"EndDevice","model":"E1743","friendly_name":"onoffSwitch1","nwkAddr":44063,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI on/off switch","hwVersion":1,"swBuildId":"2.2.008","dateCode":"20190410"},
 {"ieeeAddr":"0x0017880104ef74e4","type":"EndDevice","model":"324131092621","friendly_name":"dimmerSwitch5","nwkAddr":62963,"manufId":4107,"manufName":"Philips","powerSource":"Battery","modelId":"RWL021","hwVersion":1,"swBuildId":"5.45.1.17846","dateCode":"20160302"},
 {"ieeeAddr":"0x00158d000319b828","type":"Router","model":"SP 120","friendly_name":"innrPlug2","nwkAddr":35300,"manufId":4454,"manufName":"innr","powerSource":"Mains (single phase)","modelId":"SP 120","hwVersion":1,"swBuildId":"2.0","dateCode":"20171027-100"},
 {"ieeeAddr":"0x00158d00033e6826","type":"Router","model":"SP 120","friendly_name":"innrPlug1","nwkAddr":18066,"manufId":4454,"manufName":"innr","powerSource":"Mains (single phase)","modelId":"SP 120","hwVersion":1,"swBuildId":"2.0","dateCode":"20171027-100"},
 {"ieeeAddr":"0x000d6ffffe7ff880","type":"EndDevice","model":"E1524/E1810","friendly_name":"remoteSwitch1","nwkAddr":11909,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI remote control","hwVersion":1,"swBuildId":"1.2.214","dateCode":"20170302"},
 {"ieeeAddr":"0xccccccfffedb242f","type":"EndDevice","model":"E1743","friendly_name":"onoffSwitch2","nwkAddr":33661,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Battery","modelId":"TRADFRI on/off switch","hwVersion":1,"swBuildId":"2.2.008","dateCode":"20190410"}]}

MQTT-Antwort für zigbee2mqtt/bridge/networkmap graphviz
digraph G {
node[shape=record];
  "0x00124b0018321aed" [style="bold, filled", fillcolor="#e04e5d", fontcolor="#ffffff", label="{0x00124b0018321aed|0x0 |No model information available|online (2019-11-06T11:52:41+00:00)}"];
  "0x00124b0018321aed" -> "0x7cb03eaa00845fad" [penwidth=0.5, weight=0, color="#994444", label="24"]
  "0x00124b0018321aed" -> "0x00158d000319b828" [penwidth=0.5, weight=0, color="#994444", label="59"]
  "0x00124b0018321aed" -> "0x00158d00033e6826" [penwidth=0.5, weight=0, color="#994444", label="42"]
  "0x7cb03eaa00845fad" [style="rounded, filled", fillcolor="#4ea3e0", fontcolor="#ffffff", label="{smartPlug1|0x11db |OSRAM Smart+ plug (AB3257001NJ)|offline (00:16:20s ago)}"];
  "0x7cb03eaa00845fad" -> "0x00124b0018321aed" [penwidth=0.5, weight=0, color="#994444", label="1"]
  "0xccccccfffea32ef2" [style="rounded, dashed, filled", fillcolor="#fff8ce", fontcolor="#000000", label="{onoffSwitch1|0xac1f |IKEA TRADFRI ON/OFF switch (E1743)|offline (00:50:42s ago)}"];
  "0xccccccfffea32ef2" -> "0x7cb03eaa00845fad" [penwidth=1, weight=0, color="#994444", label="88"]
  "0x0017880104ef74e4" [style="rounded, dashed, filled", fillcolor="#fff8ce", fontcolor="#000000", label="{dimmerSwitch5|0xf5f3 |Philips Hue dimmer switch (324131092621)|online (00:00:33s ago)}"];
  "0x0017880104ef74e4" -> "0x7cb03eaa00845fad" [penwidth=1, weight=0, color="#994444", label="82"]
  "0x00158d000319b828" [style="rounded, filled", fillcolor="#4ea3e0", fontcolor="#ffffff", label="{innrPlug2|0x89e4 |Innr Smart plug (SP 120)|offline (00:00:40s ago)}"];
  "0x00158d000319b828" -> "0x00124b0018321aed" [penwidth=0.5, weight=0, color="#994444", label="60"]
  "0x00158d000319b828" -> "0x7cb03eaa00845fad" [penwidth=0.5, weight=0, color="#994444", label="48"]
  "0x00158d000319b828" -> "0x00158d00033e6826" [penwidth=0.5, weight=0, color="#994444", label="192"]
  "0x00158d00033e6826" [style="rounded, filled", fillcolor="#4ea3e0", fontcolor="#ffffff", label="{innrPlug1|0x4692 |Innr Smart plug (SP 120)|offline (00:00:00s ago)}"];
  "0x00158d00033e6826" -> "0x00158d000319b828" [penwidth=0.5, weight=0, color="#994444", label="189"]
  "0x00158d00033e6826" -> "0x7cb03eaa00845fad" [penwidth=0.5, weight=0, color="#994444", label="46"]
  "0x00158d00033e6826" -> "0x00124b0018321aed" [penwidth=0.5, weight=0, color="#994444", label="43"]
  "0x000d6ffffe7ff880" [style="rounded, dashed, filled", fillcolor="#fff8ce", fontcolor="#000000", label="{remoteSwitch1|0x2e85 |IKEA TRADFRI remote control (E1524/E1810)|offline (03:48:18s ago)}"];
  "0x000d6ffffe7ff880" -> "0x7cb03eaa00845fad" [penwidth=1, weight=0, color="#994444", label="84"]
  "0xccccccfffedb242f" [style="rounded, dashed, filled", fillcolor="#fff8ce", fontcolor="#000000", label="{onoffSwitch2|0x837d |IKEA TRADFRI ON/OFF switch (E1743)|offline (15:44:11s ago)}"];
  "0xccccccfffedb242f" -> "0x7cb03eaa00845fad" [penwidth=1, weight=0, color="#994444", label="48"]
}

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 21257
Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
« Antwort #421 am: 06 November 2019, 19:26:58 »
Danke, habs eingecheckt.
Warum ein regexp ohne Klammer $1/$2 zuruecksetzt (aber nur, wenn es matcht), bleibt mir allerdings ein Raetsel.

Online OdfFhem

  • Full Member
  • ***
  • Beiträge: 409
Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
« Antwort #422 am: 07 November 2019, 11:19:52 »
@rudolfkoenig

Habe nach dem heutigen Update den neuen Stand getestet - funktioniert einwandfrei.

Vielen Dank für die prompte Reaktion.

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8530
  • eigentlich eher user wie "developer"
Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
« Antwort #423 am: 08 November 2019, 20:12:39 »
Zur Info:

Habe grade eben die contact- und water-leak templates angepaßt, dass die das jeweilige Hauptreading direkt in "state" schreiben (via $JSONMAP, siehe dazu rund um diesen Beitrag: https://forum.fhem.de/index.php/topic,99980.msg991166.html#msg991166).

Finde das an diesen Stellen sehr passend und neige dazu, das (mindestens) auch für den einfachen Taster (zigbee2mqtt_Light_Switch) entsprechend anzupassen.

Eine kurze Rückmeldung wäre daher hilfreich, wie die allgemeine Meinung dazu ist (kann im Ergebnis heißen, dass alles bleibt, wie es ist, es auch da und ggf. weiteren vorgeschlagenen geändert wird oder beide Fassungen angeboten werden...).
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Online OdfFhem

  • Full Member
  • ***
  • Beiträge: 409
Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
« Antwort #424 am: 11 November 2019, 10:47:39 »
@rudolfkoenig

--- 1 ---

Bei der Ausführung von z.B. set MQTT2_zigbee3_bridge device_options <param1> <param2> <param3> taucht folgender Logeintrag auf:
2019.11.11 08:20:29 3: Bad line >< for MQTT2_zigbee3_bridge
Nach der weiteren Analyse könnte dieser Logeintrag (vermutlich) bei jedem Versuch auftreten, bei dem ein neues Reading angelegt werden soll ...

zusätzliche Codezeilen in MQTT2_DEVICE_addReading liefern folgende Logeinträge (gekürzte Fassung; readingList ist umfangreicher):
2019.11.11 09:03:14 3: name: MQTT2_zigbee3_bridge
2019.11.11 09:03:14 3: param: zigbee3mqtt/bridge/state:.* state
  zigbee3mqtt/bridge/config/devices:.* {}

zigbee3mqtt/bridge/config/device_options:.* { json2nameValue($EVENT) }
2019.11.11 09:03:14 3: line: zigbee3mqtt/bridge/state:.* state
2019.11.11 09:03:14 3: re: zigbee3mqtt/bridge/state:.*
2019.11.11 09:03:14 3: code: state
2019.11.11 09:03:14 3: line:   zigbee3mqtt/bridge/config/devices:.* {}
2019.11.11 09:03:14 3: re: zigbee3mqtt/bridge/config/devices:.*
2019.11.11 09:03:14 3: code: {}
2019.11.11 09:03:14 3: line:
2019.11.11 09:03:14 1: PERL WARNING: Use of uninitialized value $re in concatenation (.) or string at ./FHEM/10_MQTT2_DEVICE.pm line 535.
2019.11.11 09:03:14 3: re:
2019.11.11 09:03:14 1: PERL WARNING: Use of uninitialized value $code in concatenation (.) or string at ./FHEM/10_MQTT2_DEVICE.pm line 536.
2019.11.11 09:03:14 3: code:
2019.11.11 09:03:14 3: Bad line >< for MQTT2_zigbee3_bridge
Die zwei PERL WARNINGs werden durch meine zusätzlichen Codezeilen verursacht und können eigentlich ignoriert werden. Sie zeigen nur, dass das Attribut readingList wohl eine Leerzeile enthält, die dann zu undefinierten Variablen führt; die Routine wird in diesem Fall fehlerhaft beendet und es werden keine neuen Readings angelegt.

Da die Leerzeile in readingList nicht bewusst erfasst wurde und man es wohl auch nicht verhindern könnte, ist nun die Frage
  • kann man die Leerzeile in readingList beim Speichern automatisch entsorgen (bei Neuerfassung vermutlich die beste Variante)
  • kann man die Leerzeile in readingList beim Analysieren kontrolliert überlesen (bei Altlasten vermutlich notwendig)
  • oder gibt es noch andere Möglichkeiten ...


--- 2 ---

Ein leicht nerviges Verhalten wird beim reload von 10_MQTT2_DEVICE.pm "wachgeküsst". Scheinbar wird ab diesem Zeitpunkt mit jeder eintreffenden MQTT-Nachricht ein Logeintrag nach folgendem Muster erzeugt. In diesem Fall hilft zunächst einmal nur ein FHEM-Neustart. Kann man die Ursache abstellen?
2019.11.11 08:38:30 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:31 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:35 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:43 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:44 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:46 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:52 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:54 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:55 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:58 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:38:59 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:00 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:06 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:07 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:09 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:11 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:12 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:14 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:20 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:21 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:22 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:24 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:25 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:27 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:28 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:35 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:36 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:37 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:45 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:50 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:51 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:54 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:39:55 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:02 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:03 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:05 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:09 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:10 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:16 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:19 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:20 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:27 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:27 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:46 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:47 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:50 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:40:51 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:01 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:02 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:05 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:06 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:11 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:13 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:23 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:24 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:28 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:29 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:30 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:34 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:37 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:38 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:42 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:43 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:51 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:56 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:57 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:59 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:41:59 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:01 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:01 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:02 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:11 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:12 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:13 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:15 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:16 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:19 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:22 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:23 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:23 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:27 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:28 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:33 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:36 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:37 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:39 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:40 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:41 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:42 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:43 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:44 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:51 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:55 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:58 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:58 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:59 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:42:59 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:04 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:05 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:06 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:07 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:08 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:09 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:09 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient
2019.11.11 08:43:11 2: autocreate: define FileLog_MQTT2_myMqttClient FileLog ./log/MQTT2_myMqttClient-%Y.log MQTT2_myMqttClient


--- 3 ---

Aktuell benutze ich mehrere ZigBee-Netze. Da für jedes der ZigBee-Netze eine eigene bridge existiert und auch als eigenes FHEM-Device erhalten bleiben muss, musste ich die einzelnen Netze unter Verwendung von unterschiedlichen base_topic eindeutig machen; für die eigentlichen ZigBee-Geräte wäre dies (aus meiner Sicht) nicht unbedingt notwendig gewesen. In FHEM werden die Topics der Netze durch die Verwendung eines vorgelagerten bridgeRegexp korrekt erkannt und abgelegt.  Bei der graphischen Darstellung funktioniert die aktuell verwendete Theorie für Name translation aber leider nicht mehr, so dass die zugehörigen Geräte nicht mehr gefunden/aufgelöst werden.

Meine genutzen ZigBee-Netze habe ich durchnummeriert und heißen: zigbee1mqtt, zigbee2mqtt, zigbee3mqtt; die jeweiligen FHEM-Devices heißen gemäß bridgeRegexp dann zigbee1_<name>, zigbee2_<name>, zigbee3_<name>.

Eine "minimale" Änderung im Code würde für die Normalfälle nichts ändern, aber auch den/meinen Mehrnetzfall abdecken. Ist die folgende Änderung integrierbar?
  # Name translation
  for my $n (devspec2array("TYPE=MQTT2_DEVICE")) {
    my $cid = $defs{$n}{CID};
    if($cid) {
-      $cid =~ s/zigbee_//;
+      $cid =~ s/zigbee[0-9]?_//;
      $n2n{$cid} = $n;
    }
-    if(AttrVal($n, "readingList","") =~ m,zigbee2mqtt/(.*):,) {
+    if(AttrVal($n, "readingList","") =~ m,zigbee[0-9]?mqtt/(.*):,) {
      $n2n{$1} = $n;
    }
  }

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 21257
Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
« Antwort #425 am: 11 November 2019, 13:58:54 »
ad 1)
Zitat
Da die Leerzeile in readingList nicht bewusst erfasst wurde und man es wohl auch nicht verhindern könnte, ist nun die Frage
Dass es nicht bewusst war, mag sein, aber mein Stand ist, dass es manuell gemacht wurde, und kann auch auf diesem Weg einfach entfernt werden.
Wenn die leere Zeile deiner Ansicht nach generiert wird, dann will ich es erst nachstellen koennen (vulgo: haette gerne Anleitung dafuer).

ad 2)
Zitat
Kann man die Ursache abstellen?
Weiss nicht, leider kann ich es auch nicht reproduzieren, habe dazu folgende Konfiguration verwendet:attr global logfile -
attr global modpath .
attr global statefile log/fhem.save.m2s
define ac autocreate
define w FHEMWEB 8083 global
define m2s MQTT2_SERVER 1883 global
=> Bitte beschreiben, wie ich es reproduzieren soll.

ad 3)
ich habe [0-9]? durch \d* ausgetauscht und eingecheckt, ich hoffe das ist auch ok.

Online OdfFhem

  • Full Member
  • ***
  • Beiträge: 409
Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
« Antwort #426 am: 11 November 2019, 15:26:11 »
@rudolfkoenig

zu 1)
Ich glaube nicht unbedingt, dass die Leerzeile automatisch generiert wurde. "Nicht bewusst" sollte eigentlich nur betonen, dass man einer evtl. vorhandenen/eingetippten Leerzeile keine negativen Seiteneffekte unterstellt. Von den Auswirkungen bekommt man ja auch erst einmal nichts mit; erst ein eher zufälliger Blick ins Logfile macht einen stutzig.

Komme aber auf jeden Fall auch mit dem aktuellen Ist-Zustand sehr gut zurecht; die Leerzeile im readingList-Attribut ist ja auch schnell entfernt - wenn man erst mal das Problem erkannt hat.

zu 2)
Bei jedem Reload von 10_MQTT2_DEVICE.pm tritt das besagte Phänomen auf - aktuell bei mir sicher reproduzierbar.

Ich verwende keinen MQTT2_SERVER, sondern den MQTT2_CLIENT; der lästige Logeintrag ist aber nicht direkt für den MQTT2_CLIENT, sondern für das bei der Definition von MQTT2_CLIENT (myMqttClient) automatisch angelegte Verwaltungs-MQTT2_DEVICE (MQTT2_myMqttClient).

Wie man die Ursache noch weiter eingrenzen kann, kann ich leider nicht sagen ...

zu 3)
Habe bei mir vorab jetzt auch [0-9]? durch \d* ausgetauscht und erwartungsgemäß scheint es einwandfrei zu laufen.
Auf jeden Fall schon mal schönen Dank fürs Einchecken.

Online ulli

  • Sr. Member
  • ****
  • Beiträge: 576
Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
« Antwort #427 am: 16 November 2019, 12:26:30 »
Hallo zusammen,
welches ist denn das richtige Template für die Ikea E1524 Fernbedinung?
FHEM auf Beaglebone Black mit Debian.
1x Jeenode (433MHz): IR send/receive; Baumarkt Funksteckdosen HX2262 send/receive; LEDs
1x Jeenode (868MHz): FS20 send/receive; 2x Heizungsthermostate ETH200 comfort; 2x LaCrosse Temperatursensoren (send)/receive; Piezo Summer für akustische Rückmeldung

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8530
  • eigentlich eher user wie "developer"
Antw:Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
« Antwort #428 am: 16 November 2019, 12:54:04 »
Fernbedienungen sind allg. noch ein Thema. Es gibt dazu schon erste Ansätze, siehe hier: https://forum.fhem.de/index.php/topic,103593.0.html.

Wäre nett, wenn das jemand finalisieren könnte, ein Hexenwerk dürfte das nicht sein...
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

 

decade-submarginal