Autor Thema: Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE  (Gelesen 3786 mal)

Offline Master_Nick

  • Sr. Member
  • ****
  • Beiträge: 632
Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« am: 11 Oktober 2018, 17:23:24 »
Ich eröffne hier mal das Frage/Anwtwort/Hilfe Thread für das Modul MQTT_GENERIC_BRIDGE.
Damit der eigentliche Beitrag Vorstellungsbeitrag nicht durch Probleme oder co unübersichtlich wird.
RasPi 3 mit nanoCUL (a-culfw) | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem 0.3.0 | WOL | NFC | Harmony UltimateHub | Homestate | Roomba | 10" Touch mit Node-Red | SonOff S20 | Und ganz viel anderes tolles Gerödel.... ;-)

Offline Master_Nick

  • Sr. Member
  • ****
  • Beiträge: 632
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #1 am: 11 Oktober 2018, 17:24:00 »
Der folgende Device will auf einmal (es ging vor Tagen noch) nicht mehr auf Befehle von NodeRed auf dem /state/set topic hören:

Internals:
   CFGFN     
   NAME       Streifen
   NR         94
   STATE      on
   TYPE       dummy
   READINGS:
     2018-10-11 14:37:58   newstate        on
     2018-10-11 14:37:58   state           on
Attributes:
   alexaName  Streifen
   alexaRoom  Wohnzimmer
   genericDeviceType light
   group      Licht
   homebridgeMapping Brightness=state,cmd=
   icon       light_led_stripe_rgb
   mqttDefaults base={"homeland/haushalt/elektrik/wohnzimmer/$device"} pub:qos=2 sub:qos=2 retain=1
   mqttPublish state:topic={"$base/$name"} state:qos=2 state:retain=1
   mqttSubscribe state:stopic=homeland/haushalt/elektrik/wohnzimmer/Streifen/state/set state:qos=2
   room       Echo,Wohnzimmer
   setList    state:slider,0,1,100 on off
   userattr   mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttPublish:textField-long mqttSubscribe:textField-long
   webCmd     state

Jemand eine Idee?  :o
Ich habe noch genau son Teil und da geht alles - unterschied ist nur die homebridge Sache und es ist kein dummy..

*EDIT Aktuelle Erkenntnis: Genau der Bereich ist aktuell in Überarbeitung
« Letzte Änderung: 11 Oktober 2018, 17:26:50 von Master_Nick »
RasPi 3 mit nanoCUL (a-culfw) | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem 0.3.0 | WOL | NFC | Harmony UltimateHub | Homestate | Roomba | 10" Touch mit Node-Red | SonOff S20 | Und ganz viel anderes tolles Gerödel.... ;-)

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4313
    • tech_LogBuch
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #2 am: 11 Oktober 2018, 18:37:48 »
Probiere mal die angehängte Version und gebe dem betroffenen Device ein Attribute namens 'mqttForward' mit dem Wert 'all'.

In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Master_Nick

  • Sr. Member
  • ****
  • Beiträge: 632
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #3 am: 11 Oktober 2018, 19:03:00 »
Absolut zauberhaft!  8) ;D

Genau wie es vorher war :-) Nur halt nun schaltbar.
« Letzte Änderung: 11 Oktober 2018, 19:07:34 von Master_Nick »
RasPi 3 mit nanoCUL (a-culfw) | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem 0.3.0 | WOL | NFC | Harmony UltimateHub | Homestate | Roomba | 10" Touch mit Node-Red | SonOff S20 | Und ganz viel anderes tolles Gerödel.... ;-)

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4313
    • tech_LogBuch
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #4 am: 11 Oktober 2018, 22:53:07 »
Dann werde ich Commandref schreiben und einchecken :)
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z
Zustimmung Zustimmung x 2 Liste anzeigen

Offline Master_Nick

  • Sr. Member
  • ****
  • Beiträge: 632
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #5 am: 11 Oktober 2018, 23:49:23 »
 :) Danke sehr! :-D

Du schaffst es den WOA Faktor durch deine schnelle Handlung sehr hoch zu halten. :-D

Hätte ich nun erklären müssen, "Das geht nun gerade nicht...."  :o Ouha!     ;D
RasPi 3 mit nanoCUL (a-culfw) | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem 0.3.0 | WOL | NFC | Harmony UltimateHub | Homestate | Roomba | 10" Touch mit Node-Red | SonOff S20 | Und ganz viel anderes tolles Gerödel.... ;-)

Offline HomeAlone

  • Full Member
  • ***
  • Beiträge: 226
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #6 am: 12 Oktober 2018, 13:10:21 »
Hallo Hexenmeister,
erst einmal eine tolle Idee das Modul. Leider habe ich ein grundlegendes Verständnisproblem, weshalb ich mich mit der Fehlersuche gerade schwer tue. Um ein größeres Verständnis zu bekommen, wollte ich mich erst einmal an die Beispiele aus Deinem ersten Posting aus der Modulvorstellung -> https://forum.fhem.de/index.php/topic,90735.0.html halten.
Als Testgruppe (Raum) verwende ich meine HomeMatic Geräte, genauergesagt einen 6fach Taster. fhem stürzt aber beim Drücken auf eine Taste ab und muss mittels systemctl restart fhem wiederbelebt werden.

Ich habe die Bridge wie folgt konfiguriert:
Internals
  DEF mqtt room=CUL_HM
  IODev myBroker
  NAME mqttGeneric
  NR 198
  NTFY_ORDER 50-mqttGeneric
  STATE ???
  TYPE MQTT_GENERIC_BRIDGE
  devspec room=CUL_HM
  prefix mqtt

Readings
  device-count 1 2018-10-12 12:23:38
  incoming-count 0 2018-10-12 12:15:36
  outgoing-count 0 2018-10-12 12:15:36
  transmission-state IO device initialized 2018-10-12 12:15:43
  updated-reading-count 0 2018-10-12 12:15:36
  updated-set-count 0 2018-10-12 12:15:36

Attributes
  IODev myBroker deleteattr
  room MQTT deleteattr
  verbose 5 deleteattr

Mein Testobjekt ist wie gesagt ein HomeMatic 6fach Taster (HM-PB-6-WM55). Dieser, sowie die einzelnen Channels sind als Device in fhem angelegt.

Attrib-Sektion des 6fach-Schalters:
Attributes
  IODev hmusb deleteattr
  IOgrp vccu:hmusb deleteattr
  autoReadReg 4_reqStatus deleteattr
  expert 2_raw deleteattr
  firmware 1.2 deleteattr
  group Licht deleteattr
  model HM-PB-6-WM55 deleteattr
  mqttDefaults base={"/TEST/$device"} pub:qos=0 sub:qos=2 retain=0 deleteattr
  mqttPublish *:topic={"$base/$name"} *:qos=2 *:retain=0 deleteattr
  room CUL_HM,MQTT,Wohnzimmer deleteattr
  serialNr XXXXXXXXXX deleteattr
  subType remote deleteattr
  userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttPublish:textField-long   mqttSubscribe:textField-long deleteattr
  verbose 5 deleteattr
  webCmd getConfig:clear msgEvents deleteattr

Wenn ich in dieser Konstellation auf einen der 6 Taster drücke, stürzt fhem ab. Im Event Monitor erscheint gar nichts. Im Logfile steht folgendes:
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for FileLog_wz_Lichtschalter_6fach
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for FileLog_wz_Rolladenschalter_6fach
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for hmusb
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for vccu
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Lichtschalter_6fach
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Lichtschalter_6fach_Btn_01
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Lichtschalter_6fach_Btn_02
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Lichtschalter_6fach_Btn_03
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Lichtschalter_6fach_Btn_04
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Lichtschalter_6fach_Btn_05
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Lichtschalter_6fach_Btn_06
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Rolladenschalter_6fach
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Rolladenschalter_6fach_Btn_01
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Rolladenschalter_6fach_Btn_02
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Rolladenschalter_6fach_Btn_03
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Rolladenschalter_6fach_Btn_04
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Rolladenschalter_6fach_Btn_05
2018.10.12 12:56:24 5: MQTT_GENERIC_BRIDGE:DEBUG:> CreateDevicesTable for wz_Rolladenschalter_6fach_Btn_06
2018.10.12 12:56:24 3: Opening myBroker device reddocker:1883
2018.10.12 12:56:24 3: myBroker device opened
2018.10.12 12:56:25 0: Featurelevel: 5.8
2018.10.12 12:56:25 0: Server started with 72 defined entities (fhem.pl:17329/2018-09-12 perl:5.020002 os:linux user:fhem pid:5688)
2018.10.12 12:56:25 1: HMLAN_Parse: hmusb new condition ok
2018.10.12 12:59:21 5: CUL_HM wz_Lichtschalter_6fach prep ACK for 01
2018.10.12 12:59:21 5: CUL_HM wz_Lichtschalter_6fach protEvent:CMDs_done
2018.10.12 12:59:21 5: CUL_HM wz_Lichtschalter_6fach sent ACK:2
2018.10.12 12:59:21 5: MQTT_GENERIC_BRIDGE:DEBUG:> publish: /TEST/wz_Lichtschalter_6fach/battery => ok (qos: 2, retain: 0)
Undefined subroutine &MQTT::GENERIC_BRIDGE::send_publish called at ./FHEM/10_MQTT_GENERIC_BRIDGE.pm line 1949.

Ich habe MQTT.fx mitlaufen, der auf sämtliche Topcis lauscht: das  /TEST/wz_Lichtschalter_6fach/battery wird nicht versendet.

Jetzt bin ich mir nicht sicher, ob ich etwas falsch konfiguriert habe oder ob vielleicht noch ein Fehler im Modul ist?

Schon einmal vielen Dank im Voraus für deine Hilfe.

Viele Grüße
Sascha

Offline Master_Nick

  • Sr. Member
  • ****
  • Beiträge: 632
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #7 am: 12 Oktober 2018, 13:18:53 »
 :) Ich versuch einfach Mal zu helfen :-)

Kannst du bitte einem die List von deinem 6fach-Schalters noch anfügen nicht das man da was übersieht  ;)


Ich hatte nun erst gedacht ggf. ein Loop der es bei Aktivierung dahin schmelzen lässt bis es tot ist..
RasPi 3 mit nanoCUL (a-culfw) | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem 0.3.0 | WOL | NFC | Harmony UltimateHub | Homestate | Roomba | 10" Touch mit Node-Red | SonOff S20 | Und ganz viel anderes tolles Gerödel.... ;-)

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4313
    • tech_LogBuch
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #8 am: 12 Oktober 2018, 13:31:02 »
Ich vermute was anderes.
Die Entscheidende Meldung lautet "Undefined subroutine &MQTT::GENERIC_BRIDGE::send_publish..."
Bedeutet, dass MQTT-Modul nicht geladen ist. Kannst Du mal ein Listing deines Gateways posten? Irgendwas sagt mir, dass das eine MQTT2_SERVER sein wird...
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline HomeAlone

  • Full Member
  • ***
  • Beiträge: 226
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #9 am: 12 Oktober 2018, 14:48:54 »
Ich vermute was anderes.
Die Entscheidende Meldung lautet "Undefined subroutine &MQTT::GENERIC_BRIDGE::send_publish..."
Bedeutet, dass MQTT-Modul nicht geladen ist. Kannst Du mal ein Listing deines Gateways posten? Irgendwas sagt mir, dass das eine MQTT2_SERVER sein wird...

Hier die Einstellungen meines Devices "myBroker":

DeviceOverview
  myBroker opened

Internals:
   DEF        reddocker:1883
   DeviceName reddocker:1883
   FD         5
   NAME       myBroker
   NOTIFYDEV  global
   NR         199
   NTFY_ORDER 50-myBroker
   PARTIAL   
   STATE      opened
   TYPE       MQTT
   buf       
   msgid      1
   ping_received 1
   timeout    60
   READINGS:
     2018-10-12 14:46:11   connection      active
     2018-10-12 14:36:11   state           opened
   messages:
Attributes:
   room       MQTT

Wenn ich testhalber in diesem Objekt (myBroker) ein set publish FHEM/Test absetze, dann kommt das sowohl in meiner Node Red Installation als auch im MQTT.fx an.

Ich bin beim Anlegen des Brokers wie in der fhem MQTT-Einführung angegeben vorgegangen: https://wiki.fhem.de/wiki/MQTT_Einf%C3%BChrung

Viele Grüße
Sascha

Offline HomeAlone

  • Full Member
  • ***
  • Beiträge: 226
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #10 am: 12 Oktober 2018, 14:59:25 »
:) Ich versuch einfach Mal zu helfen :-)

Kannst du bitte einem die List von deinem 6fach-Schalters noch anfügen nicht das man da was übersieht  ;)


Ich hatte nun erst gedacht ggf. ein Loop der es bei Aktivierung dahin schmelzen lässt bis es tot ist..

Die Settings hatte ich in meinem ersten Post angehangen. Wie erstelle ich "die List"? Ist das der Link "getConfig" in der DeviceOverview?

Tatsächlich verabschiedet sich fhem nach Klick darauf.
Im Log und im Eventlog wird aber nichts festgehalten (habe es jetzt drei mal wiederholt).

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4313
    • tech_LogBuch
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #11 am: 12 Oktober 2018, 14:59:45 »
OK, das ist alles so korrekt. Frage mich jetzt, warum eine existierende Methode nicht gefunden werden kann... Ist Dein FHEM aktuell? Mache ggf. ein update.
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4313
    • tech_LogBuch
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #12 am: 12 Oktober 2018, 15:00:55 »
Im Log und im Eventlog wird aber nichts festgehalten (habe es jetzt drei mal wiederholt).

Zitat
Undefined subroutine &MQTT::GENERIC_BRIDGE::send_publish called at ./FHEM/10_MQTT_GENERIC_BRIDGE.pm line 1949.
Kommt das nicht mehr?
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline HomeAlone

  • Full Member
  • ***
  • Beiträge: 226
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #13 am: 12 Oktober 2018, 15:08:14 »
OK, das ist alles so korrekt. Frage mich jetzt, warum eine existierende Methode nicht gefunden werden kann... Ist Dein FHEM aktuell? Mache ggf. ein update.
Das hatte ich vor meinem Posting bereits gemacht. Inkl. restart ;)

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4313
    • tech_LogBuch
Antw:Modul-Diskussion/Hilfe: MQTT_GENERIC_BRIDGE
« Antwort #14 am: 12 Oktober 2018, 15:16:34 »
Evtl. noch das alte Problem. Ist in fhem.cfg die Definition von MQTT-Modul erst nach der Generic-Bridge definiert? Eigentlich sollte das keine Probleme mehr bereiten...
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z