Moin,
für die Kommunikation von Fhem mit anderen Systemen möchte ich die Möglichkeiten von MQTT verwenden. Die ersten Schritte waren schon recht erfolgreich, d.h. etliche Komponenten aus dem HomeMatic-System und Fhem-Instanzen kommunizieren bidirektional wie gewünscht über den externen Mosquitto-MQTT-Server (Linux). Dabei lässt sich der mqtt traffic bei Bedarf parallel von der Linux-Konsole aus bzw. mit einem MQTT-Explorer debuggen.
Soweit die Vorbemerkung.
aber nun komme ich nicht weiter und bitte um Hilfe und Tipps:
Problem (1) mqtt mit 'dummy'
Zum einen gelingt mir nicht, analog zu o.g. HM devices die readings eines Fhem-dummies mit dem MQTT-Server zu kommunizieren, in keiner Richtung
define test1 dummy
attr test1 userattr mqttSubscribe mqttPublish
attr test1 mqttPublish state:topic={"$base/TEST/$device/$reading"} state:expression={toJSON({$name=>$value})}
und auch nicht in der einfachen Variante
define test1 dummy
attr test1 userattr mqttSubscribe mqttPublish
attr test1 mqttPublish state:topic=TEST1/state
define test2 dummy
attr test2 userattr mqttSubscribe mqttPublish
attr test2 mqttSubscribe state:topic=TEST1/state
Problem (2) mqtt mit 'ZWAVE devices'
zusätzlich fehlt mir die Kenntnis darüber, warum das o.g. Zusammenspiel von HomeMatic-Devices aus Fhem mit mqtt/extern problemlos funktioniert, sowohl per notify, als auch per (user)attr mqttSubscribe mqttPublish
aber
mit ZWave Devices (und dummies) in meinem System in keiner Weise ?
ZWave, z.B. mit MultiSensor6 und FensterSensor (aeotec),
- keinerlei Fehlermeldungen in Fhem
- keine Events(log)
- keinerlei Meldungen in den o.g. mqtt Mitschnitten.
Frage: was kann ich da übersehen haben ? oder was mag es sonst für einen Grund geben ?
Danke im voraus für die bestimmt wieder hilfreichen Antworten aus dem Forum hier,
vielleicht auch mit Beispiel als code Schnipsel.
Gruss
JHS
Aufgrund dessen:
attr test1 userattr mqttSubscribe mqttPublish
vermute ich mal:
Du hast meine MQTT_GENERIC_BRIDGE angelegt. Diese sollte die beiden Attribute eigentlich automatisch an alle Devices weitergeben.
Und mit dieser Bridge sollte es dann auch funktionieren :)
Beispiel:
defmod mq2_GenericBridge MQTT_GENERIC_BRIDGE
attr mq2_GenericBridge DbLogExclude .*
attr mq2_GenericBridge IODev mq2_Client_gl
attr mq2_GenericBridge group MQTT
attr mq2_GenericBridge stateFormat dev: device-count in: incoming-count out: outgoing-count
Dann sollte das eigentlich klappen.
lg, Stefan
dummy-subscribe: Versuchs mal mit "stopic"....
Publish: mag nicht glauben, dass es nicht funktioniert, wenn ein passendes Event kommt. Vielleicht fehlt setList/readingList.
ZWave: "list"?!?
Moin,
das Problem ist DANK @Icinger und @Beta-User schnell gelöst:
ALT: define mqttBridge MQTT_GENERIC_BRIDGE sec.* senmdir.* wds.*
NEU: defmod mqttBridge MQTT_GENERIC_BRIDGE
Beim Einstieg in FHEM<=>MQTT hatte ich aus Vorsichtsmassnahme gegen zu viel unerwünschten traffic eine Maskierung der relevanten Fhem-devices eingestellt. DAS war nun später die Ursache, dass neue devices=RegEx der Maskierung nicht berücksichtigt wurden ... "Problem war vor dem Bildschirm" ;-)
Gruß
JHS