setreading called form userReadings is prohibited

Begonnen von sn0000py, 14 November 2023, 14:52:23

Vorheriges Thema - Nächstes Thema

TomLee

Mal ein ganz anderer Ansatz.
Du könntest auch in einer at-Definition einfach nur die Funktion awattar_calc aufrufen, in der du aber den Json dann mit HttpUtils_NonblockingGet holst, aus dem Json liest die Werte, die Du für deine Berechnungen brauchst und ergänzt diese Name/Wert Paare dann einfach in dem Json. Danach übergibst diesen "neuen" Json der Funktion json2reading und alles ist tutti und einem Device umgesetzt.

Otto123

Zitat von: sn0000py am 19 November 2023, 12:42:23Für mich wäre es halt einfach logischer ein 100% definiertes Notify zu bekommen, wenn das JsonMod fertig ist
Naja, ich würde vermuten es ist aber genau so: wenn jsmod fertig ist werden die Readings geschrieben. Und ja, einen state schreibt es offenbar nicht. Kannst ja mal einen Vorschlag machen herrmannj machen.
Du kannst das schon so machen mit Deinen Readings, Du musst halt im Hinterkopf haben: schreiben ins auslösenden Device geht nur verzögert wegen der Gefahr der Rekursion (und Endlosschleife)
Du brauchst aber mMn nicht unbedingt 3 oder mehr Devices: entweder triggerst Du ein notify und schreibst die Readings in Dein jsonmod Device oder Du triggerst ein userReadings und schreibst die Readings in einen Dummy.
userReadings ist wie ein notify im eigenen Device, was Du im Ausführungsteil machen kannst ist mit dem notify gleich. Was Du zurückgibst ist wieder was anderes. Ich meine damit: Du musst nicht 50 Readings über separate Definitionen machen - Du darfst Dich nur nicht selbst dabei überholen. :)
Oder wie Tom sagt einfach in einem at alles triggern, daran habe ich vorhin auch gedacht.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz