FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: frankreed am 05 April 2022, 09:16:25

Titel: [gelöst]: mqttsubscribe und mehrere Parameter??
Beitrag von: frankreed am 05 April 2022, 09:16:25
Hallo,

ich benutze den Fork https://forum.fhem.de/index.php/topic,118150.msg1125692.html#msg1125692 (https://forum.fhem.de/index.php/topic,118150.msg1125692.html#msg1125692) zum Ein- und Ausschalten der Klingelsperre meines an die Fritzbox angeschlossenen schnurlosen (DEC) Telefons.

mit set <fritzbox_device> dectRingblock <dect<1..n>> <on|off>

funktioniert das in FHEM ganz prima.

Ich möchte das jedoch auch per MQTT machen. Die MQTT_GENERIC_BRIDGE ist eingerichtet und funktioniert auch mit anderen Devices.

Wie müsste denn jetzt das Attribut mqttSubscribe aussehen, damit ich die Klingelsperre per mqtt ein- und ausschalten kann? Device-Name und topic wären mal egal.
Und wie wäre dann die entsprechende payload, die ich versenden müsste, z.B. direkt über mosquitto?

Sorry ich steh' da gerade voll auf dem Schlauch.
Danke für Eure Hilfe.

Grüße Frankreed

Titel: Antw:mqttsubscribe und mehrere Parameter??
Beitrag von: Beta-User am 05 April 2022, 10:08:58
"dectRingblock" ist doch ein ganz normal setzbares "Reading", von daher sollte das z.B. mit der Payload "dect1 on" ohne weiteres gehen. Ansonsten fehlt zumindest mir etwas am "drumrum", v.a. was die MGB angeht.
Titel: Antw:mqttsubscribe und mehrere Parameter??
Beitrag von: frankreed am 05 April 2022, 11:40:58
Also so in etwa:

attr fritzbox mqttsubscribe dectRingblock:stopic={"fhem/fritzbox/klingelsperre"}

und dann als payload "dect1 on"?

PS: was sind die MGB?

Titel: Antw:mqttsubscribe und mehrere Parameter??
Beitrag von: Beta-User am 05 April 2022, 11:58:32
Zitat von: frankreed am 05 April 2022, 11:40:58
Also so in etwa:
Ja, in etwa ("s" vs. "S"). MGB = meine "Standardabkürzung" für "MQTT_GENERIC_BRIDGE"

Ausprobieren würde nicht schaden ;) .

PS: Code-Tags sind bekannt?
Titel: Antw:mqttsubscribe und mehrere Parameter??
Beitrag von: frankreed am 06 April 2022, 10:55:58
Ja Code-Tags sind bekannt, nur vergessen anzuwenden  ;)

Zitatattr fritzbox mqttsubscribe dectRingblock:stopic={"fhem/fritzbox/klingelsperre"}

und dann als payload "dect1 on"?

funktioniert einwandfrei.

Danke!

Titel: Antw:mqttsubscribe und mehrere Parameter??
Beitrag von: Beta-User am 06 April 2022, 11:10:58
Wenn du den Threads als [gelöst] gekennzeichnet hättest, bräuchte ich nichts mehr zu schreiben, aber so....:

Zitat von: frankreed am 06 April 2022, 10:55:58
funktioniert einwandfrei.

Glaube ich nicht so recht :P . Eher mit großem "S":
attr fritzbox mqttSubscribe dectRingblock:stopic={"fhem/fritzbox/klingelsperre"}

(OT: irgendwie kommt es mir so vor, als wären die Basis-Einstellungen deiner MGB verbesserungsfähig. Aber das ist ein ganz anderes Thema...)
Titel: [gelöst]: mqttsubscribe und mehrere Parameter??
Beitrag von: frankreed am 07 April 2022, 13:05:34
Habe den Thread brav mit [gelöst] gekennzeichnet, da es funktioniert.  ;)
Natürlich erst, nachdem "mqttsubscribe" richtigerweise mit großem "S" geschrieben wurde "mqttSubscribe" :-)
Danke an alle für die Hilfe.

PS: Beta-User hat schon recht mit den Basiseinstellungen meiner "MGB", aber mir ist es beim Testen häufiger lieber, wenn ich das topic in Klarbezeichnung lesen kann statt mit Variablen. Ist aber eher meine persönliche Meinung.
Titel: Antw:[gelöst]: mqttsubscribe und mehrere Parameter??
Beitrag von: Beta-User am 07 April 2022, 13:18:50
Zitat von: frankreed am 07 April 2022, 13:05:34
Habe den Thread brav mit [gelöst] gekennzeichnet, da es funktioniert.  ;)
;D 8) ::) weiter so ;D !

Zitat
PS: Beta-User hat schon recht mit den Basiseinstellungen meiner "MGB", aber mir ist es beim Testen häufiger lieber, wenn ich das topic in Klarbezeichnung lesen kann statt mit Variablen. Ist aber eher meine persönliche Meinung.
...das "Problem" ist eher, dass die "Klarbezeichnung" ein (vermutetes) grundlegendes Problem offenbart: Es wird mutmaßlich nicht sauber zwischen der Sende- und Empfangsrichtung unterschieden. Wäre da nur "$base" statt "fhem" gestanden, wäre das vielleicht nicht aufgefallen, so aber sollte es für "mqttSubscribe" "fhem/set" sein und für "mqttPublish" eben nur "fhem"... (beides (!) kann man für die jeweilige MGB in "globalDefaults" als zu verwendende "$base"-Variable definieren).

Oder eben für "Klartexttester":
dectRingblock:stopic={"fhem/set/fritzbox/klingelsperre"}

(PS: klar kann man auch anders zwischen den Richtungen unterscheiden, zumal es hier kein Reading zu geben scheint, das für den "Rückweg" interessant wäre).