FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: joschi2009 am 14 März 2024, 16:29:48

Titel: Variable im json String [gelöst]
Beitrag von: joschi2009 am 14 März 2024, 16:29:48
Hallo zusammen,
bräuchte mal Eure Hilfe.
Mit dem folgenden DOIF kann man in einem WLED-Device den an Postition "TEXT" eingefügten Text als Laufschrift anzeigen lassen.

define pylontech_DOIF DOIF ([Pylontec:"^powerIN:.*$"]) ({qx(curl -X POST "http://192.168.178.133/json/state" -d '{"seg":[{"n":"TEXT"}]}' -H "Content-Type: application/json")})
Jetzt würde ich gerne Readings eines Devices anstatt des Wortes TEXT übergeben, komme aber hier nicht weiter.
Versuche in der Form:

define pylontech_DOIF DOIF ([Pylontec:"^powerIN:.*$"]) ({qx(curl -X POST "http://192.168.178.133/json/state" -d '{"seg":[{"n":"ReadingsVal("Pylontech","powerIN","0")"}]}' -H "Content-Type: application/json")})
funktionieren leider nicht.

Kann mir hier jemand einen Tip geben?
Titel: Aw: Variable im json String
Beitrag von: betateilchen am 14 März 2024, 16:39:13
Warum um alles in der Welt macht man sowas über den Umweg mit Betriebssystem und curl, anstatt die von FHEM für sowas bereitgestellten Funktionen in den HTTPutils zu verwenden? Damit geht das doch viel einfacher.
Titel: Aw: Variable im json String
Beitrag von: joschi2009 am 14 März 2024, 16:55:51
Hallo betateilchen,

wenn ich wüsste wie...
meine eigene Suche hatte mich schon zu HTTPutils gebracht aber das schien mir irgendwie noch aussichtsloser :-(
Titel: Aw: Variable im json String
Beitrag von: joschi2009 am 14 März 2024, 20:55:10
Hab es hinbekommen, hatte kleinen Fehler in der Schreibweise.
so funktioniert es:
define pylontech_DOIF DOIF ([Pylontec:"^powerIN:.*$"]) ({qx(curl -X POST "http://192.168.178.133/json/state" -d '{"seg":[{"n":"[Pylontec:powerIN]"}]}' -H "Content-Type: application/json")})