NEWS
Hm-rega und sql
-
Hallo,
zunächst einmal allen frohe Weihnachten…
Ich glaube es gibt noch ein Problem mit dem loggen nur geänderter States. Zum Beispiel funktioniert die Überprüfung der Änderung einer Systemvariablen nicht. Im hm-rega Adapter wird die LastChangedTime von der CCU verwendet und als lc: der Funktion setState übergeben.
function pollVariables() { ... var ts = Math.floor((new Date(data[id][1])).getTime() / 1000); ... adapter.setState(adapter.namespace + '.' + id, {val: val, ack: true, lc: ts});Der TimeStamp (ts) wird im js-Controller mit der aktuellen Zeit gefüllt. Sei es durch Laufzeiten, oder aber durch nicht exakt übereinstimmende Zeiten der CCU und ioBroker. ergibt sich fast immer eine Differenz zwischen ts und lc. Da diese aber im SQL Adapter verwendet wird, werden kaum Einträge in die Datenbank geschrieben.
function pushHistory(id, state) { ... if (sqlDPs[id].state && settings.changesOnly && (state.ts !== state.lc)) return;Mein Vorschlag wäre, im hm-rega-Adapter entweder beide Werte, also ts und tc, der Funktion setState zu übergeben, oder aber keinen von beiden.
adapter.setState(adapter.namespace + '.' + id, {val: val, ack: true, ts: ts, lc: ts});Ich weiß nicht ob es weitere Stellen gibt, an denen lc und ts aus unterschiedlichen Quellen stammen. Beim Pollen der CCU-Programme habe ich noch eine Stelle gesehen.
Es wäre toll, wenn das angepasst werden könnte.
Viele Grüße.
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