NEWS
"ack" bei Simple-API
-
Nachdem der WAF zum Thema SmartHome bei mir zu Hause von 0% "wozu braucht man diese Spielerei...?" zu annähernd 100% "will ich auch noch haben..." gestiegen ist, stellte mir das obere Familienmanagement eine weitere Aufgabe.
Läuft auch seit ~1 Woche, aber nicht so ganz wie ich es mir eigentlich vorstelle, bzw. hat es einen Schönheitsfehler:

Die Daten "schiebe" ich extern per Simple-API in den ioB. Die Min/Max-Werte wollte ich eigentlich diesmal nicht selbst per JS aus dem History-Adapter ziehen, sondern dafür den Statistics-Adapter nutzen.
Und da liegt der Schönheitsfehler. Der Statistics-Adapter reagiert nur auf ack=true, was ich IMHO so per Simple-API nicht realisieren kann? Gelöst habe ich es dann mittels JS:let Value = getState('MyOwnData.0.Wetter.Ozon.Ozonwert').val; setState("MyOwnData.0.Wetter.Ozon.Ozonwert"/*stündlicher Ozonmesswert*/, Value, true/*ack*/);Nicht schön, weil extra JS-Script und dass natürlich auch doppelte Werte im History-Adapter erzeugt.
Bessere Lösung, notfalls so lassen oder doch wieder selbst per JS aus dem History-Adapter ziehen...?
-
Nachdem der WAF zum Thema SmartHome bei mir zu Hause von 0% "wozu braucht man diese Spielerei...?" zu annähernd 100% "will ich auch noch haben..." gestiegen ist, stellte mir das obere Familienmanagement eine weitere Aufgabe.
Läuft auch seit ~1 Woche, aber nicht so ganz wie ich es mir eigentlich vorstelle, bzw. hat es einen Schönheitsfehler:

Die Daten "schiebe" ich extern per Simple-API in den ioB. Die Min/Max-Werte wollte ich eigentlich diesmal nicht selbst per JS aus dem History-Adapter ziehen, sondern dafür den Statistics-Adapter nutzen.
Und da liegt der Schönheitsfehler. Der Statistics-Adapter reagiert nur auf ack=true, was ich IMHO so per Simple-API nicht realisieren kann? Gelöst habe ich es dann mittels JS:let Value = getState('MyOwnData.0.Wetter.Ozon.Ozonwert').val; setState("MyOwnData.0.Wetter.Ozon.Ozonwert"/*stündlicher Ozonmesswert*/, Value, true/*ack*/);Nicht schön, weil extra JS-Script und dass natürlich auch doppelte Werte im History-Adapter erzeugt.
Bessere Lösung, notfalls so lassen oder doch wieder selbst per JS aus dem History-Adapter ziehen...?
-
@SBorg
Sieht das Skript wirklich so aus ? Dann funktioniert es nur einmal bei Skriptstart. Besser so:on('MyOwnData.0.Wetter.Ozon.Ozonwert', function(dp) { if(!dp.state.ack) setState(dp.id, dp.state.val, true); });@paul53 sagte in "ack" bei Simple-API:
Sieht das Skript wirklich so aus ?
Ne, ist nur ein Snippet, ich habe den Trigger weggelassen :)
Ich nehme aber gerade deine wesentlich elegantere Version, wobei ich auf "if not ack" gar nicht gekommen wäre.
Das "Problem" des zusätzlichen JS und der doppelten History-Einträge bleibt dabei aber bestehen:{ "val": 50.7, "ack": 0, "ts": 1566318302362, "q": 0, "user": "system.user.admin" }, { "val": 50.7, "ack": 1, "ts": 1566318360068, "q": 0, "user": "system.user.admin" },Insgeheim hatte ich gehofft, den "ack" direkt beim schreiben der Werte setzen zu können und ich es einfach übersehen habe.
-
@paul53 sagte in "ack" bei Simple-API:
Sieht das Skript wirklich so aus ?
Ne, ist nur ein Snippet, ich habe den Trigger weggelassen :)
Ich nehme aber gerade deine wesentlich elegantere Version, wobei ich auf "if not ack" gar nicht gekommen wäre.
Das "Problem" des zusätzlichen JS und der doppelten History-Einträge bleibt dabei aber bestehen:{ "val": 50.7, "ack": 0, "ts": 1566318302362, "q": 0, "user": "system.user.admin" }, { "val": 50.7, "ack": 1, "ts": 1566318360068, "q": 0, "user": "system.user.admin" },Insgeheim hatte ich gehofft, den "ack" direkt beim schreiben der Werte setzen zu können und ich es einfach übersehen habe.
-
Hinweis an mich: ab und zu einfach mal auf GitHub vorbeischauen...
https://github.com/ioBroker/ioBroker.simple-api/issues/16 -
Danke, funktioniert

...und wieder einen Codeschnipsel der entsorgt werden kann.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden