NEWS
Test Adapter pirate-weather 0.7.x
-
sowas würde ich immer mit der "History" machen, je nach verwendetem backend (influx, maria, history) da mir den max regen der letzten 2 Stunden rauswerfen lassen. Kann das nur in kompliziert zeigen, nutze es aktuell nicht:
Influx - flux krempel:
Die Funktion gibt mir aus ob in den letzten 7 Tagen(und wann das letzte mal) die Wassertemperatur oberhalb von X °C war.try { // ab 60C° Abtötung der Legionellen innerhalb ca. 30 Minuten // ab 65C° Abtötung innerhalb 2 Minuten result = await sendToAsync('influxdb.1', 'query', '\ from(bucket: "iobroker") \ |> range(start: -7d) |> filter(fn: (r) => r["_measurement"] == "'+cBoilerSensor+'") \ |> filter(fn: (r) => r["_field"] == "value") \ |> filter(fn: (r) => r._value > '+temperaturHygiene+' ) \ |> aggregateWindow(every: 5m, fn: mean)\ |> last()', {timeout: 2000}) } catch(e) { result = {}; log(e)}Wenn es einfacher sein darf - würde ich einen trigger auf den regendatenpunkt setzten der anschlägt wenn es regnet und mir in einem Skript den letzten Zeitpunkt in eine variable schreiben. Diesen Zeitpunkt dann im "Kann robo los fahren" Teil testen ob Zeit X vorbei ist. Das erspart dann auch den "regnet es gerade" teil. Wenn das Skript neu gestartet wird, sollte er mit der aktuellen Zeit initialisiert werden.
EDIT...
Wenn man länger nachdenkt kommt immer einfachere Ideen :)
Wenn der Roboter los fahren soll, auf Regen testen und wenn da alles grün (val=0) den lc(Zeitpunkt der letzten Änderung) von dem datenpunkt auslesen und testen ob er sich seit zeit X nicht verändert hat. (damit bekommt man aber kein tröpfeln raus)
EDIT2:
Das Tröpfeln kann man durch einen extra state raus filtern - isNowRaining z.B. den man durch ein Skript auf true oder false setzt nach eigenen Bedingungen - ansonsten dann wie 1. Edit nur mit diesem State, damit hat man dann im lc einen verlässlichen Wert wann es zum letzten Mal geregnet hat. -
Du meinst aktuallisierungszeitpunkt vom DP "currently => rainIntensity".
Muss ich mal beobachten, ob der nicht auch immer wenn es nicht regnet (0 mm/h) sich aktualliert.
Aktuell regnet es ;-)@topsurfer
Du sprichst von ts ich von lc
Nicht der Zeitpunkt der letzten Aktualisierung sondern der Zeitpunkt der letzten ÄnderungEdit:
Falls unklar ist ich meine das:

-
@topsurfer
Du sprichst von ts ich von lc
Nicht der Zeitpunkt der letzten Aktualisierung sondern der Zeitpunkt der letzten ÄnderungEdit:
Falls unklar ist ich meine das:

Du sprichst von ts ich von lc
Nicht der Zeitpunkt der letzten Aktualisierung sondern der Zeitpunkt der letzten ÄnderungFinale Frage ;-)
Läßt sich das auch ohne extra Script direkt im Widget lösen?
Hab den Datenpunkt der letzten Änderung und einen DP der zuletzt "geschriebenen" Regenmenge (0 seit dem es aufgehört hat zu regnen).Kann man das über "rechnen" im Widget bei der "Objekt Identifikation" erledigen
Also: act. Zeit - lc rechnen und check ob Regenmenege 0 ist?Oder benötigt das doch zwingend extra Blockly (weil zu viele DP und Check gemacht werden muss?
(ich will nicht nur vor dem Start checken ob der Mäher losfahren soll sondern es soll eine "Ampel" im Dashboard angezeigt werden die immer den aktuellen Status zeigt (hier: Ob es die letzten 3h trocken war))
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