httpmod.template: bugs, Fragen, Anregungen

Begonnen von Beta-User, 21 Februar 2019, 12:04:17

Vorheriges Thema - Nächstes Thema

Tueftler1983

Klappt bei mir jetzt auch ohne probleme. Wie sieht deine def der Bridge aus? @DeeSPe??

DeeSPe

Zitat von: Tueftler1983 am 26 Januar 2026, 23:15:33Klappt bei mir jetzt auch ohne probleme. Wie sieht deine def der Bridge aus? @DeeSPe??

Die sieht so aus:
defmod MQTT2_zigbee_bridge MQTT2_DEVICE zigbee_bridge
attr MQTT2_zigbee_bridge DbLogExclude .+
attr MQTT2_zigbee_bridge autocreate 0
attr MQTT2_zigbee_bridge bridgeRegexp zigbee2mqtt/((?!bridge)[A-Za-z0-9._]+)/?.*:.* "zigbee_$1"
attr MQTT2_zigbee_bridge 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_bridge devicetopic zigbee2mqtt
attr MQTT2_zigbee_bridge event-on-change-reading .*
attr MQTT2_zigbee_bridge getList networkmap_raw:noArg raw $DEVICETOPIC/bridge/request/networkmap raw\
networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/request/networkmap graphviz
attr MQTT2_zigbee_bridge group Bridges
attr MQTT2_zigbee_bridge icon mqtt_bridge_1
attr MQTT2_zigbee_bridge model zigbee2mqtt_bridge
attr MQTT2_zigbee_bridge readingList $DEVICETOPIC/bridge/state:.* { json2nameValue($EVENT) }\
$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/config:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/bridge/log:.* log\
$DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }\
$DEVICETOPIC/bridge/response/networkmap:.* { my $type = $EVENT =~ /.*,"type":"(raw|graphviz)",.*/ ? $1 : 'networkmap';; $EVENT =~ /{"data":\{.*"value":"?(.*[^"])"?\},"status":"ok"\}/ ? { $type=>$1 } : {} }\
$DEVICETOPIC/bridge/event:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/bridge/extensions:.* extensions\
$DEVICETOPIC/bridge/response/permit_join:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/bridge/info/version:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_bridge room Module->MQTT2_DEVICE,Technik
attr MQTT2_zigbee_bridge setList log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1\
permit_join:true,false $DEVICETOPIC/bridge/request/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_bridge verbose 2
Wurde auch mal aus einem Template erstellt.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Tueftler1983

#257
Ist bei dir das reading "version" garnicht vorhanden?
Bekommst du denn aktualisierte readings wenn du zigbee2mqtt neu startest?

Edith:
Was mir bei dir Grade auffällt das gar kein attr IOdev angegeben ist.
Bin aber auch nur noch auf dem Handy unterwegs, bin zu faul in die Küche ans laptop zu gehen.

Lg

Tueftler1983

Das ist meine derzeitige def die so funktioniert:
defmod MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi
attr MQTT2_zigbee_pi IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_pi autocreate 1
attr MQTT2_zigbee_pi bridgeRegexp zigbee2mqtt/((?!bridge)[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 networkmap_raw:noArg raw $DEVICETOPIC/bridge/request/networkmap raw\
  networkmap_graphviz:noArg graphviz $DEVICETOPIC/bridge/request/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/config:.* { json2nameValue($EVENT) }\
  $DEVICETOPIC/bridge/log:.*\"type\".\"devices\".\"message\".* devices\
  $DEVICETOPIC/bridge/log:.* log\
  $DEVICETOPIC/bridge/logging:.* { json2nameValue($EVENT,'log_') }\
  $DEVICETOPIC/bridge/response/networkmap:.* { my $type = $EVENT =~ m/.*,"type":"(raw|graphviz)",.*/ ? $1 : 'networkmap';; $EVENT =~ m/{"data":\{.*"value":"?(.*[^"])"?\},"status":"ok"\}/ ? { $type=>$1 } : {} }\
  $DEVICETOPIC/bridge/devices:.* devices\
  $DEVICETOPIC/bridge/info:.* info\
  $DEVICETOPIC/bridge/groups:.* groups\
  $DEVICETOPIC/bridge/event:.* { json2nameValue($EVENT) }\
  $DEVICETOPIC/bridge/extensions:.* extensions\
  $DEVICETOPIC/bridge/info:.* { json2nameValue($EVENT) }\
zigbee_pi:zigbee2mqtt/bridge/response/device/ota_update/check:.* { json2nameValue($EVENT) }\
zigbee_pi:zigbee2mqtt/bridge/response/device/generate_external_definition:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_pi room MQTT2_DEVICE,System,ZigBee
attr MQTT2_zigbee_pi setList log_level:debug,info,warn,error $DEVICETOPIC/bridge/config/log_level $EVTPART1\
  permit_join:true,false $DEVICETOPIC/bridge/request/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

DeeSPe

#259
Zitat von: Tueftler1983 am 27 Januar 2026, 00:01:16Ist bei dir das reading "version" garnicht vorhanden?
Bekommst du denn aktualisierte readings wenn du zigbee2mqtt neu startest?

Genau, Reading "version" gibt es überhaupt nicht. Auch keine anderen Readings aus dem "info" Topic.
Auch ein Neustart bringt es nicht.
Wie gesagt, im MQTT Explorer sehe ich dass das "info" Topic verstümmelt ist, deswegen werden wohl die Readings nicht erstellt.
Hab gestern Abend mal einen neuen zigbee2mqtt Container augesetzt, bei dem ist genau das Selbe!

Kann es evtl. am Broker liegen? Einen anderen Broker habe ich bisher nämlich noch nicht getestet. Ich benutze aktuell MQTT2_SERVER.

Welchen Broker benutzt ihr und wie ist zigbee2mqtt installiert? Als LXC-Container (hab ich) oder Docker oder einfach von Github ausgescheckt?

Danke für Eure Hilfe!

Gruß
Dan

P.S. Topic "info" sollte doch den Inhalt haben wie in zigbee2mqtt->Einstellungen->Bridge, oder?
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

So, anderen Broker (mosquitto) probiert. Selbes Bild. Das "info" Topic bleibt verstümmelt!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Tueftler1983

hey,
Also bei mir ist alles so auf dem Raspberry installiert ohne Container oder so und ich nutze dem MQTT2 Server. habe irgendwann umgestellt von Mosquitto zu Mqtt2

DeeSPe

Danke für die Info Tueftler1983.

Ein klein Wenig weiter bin ich. Habe jetzt herausgefunden dass die verstümmelten "info" Topics nur max. 20000 Zeichen enthalten.
Das komplette Topic wie in zigbee2mqtt->Einstellungen->Bridge ist bei mir aber über 58000 Zeichen lang.
Das sieht mir nach einem Problem bei zigbee2mqtt aus, nur komisch dass es bei dir mit v2.7.2 klappt.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe