FAIL: Kommunikation MQTT<=>dummy und MQTT<==>ZWave dev, ABER OK: MQTT<==>HM

Begonnen von jhs, 06 Januar 2024, 00:02:54

Vorheriges Thema - Nächstes Thema

jhs

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

Icinger

Aufgrund dessen:
attr test1 userattr mqttSubscribe mqttPublishvermute 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
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Beta-User

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"?!?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

jhs

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