ZigBee2MQTT Problem mit "Show neighbor map"

Begonnen von t1me2die, 26 März 2022, 12:34:27

Vorheriges Thema - Nächstes Thema

t1me2die

Moin zusammen,

ich wollte gestern mir meine neighbor map anzeigen lassen, aber irgendwas habe ich vermutlich falsch eingestellt.
Ich benutze einen Sonoff ZigBee 3.0 USB Dongle.

Zuerst habe ich:

set MQTT2_zigbee_fhem attrTemplate zigbee2mqtt_bridge


gemacht, wodurch das Device mit den Attributen versorgt wurde, anschließend habe ich

get MQTT2_zigbee_fhem networkmap_graphviz
get MQTT2_zigbee_fhem networkmap_raw

Beide Befehle haben sich via Timeout verabschiedet, die Readings wurden kurze Zeit danach aber dennoch aktualisiert, wie man im list auch sehen kann.

Im Anhang befindet sich der List von dem MQTT2_zigbee_fhem Device (wegen der Größe als Anhang)

Gruß
Mathze

rudolfkoenig

Kannst du bitte
- den Codestueck loeschen, da es unvollstaendig ist: die maximale Groesse eines Beitrag wurde ueberschritten, und der Beitrag deswegen gekuerzt.
- die Ausgabe von "Raw Definition" des betroffenen Geraetes komprimiert anhaengen (siehe Erweiterte Optionen bei Verfassen des Beitrags).

t1me2die

#2
Zitat von: rudolfkoenig am 26 März 2022, 12:42:32
Kannst du bitte
- den Codestueck loeschen, da es unvollstaendig ist: die maximale Groesse eines Beitrag wurde ueberschritten, und der Beitrag deswegen gekuerzt.
- die Ausgabe von "Raw Definition" des betroffenen Geraetes komprimiert anhaengen (siehe Erweiterte Optionen bei Verfassen des Beitrags).

Sorry, habe gar keine Warnung bekommen, dass mein Post zu lang war.

Hab ein List von meinem Device nun als .txt Datei angehangen und hier folgt die "Raw definition" von meinem Device:
Benötigt ihr noch weitere Info's?  :)

Gruß
Mathze

rudolfkoenig

Newline und Anfuehrungszeichen waren in den graphviz Daten zusaetzlich escaped (als \n und \"), keine Ahnung, wer das gemacht hat.
Ich habe das jetzt bei der Verarbeitung zurueckkonvertiert, ich erwarte keine Nebeneffekte beim "richtigen" Format.
Das Ergebnis ist im Anhang.
Interessante Topologie, der Auto-Layouter hat seine Schwierigkeiten damit.

t1me2die

Zitat von: rudolfkoenig am 27 März 2022, 12:09:45
Newline und Anfuehrungszeichen waren in den graphviz Daten zusaetzlich escaped (als \n und \"), keine Ahnung, wer das gemacht hat.
Ich habe das jetzt bei der Verarbeitung zurueckkonvertiert, ich erwarte keine Nebeneffekte beim "richtigen" Format.
Das Ergebnis ist im Anhang.
Interessante Topologie, der Auto-Layouter hat seine Schwierigkeiten damit.

Moin Rudolf, danke für deine Rückmeldung.
Was gilt es für mich zu tun?
Morgen ein Update einspielen?
Hast du Anpassungen vorgenommen?

Was ich meine verstanden zu haben, in dem Reading graphviz werden Sachen escaped, die für die neighbor map so nicht funktionieren?
Das graphviz Reading wird mir ja per "get" Befehl geliefert.

Sonnigen Sonntag  :)

Gruß
Mathze

OdfFhem

Zitat von: rudolfkoenig am 27 März 2022, 12:09:45
Newline und Anfuehrungszeichen waren in den graphviz Daten zusaetzlich escaped (als \n und \"), keine Ahnung, wer das gemacht hat.

Gegenüber früher werden die Antworten zu networkmap-Anfragen unter $DEVICETOPIC/bridge/response/networkmap zurückgeliefert - die relevante Information steht in  einem JSON-Key namens "value".

https://forum.fhem.de/index.php/topic,125644.msg1208906.html#msg1208906
--> Beim Ausschneiden aus der MQTT-Message bleiben die JSON-notwendigen Maskierungen bei graphviz erhalten
--> raw entspricht selbst einem JSON-Objekt

https://forum.fhem.de/index.php/topic,125644.msg1209175.html#msg1209175
--> Beim Arbeiten mit json2nameValue wird die bei graphviz vorhandene Maskierung ordnungsgemäß "entsorgt"
--> raw ist selbst ein JSON-Objekt und bleibt nicht erhalten

t1me2die

Top, danke!
Das funktioniert!

Layout ist nun wieder sichtbar, wobei ich sagen muss, dass ich das Zigbee2MQTT FrontEnd für mich entdeckt habe, wo die Visualisierung von den Geräten wirklich grandios funktioniert!

Was mir nun im Zuge dessen noch aufgefallen ist, dass ein

set Device permit_join true / false
Auch nicht mehr wie gewünscht funktioniert.

Das setList dazu schaut wie folgt aus:

  permit_join:true,false $DEVICETOPIC/bridge/config/permit_join $EVTPART1


Über das FrontEnd kann ich permit_join problemlos aktivieren / deaktivieren.

Ist vielleicht der setList nicht mehr passend?

Gruß
Mathze

OdfFhem

ZitatIst vielleicht der setList nicht mehr passend?

Laut aktueller Doku wird das folgende Topic erwartet:

  $DEVICETOPIC/bridge/request/permit_join

rudolfkoenig

ZitatLayout ist nun wieder sichtbar, wobei ich sagen muss, dass ich das Zigbee2MQTT FrontEnd für mich entdeckt habe, wo die Visualisierung von den Geräten wirklich grandios funktioniert!
Kannst Du ein Screenshot von der Visualisierung in diesem Frontend zeigen?

t1me2die

@OdfFhem: Perfekt, danke genau das habe ich gesucht!

@Rudolf, Screenshot ist im Anhang - Das ist ein Auto-Layout, ich brauchte bei dieser Visualisierung nichts mehr verschieben.

rudolfkoenig

Danke. Auto-Layout im FHEM-Modul ist geklaut, und nicht optimal fuer diesen Zweck, vmtl. muesste ich selbst was ueberlegen.
Interessanterweise fehlen in dieser Darstellung etliche Knoten und Verbindungen, die in den FHEM Daten vorhanden sind.

Tomk

Hallo zusammen, auch wenn es nicht 100% passt, aber ich verzweifle dran mir die Map bei Mosquitto ausgeben zu lassen... Gibt es dort auch die Möglichkeit oder nur bei MQTT2? Ich habe den Umstieg noch nicht geschafft :-(

rudolfkoenig

Dieses Feature ist Teil des MQTT2_DEVICE Moduls, und ist aktiv, falls die graphviz und devices (alternativ .graphviz und .devices) Readings gesetzt sind.
Ob diese Daten ueber MQTT2_SERVER oder (MQTT2_CLIENT und mosqiutto) geliefert werden, ist egal.

Tomk

Hallo zusammen,
bei mir funktioniert die Erstellung des graphviz readinging nach timeout zuverlässig.
Allerdings bekomme ich beim Versuch das Ergebnis in Webgraphiz zu visualisieren den Fehler

Error: :1: syntax error near line 1 context: digraph G >>> {\....
Woran kann das liegen? Leider alles in einer Zeile sodass ich den Fehler nicht eingrenzen kann. Sonderzeichen und Zeilenumbrüche sind "escaped".

Danke vorab

rudolfkoenig

Ich kann vmtl. mehr verrraten, wenn ich die kompletten Daten des Prolemgeraetes sehe.