<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Das Alter von Datenpunkten überprüfen]]></title><description><![CDATA[<p dir="auto">Hallo,<br />
ich möchte etwas in Abhängigkeit von 2 Sensorwerten schalten, muss aber sicher sein, dass sie nicht älter als 3 h sind. Es handelt sich einmal um die zu erwartende Wolkendichte um eine bestimmte Zeit von "DasWetter" und zum Anderen um einen in OWFS eingebundenen Temperatursensor.</p>
<p dir="auto">Ich habe überlegt, die Zeitstempel werden ja in Unixzeit in Milisekunden ausgegeben. Wenn man also von der aktuellen Zeit als Datum-Objekt den Zeitstempel des Sensors abzieht und durch 60000 teilt, erhält man das Alter in Minuten. Das kann man vergleichen, ob der Wert noch "jung" genug ist, um ihn zu verwenden.</p>
<p dir="auto">Würdet ihr das auch so machen, oder gibt es da clevere Lösungen?<br />
<img src="/assets/uploads/files/1579258958577-zeit1.png" alt="Zeit1.png" class=" img-fluid img-markdown" /><br />
<img src="/assets/uploads/files/1579258973525-zeit2.png" alt="Zeit2.png" class=" img-fluid img-markdown" /><br />
Viele Grüße</p>
]]></description><link>https://forum.iobroker.net/topic/29052/das-alter-von-datenpunkten-überprüfen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 30 Apr 2026 12:03:33 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/29052.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Jan 2020 11:04:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Das Alter von Datenpunkten überprüfen on Fri, 17 Jan 2020 13:50:05 GMT]]></title><description><![CDATA[<p dir="auto">Ich mache das auch so ähnlich und nutze folgende Funktion hierfür:</p>
<pre><code>/**
 * Vor wie vielen Sekunden wurde ein State aktualisiert?
 * Per Default wird der Timestamp genommen. Durch Setzen von what auf 'lc' wird die letzte Änderung genommen.
 * @param {string}  stateId   Id zum State, z.B. 'fullybrowser.0.192_168_0_10.isFullyAlive'
 * @param {string} [what='ts'] Optional. 'ts' für timestamp (= Default), lc für lastchanged.
 * @return {number} Vergangene Anzahl an Sekunden, als der State zuletzt aktualisiert wurde
 */
function stateLastUpdated(stateId, what) {
 
    if (what === undefined) what = 'ts';
    if(what !== 'ts' &amp;&amp; what !== 'lc') what = 'ts';
 
    let dtNow = new Date();
    let tsNow = dtNow.getTime();
    let dtCheck = new Date(getState(stateId)[what]);
    let tsCheck = dtCheck.getTime();
 
    return Math.round((tsNow - tsCheck) / 1000); // Zeitdifferenz in Sekunden
 
}
</code></pre>
<p dir="auto">Quelle: <a href="https://forum.iobroker.net/topic/24179/vorlage-hilfreiche-javascript-funktionen">https://forum.iobroker.net/topic/24179/vorlage-hilfreiche-javascript-funktionen</a></p>
]]></description><link>https://forum.iobroker.net/post/359825</link><guid isPermaLink="true">https://forum.iobroker.net/post/359825</guid><dc:creator><![CDATA[Mic]]></dc:creator><pubDate>Fri, 17 Jan 2020 13:50:05 GMT</pubDate></item></channel></rss>