Modul-Vorstellung: MQTT_GENERIC_BRIDGE

Begonnen von hexenmeister, 31 August 2018, 20:53:56

Vorheriges Thema - Nächstes Thema

hexenmeister

Genau das habe ich vor. Bin mir nur noch nicht sicher wie das am besten zu machen ist. Habe paar Beiträge höher über die möglichen Varianten geschrieben.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Master_Nick

#106
Hab dann mal nen Hilfe/Probleme etc Thread auf gemacht: https://forum.fhem.de/index.php/topic,91984.0.html

PS: Wäre für --> 3. Ein Parameter im Gerät.
Einfach ein Flag mit leitet weiter oder net :-) 1/0 ganz stumpf
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

inesa394

Seit dem update am 20 Oktober funktionieren meine Sensoren nicht mehr
ein zurückspielen der alten behebt das Problem
Ines

hexenmeister

Ja, in dem anderen thread wäre der Beitrag besser aufgehoben. Und bitte mit allen Details zum nachstellen. So kann ich leider nichts dazu sagen. Bei mir funktioniert ja alles.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

XxX_Cobra_XxX

Hallo

Erstmal ein großes Lob an den Entwickler dieses Moduls. Echt klasse.

Ich kapier nur eines nicht ganz und zwar:

Wie bekomme ich es jetzt hin dass ein fhem device (z. B. SZ_LICHT) den Befehl 'on' bekommt also 'set SZ_LICHT on' wenn der Befehl 'on' im Topic meinZuhause/SZ_LICHT reinkommt?  Was bzw. wie muss ich das beim device SZ_LICHT attr mqttSubscribe angeben?

Master_Nick

Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

XxX_Cobra_XxX


Gisbert

Hallo hexenmeister,

ich hoffe, du liest hier noch mit.
Ich möchte den Inhalt eines Readings eines Fhem-Devices publishen.
Der Inhalt des Readings ist variabel, deshalb kann ich nicht einfach einen Wert publishen, da dieser zwar vorhanden und auch geloggt wird, aber ansonsten als Wert nicht verfügbar ist.
Ich hoffe ich habe mich bisher nicht zu verschwurbbelt ausgedrückt.

Um ein konkretes Beispiel zu geben, ich möchte den Inhalt des Readings <temperature> des Devices <TH.Kuhlmannweg8> publishen.
Entweder jedesmal, wenn sich der Wert des Readings ändert, oder in festen Zeitabständen, das ist mir eigentlich egal.
Da ich verschiedene MQTT-Devices mit unterschiedlichen Firmwares laufen habe, ist mir das Thema MQTT nicht unbekannt.

defmod TH.Kuhlmannweg8 CUL_HM 20E202
attr TH.Kuhlmannweg8 .devInfo 030100
attr TH.Kuhlmannweg8 .mId 003D
attr TH.Kuhlmannweg8 .stc 70
attr TH.Kuhlmannweg8 IODev myHmUARTLGW1
attr TH.Kuhlmannweg8 IOgrp VCCU:myHmUARTLGW1
attr TH.Kuhlmannweg8 actCycle 024:00
attr TH.Kuhlmannweg8 actStatus alive
attr TH.Kuhlmannweg8 autoReadReg 0_off
attr TH.Kuhlmannweg8 event-min-interval 600
attr TH.Kuhlmannweg8 event-on-change-reading state,temperature,humidity,dewpoint
attr TH.Kuhlmannweg8 expert 2_full
attr TH.Kuhlmannweg8 firmware 1.3
attr TH.Kuhlmannweg8 group Sensoren
attr TH.Kuhlmannweg8 icon temperature_humidity
attr TH.Kuhlmannweg8 model HM-WDS10-TH-O
attr TH.Kuhlmannweg8 peerIDs 00000000,
attr TH.Kuhlmannweg8 room CUL_HM,Heizung,Weather
attr TH.Kuhlmannweg8 serialNr KEQ0175095
attr TH.Kuhlmannweg8 stateFormat T:temperature H:humidity D:dewpoint
attr TH.Kuhlmannweg8 subType THSensor
attr TH.Kuhlmannweg8 userReadings dewpoint:temperature.* {urDewpoint($name)}

setstate TH.Kuhlmannweg8 T:23.2 H:60 D:15.0
setstate TH.Kuhlmannweg8 2019-07-16 14:18:29 .D-devInfo 030100
setstate TH.Kuhlmannweg8 2019-07-16 14:18:29 .D-stc 70
setstate TH.Kuhlmannweg8 2019-07-18 20:39:38 .protLastRcv 2019-07-18 20:39:38
setstate TH.Kuhlmannweg8 2019-07-17 22:45:19 Activity alive
setstate TH.Kuhlmannweg8 2019-07-16 14:18:29 D-firmware 1.3
setstate TH.Kuhlmannweg8 2019-07-16 14:18:29 D-serialNr KEQ0175095
setstate TH.Kuhlmannweg8 2019-07-18 20:39:38 battery ok
setstate TH.Kuhlmannweg8 2019-07-18 20:32:02 dewpoint 15.0
setstate TH.Kuhlmannweg8 2019-07-18 20:39:38 humidity 60
setstate TH.Kuhlmannweg8 2019-07-18 20:39:38 state T: 23.2 H: 60
setstate TH.Kuhlmannweg8 2019-07-18 20:39:38 temperature 23.2


Ich habe deshalb folgendes Device definiert, in der Annahme, dass ich das obige Problem lösen kann:
defmod mqttGeneric MQTT_GENERIC_BRIDGE mqtt
attr mqttGeneric IODev MyBroker


Wenn ich get mqttGeneric devinfo oder devlist eingebe, dann erhalte ich: "no devices found".
Ich mache wohl was grundlegendes falsch.

Um meine Frage nochmals zu wiederholen:
Wie kann ich den Inhalt eines Readings publishen?
Kann das auch ein Reading eines Typs MQTT-DEVICE sein oder muss es ein Reading eines beliebigen anderen Typs sein?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Maui

Moin. Schau mal 2 Posts über deinem #110.
Und zu deinem Problem: Heisst dein mqtt Broker denn wirklich MyBroker?

Das reading kann mEn sein was es will. Das ist ja das schöne bei der GB.

Gruß

Gisbert

Zitat von: Maui am 18 Juli 2019, 20:58:23
Moin. Schau mal 2 Posts über deinem #110.
Und zu deinem Problem: Heisst dein mqtt Broker denn wirklich MyBroker?

Das reading kann mEn sein was es will. Das ist ja das schöne bei der GB.

Gruß

Hallo Maui,

danke für den Hinweis, ich war mir nicht bewusst, dass es einen eigenen Hilfe-Thread gibt.
mein MQTT-Broker heißt tatsächlich MyBroker, was ist so ungewöhnlich an dem Namen?
In der Zwischenzeit habe ich eine total simple Lösung (selbst) gefunden.
Das Publishen eines Readings eines beliebigen Devices geht wohl so (getestet):
set publish <MQTT device> [<device>:<reading>]

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Maui

Nix ist ungewöhnlich dran. War bloß auf Fehlersuche.
Mit deinem Befehl nutzt du allerdings nicht mehr die Generic Bridge  ;)

hexenmeister

Ich verstehe ehrlich gesagt das Problem nicht. Einfach in dem gewünschten Device mittels Attribute 'mqttPublish' (s. Commandref) die gewünschtre Reading einem Topic zuordnen und schon taucht dieses Gerät in der Bridge auf.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Gisbert

ZitatEinfach in dem gewünschten Device mittels Attribute 'mqttPublish' (s. Commandref) die gewünschtre Reading einem Topic zuordnen und schon taucht dieses Gerät in der Bridge auf.
Dieser Hinweis hat geholfen; jetzt funktioniert das Bridge-Device.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

MarcP

#118
Hallo,

super Modul, macht genau was es soll.

Meistens. Manchmal , ich habe leider noch kein System erkennen können, (siehe Edit unten) "verliert" die Bridge alle Devices, device-count
ist dann plötzlich "0" und die Devices reagieren nicht mehr auf die per Subscribe abonnierten Topics.
Sobald ich das Attribut mqqtSubscribe einmal neu speichere, ohne etwas zu ändern, registriert die Bridge das Device wieder, und alles klappt wieder.
Muss ich dann mit jedem Subscriber-Device einmal machen.

Eine Idee, woran das liegt?

Edit: Ich stelle grad fest, das es nachstellbar immer dann passiert, wenn ich ein "rereadcfg" absetze.

Viele Grüße
Marc
Javascript Charts für FHEM mit Chart.js: https://git.io/JeoJV

Master_Nick

Mh konnte ich unter normalem Einsatz noch nie erleben.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)