Seite 1 von 1

[V4.0 IP3] MQTT Json zum Publish erzeugen

Verfasst: Fr Feb 03, 2023 10:06 pm
von SchateMuhl
Hallo an Alle

Ich bin gerade dabei ein Shelly Pro4 EM per TWS und MQTT an mein KNX zu bekommen.
das Subscibe funktioniert für all 4 Kanäle ohne Probleme.(bekomme AN/AUS, Spannung, Leistung und Energie)
Um ein AN / AUS zu Publish'en muss ich eine Json mit bestimmten weiteren Werten übergeben die ich aber vorher nicht subscribt habe, da es dieses
Topic nicht automatisch vom Gerät gibt.
Nun meine Frage, gibt es eine Möglichkeit im TWS, wenn ich auf einer KNX-GA ein AN oder AUS bekomme, mir dann ein Json String zu erstellen den ich dann publishen kann?

Bei einem anderen Shelly Gerät subscribe ich komplett den Json Payload und sende ihn dann wieder komplett mit meiner Änderung, der Shelly Pro macht das aber leider etwas komplizierter.

Danke für Eure Anregungen.

Re: [4.0 Insider Preview 3] MQTT Json zum Publish erzeugen

Verfasst: Sa Feb 04, 2023 7:41 am
von gbglace
Es gab bis Gestern gerade einen Thread über Tage wo auch wer ein AN/AUS bzw. ON/OFF per MQTT an einen Tasmota schicken wollte.

Das interessanteste ist, hier Mal zu zeigen wie die URI ganz genau aussehen soll die da geschickt werden muss und wie Deine bisherigen Einstellungen schon aussehen. Und die Frage kannst Du das geforderte manuell per MQTT Explorer erzeugen?

Ansonsten gibt es ja in der IP Version in der Logik diverse Bausteine die aus einem 1-Bit Signal Texte In Recht beliebiger Form als Ersatz für das true/false 0/1 liefern. Die Lösung im erwähnten Thread war aber einfach das KNX Signal direkt mit der Publish Transaktion verbinden, da müsstet nix durch eine Logik vorverarbeitet werden.

Re: [4.0 Insider Preview 3] MQTT Json zum Publish erzeugen

Verfasst: Sa Feb 04, 2023 8:01 am
von MrWilson
Und wenn du den Thread gefunden hast, dann kannst du bei einem Bild sehen, dass bei App Level Topic hinzufügen boolean eingestellt ist, du stellst dann auf JSON. Bei den Transaktionen kannst du dann beliebige Selektoren angeben, musst dir dann nur überlegen wie du das dann triggerst.

Re: [4.0 Insider Preview 3] MQTT Json zum Publish erzeugen

Verfasst: So Feb 05, 2023 1:01 pm
von SchateMuhl
Danke für Eure Infos.

Ich muss allerdings ein Payload erstellen mit einigen Werten die ich nicht habe, ich muss folgenden Payload übertragen.

Topic = shellies/Pro4_1/rpc

Code: Alles auswählen

{
  "id": "TWS",
  "src": "TWS",
  "method": "Switch.Set",
  "params": {
    "on": false,
    "id": 0
  }
}
ich habe es nun folgendermaßen gelöst.

1. ich habe ein Topic erstellt und in diesem 5 Werte zum publish erstellt.
- den wert von "params.on" bekomme ich vom KNX das ist mein AN und AUS schalten
- den Wert von "params.id" hole ich mir aus einem anderen Topic welches ich subscribe (0-3 sind die 4 Ports vom Shelly)
- die Werte von "id", "src" und "method" erstelle ich mir nun mit 2 Logik Elementen "KONV bool in String-OPD" , wobei der Trigger vom Status Auslesen
aus einem anderen Topic kommt.

sowie ich nun den ersten Status Topic vom Shelly bekomme werden mir alle Werte für den Json Payload gesetzt und nur "AN / AUS" vom KNX wird dieses Topic übertragen.

anbei noch ein Paar Bilder

Publish

Bild

Subscribe

Bild

Logik

Bild