Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
plot.period 00:00-24:00 Uhr mit Daten von 0:00 bis now
Das war zu befürchten. Dann muss ich mich in den shNG-Treiber einarbeiten. Das wird aber wegen anderer Prioritäten etwas dauern.
Immerhin kannst Du jetzt die Plots von "daybegin" bis "now" laufen lassen, oder? Das ist schonmal ein kleiner Fortschritt und funktioniert auch mit eingeschaltetem Cache.
Ja damit komme ich erstmal klar, ich sehe die Erzeugung visuell, der Rest ist ja dann eher Kosmetik.
Danke. Wenn ich bei weiteren Tests unterstützen kann einfach melden.
Falls es hilft, mir sind gerade noch folgende Einträge im Log aufgefallen:
Die Meldungen bestätigen meinen Verdacht, dass die strings für tmax an shNG übergeben werden. (Warum das für tmin nicht passiert oder zumindest nicht zu Problemen führt, habe ich noch nicht nachvollzogen). Lösung muss sein, dass shNG die Anfrage wieder mit "now" bekommt - d.h. alle Werte größer als "now" müssen auf "now" begrenzt werden.
Edit: musstest Du die o.g. Änderung in der plot.html machen, oder lief es so?
ich sehe ja weder ohne noch mit der Änderung Daten im Plot. Daher kann ich nicht sagen ob die Änderung notwendig war. Ich habe sie auf jeden Fall direkt mitgemacht.
könntest Du mal testen, ob die folgende Änderung in /driver/io_smarthome.py.js ab Teile 254 die Aufgabenstellung löst?
Code:
// translate daybegin and dayend
// limit data request to not later than 'now'
var seriesstart = (pt[pt.length- 3 ] == 'daybegin' ? '24h' : pt[pt.length- 3 ]);
var seriesend = (pt[pt.length- 2 ] == 'dayend' ? 'now' : pt[pt.length- 2 ]);
if (io.version <= 3)
io.send({'cmd': 'series', 'item': item, 'series': pt[pt.length - 4], 'start': seriesstart, 'end': seriesend});
else
io.send({'cmd': 'series', 'item': item, 'series': pt[pt.length - 4], 'start': seriesstart, 'end': seriesend, 'count': pt[pt.length - 1]});
Die Zeilen ab 'if (io.version <= 3)' ersetzen dabei die bereits vorhandenen.
Den Nachrichten in der Konsole nach zu urteilen muss die Datenübermittlung funktionieren. Interessant ist natürlich, ob die Daten im Plot zeitlich korrekt zugeordnet werden.
Gruß
Wolfram
P.S.: Die oben geänderte Zeile in der plot.html sollte besser so aussehen
Code:
{% set tmax = (tmax|lower=='0h' [Markieren]or tmax=='0'[/Markieren] or tmax is empty) ? 'now' : tmax %}
Habe es getestet. Weiterhin keine Daten im Plot 😔. Aber in meinem Kontrollplot hat es Auswirkungen gezeigt, vom letzten Wert der Serie wird ein horizontaler Strich in in Richtung X0 gezogen, siehe Screenshot. Dieses Verhalten zeigt sich seit der Änderung aus #21.
Oh. Das kann ich mir jetzt gar nicht erklären.Für einen normalen Plot dürfte die Änderung in #21 keinerlei Auswirkungen haben. Kannst Du mal bitte die widget-Aufrufe beider Plots in der getesteten Version posten?
Ich habe offensichtlich noch nicht alle Stellen im Code gefunden, an denen die duration-Werte aus dem item-Buffer gelesen werden. Habe mir jetzt eine Datenbank aufgesetzt, so dass ich selbst testen kann und dann (hoffentlich) erst wieder mit einer Lösung komme, die auch wirklich funktioniert. Sorry.
Den Fehler im Tages-Plot kann ich bestätigen. Den im Kontroll-Plot bisher nicht. Kannst Du nochmal beobachten, ob die Linie zu x0 über den Tag wandert und ob die von shNG empfangenen Date in Orndnung sind? Aktuell wird im Forum nämlich ein Problem diskutiert, dass sporadisch Daten mit negativen durations auftreten.
Anmerkung zum Fehler im Kontroll-Plot
Der Fehler, der im Kontroll-Plot zu sehen ist, tritt bei mir von Zeit zu Zeit auf. Aber schon immer (Jahre). Besonders bei 'area' sieht das dann sehr schräg aus. Ist aber sporatisch.
Ich denke, es hat daher nichts mit den hier gemachten Änderungen zu tun. Ist aber eine Vermutung.
Ich kann mittlerweile auch bestätigen, dass der Fehler im Kontroll-Plot sporadisch auftritt.
Ist wohl Zufall, dass ich ihn nach den Änderungen aus #21 zum ersten Mal gesehen habe.
Wie sich herausgestellt hat, müssen wir ein paar Reparaturen an der io-Schnittstelle und der Kommunikation mit dem database-plugin vornehmen, um die Plot-Möglichkeiten zu erweitern. Es wäre eine große Hilfe, wenn Ihr den sporadischen Fehler weiter eingrenzen könntet. Die Plots fragen beim Seitenaufbau einmalig die Daten aus der Datenbank ab und aktualisieren hinzukommende Werte über das item-monitoring. Es wäre wichtig zu wissen, welche Werte falsch verarbeitet werden und unter welchen Bedingungen dies passiert.
Der io-Treiber schreibt die Kommunikation ins Console-Log.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar