Auf MQTT-Topic publishen leicht gemacht

Perfekt! Das sollte eigentlich Symcon von sich aus können!

Auch ein schöner, internerer Ansatz, ich hatte ja mehrfach

erwähnt, dass ich sehr häufig nutze, um beliebig und einfach zu publishen.

1 „Gefällt mir“

Mit IP-Symcon 6.4 könnt ihr doch genau das machen?

paresy

Es geht mir darum, dass ich überhaupt kein Device anlegen müssen will, um auf ein Topic zu publishen.

(Also „write only“ Fälle)

@paresy
Wie kann ich den mit RequestAction das Thema angeben?
Ich schick ja ein RequestAction mit der ID vom MQTT ServerDevice und dem Payload für die Message. Aber wo stell ich dann den Topic dynamisch ein?

Dann habe ich das falsch verstanden. Ich dachte geht darum ein abweichendes „set“ Thema für ein MQTT zu haben. Für beliebige Topics kann man sicherlich das Skript hier verwenden.

paresy

@paresy, wäre es nicht sogar möglich, der Client bzw. Server Instanz eine Publish Funktion zu geben?

Grüße,
Kai

Definitiv Möglich. Ich wäre dann aber eher für eine MQTT Export Instanz, die beliebige Topics senden kann aus PHP und wie eine RegisterVariable alle Topics empfangen kann. Quasi das was du als Modulentwickler kannst, nur auf User-Level Ebene für die Scripter :slight_smile:

paresy

Erweitere doch die RegVar um RegVar_SendTopic :slight_smile:
Michael

Ich fände eine Funktion für die Server- bzw. Clientinstanz intuitiver. Syntaktisch ähnlich meiner Funktion.

Damit könntest du aber nicht empfangen und somit hätten wir meiner Meinung nach nur 50% abdeckt.

paresy

Die phpMQTT Lib verwende ich in leicht angepasster Form in meinem MQTT Publish Modul intern auch. Den Server via instanceID zu übergeben ist zwar IPS konform, idR. will man jedoch einen externen MQTT Broker erreichen und selbst wenn nicht, könnte man ja auch einfach die IP/Port des internen Servers angegeben

Okay der Empfang Strang müsste dann auch noch um ein paar Felder erweitert werden :wink:

Michael

Du hast mich langsam mit deiner Idee. :sweat_smile:

paresy

… also wenn es so funktioniert wie beschrieben dann reicht das Script von Socke vollkommen.
Mehr muß nicht.

Widmet euch lieber wichtigeren Dingen.
bb

Wobei es ja einen entscheidenden Nachteil gibt :pensive:

Es fehlt der Filter für das topic beim Empfangen.
Somit würde jedes empfangene publish das hinterlegte Script der RegVar starten.
Könnten dann schnell, viele PHP Threads belegt werden.
Michael

Ja, ich finde für die „Empfangsseite“ die Struktur mit den Devices völlig okay. Es muss ja nicht wieder die nächste eierlegende Wollmilchsau werden. Mir persönlich erschiene es einfach nützlich (und relativ simpel gedanklich) wenn ich Publishes auf eine Server- bwz Clientinstanz „draufwerfen“ könnte.

Danke, konnte das auch für ein aktuelles Projekt verwenden. Funktioniert einwandfrei.

1 „Gefällt mir“

Ich brauchte die Funktion auch und komme für meinen Bedarf mit dem oben verlinkten Link zur phpMQTT class super klar.

Du verwendest Homeassistant um per MQTT etwas an IPS zu schicken? Wenn du es schon per MQTT empfängst dann kannst du das in der Tat auch mit IPS-Bordmitteln direkt verarbeiten. In diesem Thread geht es aber um ein vereinfachtes Publishen von MQTT-Meldungen, also eher das Gegenteil da du ja etwas empfangen willst.