zigbee2mqtt_bridge template Grafische netzwerkübersicht

Begonnen von matthias soll, 04 September 2020, 16:39:55

Vorheriges Thema - Nächstes Thema

matthias soll

Hallo zusammen, ich benutze das o.g. Template mit einem cc2530 stick als bridge.
Eigentlich wird alles nach der Einrichtung selbst erkann und nach benutzung des template sieht es im code so aus.

define MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi
setuuid MQTT2_zigbee_pi 5f51ef50-f33f-639d-3d6a-3e7bd85a57d78981
attr MQTT2_zigbee_pi IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_pi bridgeRegexp zigbee2mqtt/([A-Za-z0-9._]+)[/]?.*:.* "zigbee_$1"
attr MQTT2_zigbee_pi comment To check for new updates of the deamon software, you might want to use a separate HTTPMOD device. See HTTPMOD template zigbee2mqtt_daemon_updates for further details.
attr MQTT2_zigbee_pi devicetopic zigbee2mqtt
attr MQTT2_zigbee_pi getList devicelist:noArg log $DEVICETOPIC/bridge/config/devices\
  networkmap_raw:noArg raw $DEVICETOPIC/bridge/networkmap raw\
  networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/networkmap graphviz
attr MQTT2_zigbee_pi icon mqtt
attr MQTT2_zigbee_pi model zigbee2mqtt_bridge
attr MQTT2_zigbee_pi readingList $DEVICETOPIC/bridge/state:.* state\
  $DEVICETOPIC/bridge/config/devices:.* {}\
  $DEVICETOPIC/bridge/config/log_level:.* log_level\
  $DEVICETOPIC/bridge/config/permit_join:.* permit_join\
  $DEVICETOPIC/bridge/config/rename:.* { json2nameValue($EVENT, 'rename_') }\
  $DEVICETOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices\
  $DEVICETOPIC/bridge/log:.* log\
  $DEVICETOPIC/bridge/networkmap:.* {}\
  $DEVICETOPIC/bridge/networkmap/graphviz:.* graphviz\
  $DEVICETOPIC/bridge/networkmap/raw:.* raw\
  $DEVICETOPIC/bridge/config:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_pi room MQTT2_DEVICE
attr MQTT2_zigbee_pi setList log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1\
  permit_join:true,false $DEVICETOPIC/bridge/config/permit_join $EVTPART1\
  remove:textField $DEVICETOPIC/bridge/config/remove $EVTPART1\
  ota_update:textField $DEVICETOPIC/bridge/ota_update/update $EVTPART1\
  ota_update_check:textField $DEVICETOPIC/bridge/ota_update/check $EVTPART1\
  y_device_setting:textField $DEVICETOPIC/$EVTPART1/set {"$EVTPART2": "$EVTPART3"}\
  x_bind:textField $DEVICETOPIC/bridge/bind/$EVTPART1 $EVTPART2\
  x_bind_unbind:textField $DEVICETOPIC/bridge/unbind/$EVTPART1 $EVTPART2\
  x_device_options:textField $DEVICETOPIC/bridge/config/device_options {"friendly_name":"$EVTPART1","options": {"$EVTPART2": "$EVTPART3"}}\
  x_group_add_to:textField $DEVICETOPIC/bridge/group/$EVTPART1/add $EVTPART2\
  x_group_rm_from:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove $EVTPART2\
  x_group_rm_from_all:textField $DEVICETOPIC/bridge/group/$EVTPART1/remove_all $EVTPART2\
  x_group_add_group:textField $DEVICETOPIC/bridge/config/add_group $EVTPART1\
  x_group_rm_group:textField $DEVICETOPIC/bridge/config/remove_group $EVTPART1\
  z_elapsed:textField $DEVICETOPIC/bridge/config/elapsed $EVTPART1\
  z_last_seen:disable,ISO_8601,epoch,ISO_8601_local $DEVICETOPIC/bridge/config/last_seen $EVTPART1\
  z_ban:textField $DEVICETOPIC/bridge/config/ban $EVTPART1\
  z_rename:textField $DEVICETOPIC/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}\
  z_reset_CC:noArg $DEVICETOPIC/bridge/config/reset
attr MQTT2_zigbee_pi setStateList on off


Komischerweise nach dem $DEVICETOPIC/bridge/log:.*\  wird bei mir alles nurnoch in einer Farbe dargestellt und nichtmehr schön bunt und die grafische Netzwerk anzeige get MQTT2_zigbee_pi networkmap_graphviz liefert mir nur ein Timeout.
Ist in dem Template ein Fehler (was ich mir nicht vorstellen kann) oder was könnte bei mir falsch sein?
Gruß
Matthias

Beta-User

Bei der Farbe vermute ich codemirror-Magie, was den timeout angeht, meine ich mich zu erinnern, dass das "normal" ist.

MQTT2_DEVICE erwartet die Antwort innerhalb einer sehr kleinen Zeit, und in der Regel braucht der Dienst geringfügig länger, die Daten kommen dann aber. Bitte ggf. ein Browser-Refresh machen, wenn es das betreffende Reading vorher nicht gab, danach sieht man auch, dass es ggf. aktualisiert wurde.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

TomLee

Zitat... und die grafische Netzwerk anzeige get MQTT2_zigbee_pi networkmap_graphviz liefert mir nur ein Timeout

Zitat... wenn es das betreffende Reading vorher nicht gab, danach sieht man auch, dass es ggf. aktualisiert wurde.

Kann auch daneben liegen, mit grafische Netzwerk anzeige war evtl. einfach auch nur ein Tipp/Klick auf Show neighbor map gemeint ?


Beta-User

Zitat von: TomLee am 04 September 2020, 17:56:44
Kann auch daneben liegen, mit grafische Netzwerk anzeige war evtl. einfach auch nur ein Tipp/Klick auf Show neighbor map gemeint ?
Vermutlich hast du recht oder es ist die Kombi von beidem.

[OT]Das ist eigentlich auch sowas wie eine FAQ, von der ich annehme, dass sie derzeit noch nicht im Wiki steht...
"Jemand" sollte ggf. den zigbee2mqtt-Teil in den Praxisbeispielen mal kritisch durchsehen und ggf. den Hauptteil auslagern (ähnlich sonos2mqtt). Hast du das zufällig auf dem Zettel ;) ?[/OT]
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

matthias soll

das mit codemirror-Magie kann ich mir gut vorstellen einen fehler im code kann ich nicht feststellen trotzdem ist danach alles in grün dargestellt.

Ich habe jetzt ganz oft browser refresh und get MQTT2_zigbee_pi networkmap_graphviz gemacht und bekam einmal eine tabelle die ich bei http://www.webgraphviz.com/ eingeben konnte.
Meistens schreibt er Timeout reading answer for zigbee2mqtt/bridge/networkmap graphviz.
Das Verzeichnis gibt es auch nicht, wodurch soll das angelegt werden?

OdfFhem

@matthias soll

Der Timeout ist eigentlich ganz normal - insbesondere mit steigender Gerätezahl. Das Ergebnis wird aber unabhängig davon bei tatsächlichem Abschluss der Operation im entsprechenden Reading graphviz sichtbar. Dieser Wert ist die Eingabe für Dienste, die die Visualisierung ermöglichen.

Für die neighbor map hat graphviz keine Bedeutung; hier ist eher die devicelist interessant ...

matthias soll

Ah okay danke für die Info dann hat es bei mir einmal funktioniert das reading zu generieren.
Kann man das timeout nicht irgendwo hochsetzen?
Bin bei ca. 25 Geräten am cc2538 und das reading zu erstellen ist wirklich Glückssache.


OdfFhem

@matthias soll

Das Reading sollte eigentlich immer generiert/aktualisiert werden. Hierzu solltest Du ein wenig länger den Zeitstempel für das Reading im Auge behalten ... die eigentliche Aktualisierung kann schon 10 oder mehr Sekunden hinter der Timeout-Meldung liegen ...

matthias soll

AAAH alles klar hast recht das reading aktualisiert sich jetzt automatisch.