NEWS
InfluxDB schreiben nur Änderungen
-
@homoran ich gehe jetzt die Scripte noch mal genau durch. Teilweise habe ich Bezeichnungen geändert, um mehr Klarheit zu schaffen. Dabei Groß/Kleinschreibung mit Fehlermöglichkeit. Datenpunkte von Boolean in 1/ 0 Zahl geändert. Der Steuerungsteil ist eigentlich nichts kompliziertes.
EDIT: in Arbeit (dauert) die Datenpunkte, die ich von "boolean" in "number" ändern wollte, habe ich gelöscht und neu angelegt. Das Umändern hat scheinbar nicht fehlerfrei geklappt.
Die Flüchtigkeitsfehler behoben, jetzt muß ich warten, ob der Fehler wieder auftritt. Werde mich melden... -
Habe nun mal bei mir zum testen im Log nachgeschaut.
Mit folgenden Szenario:
Wert via Javascript steuern (Brighness von Shelly Lampe) im 2 Sekunden Abstand.
Geloggt wurde der Shelly DP sowie ein Alias darauf.Setting Influx:

Verlaufsdaten:

Eigentlich sollte dein Datenpunkt (der verlinkte von deinem Alias sich ähnlich/gleich verhalten.)
=> Steuerbefehl vom Skript und kurz darauf das Feedback vom Adapter DP
Wenn das bei dir nicht so ist, liegt evtl. bei rp2.0 Instanz ein Fehler.
Oder aber deine Entprell- und Blockzeit verhinderte das loggen...Any News?
-
@mickemup ich habe jetzt auch entprell und blockzeit auf Null. "Nur Änderungen" angehakt. Bisher hatte ich immer Warnungen der Art " 0 Signal angekommen, erwartet boolean" und umgekehrt. Habe alle Zwischenspeicherdatenpunkte als "nummer" neu angelegt. Vorher gelöscht. Die Warnungen kommen nicht mehr. Bisher habe ich auch noch keine Abnormalitäten. Das sind nun gleich 3 Änderungen. Die Ursache wird so schwer zu ermitteln sein. Ich beobachte weiter.
-
@mickemup ich habe jetzt auch entprell und blockzeit auf Null. "Nur Änderungen" angehakt. Bisher hatte ich immer Warnungen der Art " 0 Signal angekommen, erwartet boolean" und umgekehrt. Habe alle Zwischenspeicherdatenpunkte als "nummer" neu angelegt. Vorher gelöscht. Die Warnungen kommen nicht mehr. Bisher habe ich auch noch keine Abnormalitäten. Das sind nun gleich 3 Änderungen. Die Ursache wird so schwer zu ermitteln sein. Ich beobachte weiter.
@Laser sagte in InfluxDB schreiben nur Änderungen:
hatte ich immer Warnungen der Art " 0 Signal angekommen, erwartet boolean"
der exakte Wortlaut wäre hier sehr wichtig gewesen!
@Laser sagte in InfluxDB schreiben nur Änderungen:
Die Ursache wird so schwer zu ermitteln sein
jetzt wahrscheinlich ja, leider!
-
@mickemup ich möchte aber genau den Zeitpunkt der fallenden Flanke wissen. Nicht nur den Zustand.
@Laser
Habe mir das Skript mit deiner Aussage:
ich möchte aber genau den Zeitpunkt der fallenden Flanke wissen. Nicht nur den Zustand.Nochmal angeschaut. Dein User DP ist ja ein boolean, hat also nur zwei Zustände
Das ginge eleganter mit nur einem Trigger auf Aenderung (ne) von deinem User DP (0_userdata.0.Logik.BrennerIstEin)
Dann ist ja jede Auslösung entweder eine steigende Flanke (Dann ist der Wert TRUE oder sonst eine fallende Flanke)Pseudo Code:
Trigger auf Aenderung:
Falls "True" => Code für steigende Flanke
Sonst => Code für fallende Flankeon({id:'0_userdata.0.Logik.BrennerIstEin'/*BrennerIstEin*/, change: 'lt'}, function (obj) { setState('rpi2.0.gpio.23.state'/*Gpio 23*/,false) ; //true = Freigabe Brenner setState('0_userdata.0.Logik.Freigabe'/*Freigabe*/,0); setState('0_userdata.0.Logik.Brenner_istAus'/*Brenner istAus*/,true); console.log("Brenner schaltet Aus: "); }); on({id:'0_userdata.0.Logik.BrennerIstEin'/*BrennerIstEin*/, change: 'gt'}, function (obj) { setState('0_userdata.0.Logik.Brenner_istAus'/*Brenner istAus*/,false); console.log("Brenner schaltet Ein: "); }); -
-
Ja, aber so war ich offen für verschiedene Schreibhandlungen. Bei steigender und fallender Flanke. Für Irgendetwas muß man sich entscheiden.
@Laser Eben nicht...lies doch mal in Ruhe nochmals meinen Text.
Damit kannst du steigende und fallende Flanke unterscheiden.
Da ist nix mit entscheiden...
on({ id: '0_userdata.0.Dummy_Bool' /* Dummy Bool */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : '')) { // Code für steigende Flanke } else { // Code für fallende Flanke } }); -
@mickemup So, jetzt lief das über Nacht ohne Probleme. So sieht es die ganze Zeit aus:
da ich nun 3 (4 mit Grafana) Maßnahmen ergriffen habe, ist nicht klar, was genau nun der Fehler war. Die massenweise Warnungen im Log über Datenformate sind komplett weg.
Als Nächstes werde ich die Einstellungen im influxDB Adapter einzeln zurücknehmen, um zu sehen, ob dort etwas Einfluß hat. -
@mickemup So, jetzt lief das über Nacht ohne Probleme. So sieht es die ganze Zeit aus:
da ich nun 3 (4 mit Grafana) Maßnahmen ergriffen habe, ist nicht klar, was genau nun der Fehler war. Die massenweise Warnungen im Log über Datenformate sind komplett weg.
Als Nächstes werde ich die Einstellungen im influxDB Adapter einzeln zurücknehmen, um zu sehen, ob dort etwas Einfluß hat.@Laser sagte in InfluxDB schreiben nur Änderungen:
da ich nun 3 (4 mit Grafana) Maßnahmen ergriffen habe, ist nicht klar, was genau nun der Fehler war
deswegen geht man systematisch von der Quelle bis zum Ende Schritt für Schritt vor.
Dabei
@Laser sagte in InfluxDB schreiben nur Änderungen:
Die massenweise Warnungen im Log
beachten, lesen und befolgen.
Außerdem hier in vollem Wortlaut zitieren.@Laser sagte in InfluxDB schreiben nur Änderungen:
um zu sehen, ob dort etwas Einfluß hat.
Höchstwahrscheinlich nicht!
Die Ursache wird viel früher in der Kette entstanden sein. Dass der Adapter (nur bei dir) buggy ist, wäre bei so vielen Nutzern höchst unwahrscheinlich.Außerdem immer noch:
sagte in InfluxDB schreiben nur Änderungen:
@Laser warum schreiben script und rpi2 in den DP und warum das Script,
das ich immer noch nicht zu sehen bekommen habe(!), mit ack=false?weder beantwortet, noch etwas geändert!