NEWS
History überarbeitet
-
Achtung bei den Hochkommata, da gibts Unterschiede.
richtig war: CREATE USER 'iobroker'@'%' IDENTIFIED BY 'password';
Die Version unten im quote hat bei mir nicht funktioniert. (dasselbe gilt auch f
ü
r README.md auf Github).MySQL:
MySQL auf ioBroker
apt-get install mysql-server mysql-client
mysql -uroot -p
CREATE USER 'iobroker
‘
@
’
%
’
IDENTIFIED BY 'iobroker';GRANT ALL PRIVILEGES ON * . * TO 'iobroker'@'%';
FLUSH PRIVILEGES;
In /etc/mysql
my.cnf: bind auf ip-Adresse umstellen (dann klappt es auch mit den Nachbarn)

Achtung: iobroker ist so ein "admin". Bei Bedarf weniger Rechte einrichten. `
-
x-Y Achsen, am Beispiel von drei Werten (konkret: 3 * Rollo Level)
ok, das mit der rechten Levelanzeige bekommt man ja mit gleichen MIN/MAX-Werten und "nichts" f
ü
r die Y-Achse des 2. und 3. Werten, "rechts" f
ü
r den 1. Wert.Konkret alle Rollos MIN=0 MAX=100. Dann werden alle Rollo-Level korrekt zwischen 0% und 100% angezeigt.
Dazu habe ich weitere Einstellungen Art=Mittel Chart=Schritte, und unter Zeit-Aggregation=Anzahl,Anzahl=0, null ignorieren:ja verwendet.
Nun das Problem:
die Zeit-Achse (also die X-Achse) ist f
ü
r jedes Rollo unterschiedlich!Einstellung: RELATIV - 3 Stunden
Trotzdem ist der rechteste angezeigte Punkt die letzte
Ä
nderung des jeweiligen Rollos. Also sind die Kurven der Rollos zeitlich (rechts-links) verschoben.Es kann ein fr
ü
herer Wert rechts von einem sp
ä
teren Wert angezeigt werden. Deutlich wird die mit "unten farbig" bei X-Achse bei allen Datenpunkten.Konkret im Bild: das rote Rollo war von 13:05-13:06 auf 65%, das gr
ü
ne Rollo aber von 14:23-14:24 bei 85%, also komplett sp
ä
ter, nichts
ü
berlappend!Bei "statik" scheint die Zeitachse zwar f
ü
r alle Rollo-Level gleich zu sein, aber mir ist keine Start/Stop Zeit ausgewertet worden. Hier macht eineabsolute Zeitangabe (etwa yy.mm.dd HH:MM:SS) keinen Sinn, da die URL ja als bookmark verwendet werden kann.
Kann jemand was zu den "statik" Start/Stop Zeiten sagen? Oder zu der Aggregation "Anzahl/Sekunden"? zu ""null ignorieren"?
Oder wie es m
ö
glich ist, zeitrichtig mehrere Werte
ü
bereinander anzuzeigen?Danke! Und guten Rutsch
Harvey
964_bild_zeit.png -
Oder wie es m
ö
glich ist, zeitrichtig mehrere Werte
ü
bereinander anzuzeigen? ` Das w
ü
sste ich auch gern! :roll:Hat das was mit dem Offste zu tun? Den kann ich aber nur pi mal Daumen anpassen.
Gru
ß
Pix
-
Hallo,
Nur bei einer Axe die Werte ausw
ä
hlen, alle anderen auf keine oder nichts stehen lassen.

Das gleiche gilt f
ü
r die y-Achse. Wie man sieht sind hier zwei unterschiedliche Axen verwendet worden.Wichtig ist dabei, dass immer Bereiche vorgegeben werden, bei Temperatur z.B. Zwischen 10 und 40
und bei allen Ventilen zwischen 0 und 100
-
Hi,
das mit der X-Achse ist leider nicht so einfach.
Wenn ich also auf der X-Achse die Zeiten f
ü
r drei Messpunkte anzeige sehe ichdrei Linien, die Zeitlich NICHT
ü
bereinander stehen, die unterschiedlichen Zeiten werdenangezeigt, aber eben nicht zeitlich synchron, sondern verschoben. Die verschobenen Zeiten
werden f
ü
r jede Linie angezeigt.W
ä
hle ich nun nur f
ü
r eine Linie eine einzige Zeitanzeige (X-Achse) und f
ü
r alle anderen "nichts",dann wird auch nur genau eine Zeit angezeigt. Die Linien sind aber EXAKT so wie vorher,
also zeitlich NICHT synchron.
Das ganze f
ä
llt nicht so auf, wenn der angezeigte Zeitraum recht gro
ß
ist und die Messpunkteh
ä
ufig kommen. Also eine Anzeige diverser Temperaturen
ü
ber ein paar Tage ist nahezurichtig, aber eben nur zuf
ä
llig.Bei Anzeigen - bei Rollos oder Ist-Temperaturen gemeinsam mit Soll-Temperaturen, die sich nur selten
ä
ndern - passt das
ü
berhaupt nicht zusammen.Im Bild zeigen die drei schwarzen Pfeile auf Ist-Temperaturen, also alle rund 3 Minuten ein Datenpunkt und
damit recht synchron.
Der rote Pfeil zeigt auf die Soll-Temperatur und hat v
ö
llig andere Zeitskala. Damit ist es komplett unm
ö
glich,etwa die
Ä
ndernung der Vorlauf-Ist-Temperatur mit dem
Ü
ber-/Unterschreiten des Soll-Temperatur unddamit dem Ende/Beginn des Einschalten der Heizung zeitlich zu vergleichen.
Ä
hnlich sieht das Bild bei Rollos aus, f
ü
r jede einzelne Linie ist der letzte Datenpunkt an der rechten Grafikseite,egal ob ein einzelnes Rollo etwa drei Stunden sp
ä
ter geschaltet wurde, trotzdem alles senkrecht
ü
bereinander,aber halt zeitlich komplett asynchron.
Gerne w
ü
rde ich das so sehen, das der rechte Rand der Grafik etwa "jetzt" entspricht oder einer einstellbaren Zeit,aber bitte dann f
ü
r ALLE Linien Anfangszeitpunkt und Endzeitpunkt identisch. Ganz besonders gerne noch, wennTyp "Linie" dann mit dem letzten echten Messpunkt aufh
ö
rt, der Typ "Schritte" aber den letzten Punkt bis an jedebeliebige Endezeit waagerecht heranzieht. Denn eine Temperatur ist ja quasi in st
ä
ndiger
Ä
nderung, ein Rollo, wasauf eine Position bewegt wurde, verbleibt ja dort und der Punkt ist ja auch g
ü
ltig bis zur n
ä
chsten
Ä
nderung.nur so ein Wunschgedanke
…
.cu
Harvey
964_bild_2.png -
Das problem ist dabei, wenn der letzte Wert ist nie bei allen gleichen Datenpunkten gleich.
Daf
ü
r wird vom History-Adapter ein Null-Wert geliefert.Bei ignoreNull wird dieser aber ignoriert und flot passt die Skala an.
F
ü
r den letzten Wert muss man also ignorenull deaktivieren.Anbei ein Quickfix:
`function readOneChart(id, instance, index, callback) { var option = getStartStop(index); option.instance = instance; socket.emit('getHistory', id, option, function (err, res, step) { if (!err && res) { //for (var i = 0, len = res.length; i < len; i++) { if (config.longestStep < step) { config.longestStep = step; } for (var i = 0; i < res.length; i++) { //quickfix if (res[i].val != null || !config.ignoreNull) { if (res[i].val != null || !config.ignoreNull || i == res.length-1 || i == 0) { // Convert boolean values to numbers if (res[i].val === 'true' || res[i].val === true) { res[i].val = 1; } else if (res[i].val === 'false' || res[i].val === false) { res[i].val = 0; } if (typeof res[i].val == 'string') res[i].val = parseFloat(res[i].val); seriesData[index].push([res[i].ts * 1000, res[i].val]); } } }` anzupassen in /opt/iobroker/node_modules/iobroker.flot/www/index.html Anschließend iobroker upload flot[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i] -
`function readOneChart(id, instance, index, callback) { var option = getStartStop(index); option.instance = instance; socket.emit('getHistory', id, option, function (err, res, step) { if (!err && res) { //for (var i = 0, len = res.length; i < len; i++) { if (config.longestStep < step) { config.longestStep = step; } var lval = null; //qf for (var i = 0; i < res.length; i++) { //qf if (res[i].val != null || !config.ignoreNull) { // Convert boolean values to numbers if (res[i].val === 'true' || res[i].val === true) { res[i].val = 1; } else if (res[i].val === 'false' || res[i].val === false) { res[i].val = 0; } if (typeof res[i].val == 'string') res[i].val = parseFloat(res[i].val); //qf -- start if (res[i].val == null) { if (config.ignoreNull || i == res.length-1) { res[i].val=lval; } } else { lval=res[i].val; } if (res[i].val != null || i == 0 || i == res.length-1) { //qf -- ende seriesData[index].push([res[i].ts * 1000, res[i].val]); } } } // Add first tick with required range // todo muss das sein ?? // seriesData[index] = fillRange(seriesData[index]); if (callback) callback(id, index); }); }` Bei dieser Variante werden nie Null-Werte geschrieben. Wenn man ignore-Null aktiviert werden null-Werte durch den letzten bekannten Wert ersetz. Sieht ab und an besser aus.[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i] -
Sch
ö
n, warten wir mal ab, wenn bluefox wieder da ist.Bin mir nicht ganz sicher, ob es die richtige und einzige Stelle ist.
Sinnvoller w
ä
re es am Anfang ein paar Stunden zu weit zu lesen und dann den den an der y-Achse am n
ä
chsten Punkt als Start zu nehmen. Am Ende genauso, wenn man nicht grade relative Werte anzeigt.W
ä
ren halt immer pro Linie 2 DB Zugriffe mehr. -
Bei "statik" scheint die Zeitachse zwar f
ü
r alle Rollo-Level gleich zu sein, aber mir ist keine Start/Stop Zeit ausgewertet worden. Hier macht eineabsolute Zeitangabe (etwa yy.mm.dd HH:MM:SS) keinen Sinn, da die URL ja als bookmark verwendet werden kann.
Kann jemand was zu den "statik" Start/Stop Zeiten sagen? Oder zu der Aggregation "Anzahl/Sekunden"? zu ""null ignorieren"?
Harvey `
diese Frage stellte ich anderswo auch schon, aber offenbar weis niemand Bescheid.
Was muss bei statik Start/Stop angegeben werden?
Ich hab alles M
ö
gliche ausprobiert. In der URL wird timeArt von relative auf static ver
ä
ndert, allerdings bleiben die Parameter &relativeEnd=now&range=120 bestehen, anschliessend folgen start= und end= , die Grafik aber
ä
ndert sich nicht. -
Hallo Starfish,
vlt. verstehe ich das Problem ja nicht:

http://192.168.1.12:8082/flot/index.htm
…
D=lineplot&timeArt=static&relativeEnd=now&range=360&live=true&start=2015-11-01&end=2015-12-31&aggregateType=count&aggregateSpan=300&legend=nw&hoverDetail=true&timeFormat=%25H%3A%25M+%25d.%25m&smoothing=0&afterComma=1&useComma=trueBei mir wird das sauber
ü
bernommen. Es werden die Parameter start und end hinzugef
ü
gt.Diese kannst du z.B. in VIS
ü
ber eine Funktion, Kalender etc. f
ü
llen lassen.In der URL ersetzt du das Datum durch die entsprechenden Variablen in {}.
Siehe dazu z.B. meinen Beitrag um beliebig viele Diagramme anzeigen zu k
ö
nnen.Aggregation = Wieviele Werte sollen benutz werden um das Diagramm zu zeichnen.
Sekunden = 300 -> alle 300 Sekunden ein St
ü
tzpunktAnzahl = 300 -> 300 St
ü
tzpunkte f
ü
r das Gesamte Diagramm.Ich w
ü
rde hier Anzahl empfehlen und ca. Pixelbreite des Diagramms / 2 f
ü
r St
ü
tzpunkte.Her die gleiche Grafik von oben mit nur 30 St
ü
tzstellen:

Zum Tragen kommt das, wenn du z.B. ein Jahr anzeigen l
ä
ß
t und dadurch deutlich mehr Datenpunkte hast als zur Anzeige notwendig/m
ö
glich."null" ignorieren:
Wenn du z.B. ein Diagramm von 10:00 - 20:00 anzeigen l
ä
ß
t und flot daf
ü
r eine bestimmte Anzahl Datenpunkteabfragt, wird mit "null" geantwortet, wenn es zum Zeitpunkt keinen Messwert gibt.
Deine Heizung stellt sich z.B. um 11:00 auf 22
°
um 17:00 auf 23
°
und um 18:00 auf 22.5
°
Dann erh
ä
lst du ohne "null" ignorieren die Datenpunkte:10:00 null
11:00 22
°
12:00 null
13:00 null
14:00 null
15:00 null
16:00 null
17:00 23
°
18:00 22.5
°
19:00 null
20:00 null
Deine Linie wird dann bei jeden "null"-Datenpunkt unterbrochen.
Bei "null" ignorieren Werte er nur noch die Punkte ohne null aus und du erh
ä
lst eine durchgehende Linie. -
hallo sissiwup,
Dein screenshot zeigt mir die Darstellung, wie ich sie eigentlich erwarte. Bei statik, start 03.01.2016 ende 04.01.2016 sollten eigentlich genau die 2 Tage gezeichnet werden. Bei mir kommt irgendetwas undefinierbares: start 04.01.2016 und ende jetzt und zwar unabh
ä
ngig, was ich bei start und ende eintrage.die url wird im relevanten Abschnitt so generiert: &timeArt=static&relativeEnd=now&range=10080&start=03.01.2016&end=04.01.2016&
…
.Das sieht doch etwas anders aus, als bei Deinem Beispiel.
edit:
jetzt habe ich das Format Deines roten Abschnitts in meine URL eingesetzt - und siehe da: die Anzeige stimmt.
Weshalb stellt der Flot-adapter hier die URL falsch bzw. anders zusammen?
edit 2:
habs selbst rausgefunden: Browser-Problem. Mit Chrome ist der Spuk vorbei. Kaum zu glauben, dass 2 aktuelle Browser in der jeweils neusten Version solche Unterschiede bewirken. FF ist in diesem Kontext nicht zu gebrauchen. In Chrome sieht das Eingabefeld so aus:

in FF fehlen die up/dwn-Pfeile/dropdown Kalenderauswahl und X - eine Translation ins ISO-Format findet nicht statt. -
Hi,
vielen Dank.
Ich kann die Funktion mit dem Quickfix als etwa ok nennem, das klappt schon ganz gut.
Da "Statik" wohl nicht mit Firefox geht - schade, aber aktuell halt nicht zu
ä
ndern. Merkw
ü
rdig schon!Die Grafiken mit vielen Datenpunkten sehen schon sehr gut aus.
Etwas problematisher sind die mit wenigen Daten, und dann noch fehlerhaft: die Rolos

gehen Morgens hoch und abends runter, eigentlich einfach, ich erwarte eine Linie mit
senkrechten und waagerechten Linien. Das klappt nur inder Einstellung "Chart Type=Schritte", also
eine Fl
ä
che kann ich nicht anzeigen.Und noch schlimmer: W
ä
hrend das Rollo in Wirklichkeit zwischen 100% und 17% hin- und herwandertgr
ä
tscht da rega mit 0.17% rein, da bei rpc der Rollanden zwischen 0-100%, bei rega aber zwischen0-1 l
ä
uft. So die Tabelle:
…
17 true hm-rpc.0 2016-01-05 17:16:21
100 true hm-rpc.0 2016-01-05 07:00:24
17 true hm-rpc.0 2016-01-05 07:00:02
0.17 true hm-rega.0 2016-01-04 22:26:10
17 true hm-rpc.0 2016-01-04 17:15:22
100 true hm-rpc.0 2016-01-04 07:00:24
17 true hm-rpc.0 2016-01-04 07:00:02
Richtig ist (von unten gelesen), dass um 07:00:02 Das Rollo von 17% auf 100% hochgeht, und um 17:15 wieder auf 17% runter.
Die fehlerhaften rega Eintr
ä
ge zerst
ö
ren die Grafik komplett, da von 17% anstatt auf 100% sogar nach unten auf rega-wert "0.17"die Linie gezeichnet wird.
Und das kann nichts mit firefox zu tun haben

Also irgendwie m
ü
ssten bei rega-basierter History nur rega-Werte, bei rpc-History nur rpc-Werte ber
ü
cksichtigt werden?!? -
zu static/start/stop sehe ich folgendes:
Es stehen immer alle werte in der URL drin,
z.B. timeArt=relative&relativeEnd=now&range=4320&start=01.01.2016&end=03.01.2016
dabei geh
ö
ren zur "timeArt=static"die Werte "start=01.01.2016" und "end=03.01.2016"
und zu "timeArt=relative"
die Werte "relativeEnd=now" und "range=4320". Die range ist dabei in Minuten, also im Beispiel
3 Tage = 2 *24 * 60 = 4320 Minuten.
Die Flot/index.html wertet nur die richtigen Werte abh
ä
ngig von "timeArt=static/relativ" aus und ignioriert die anderen.if (config.timeArt == 'static') { start = Math.round(new Date(config.start).setHours(0) / 1000) - (config.lines[index].offset || 0); end = Math.round(new Date(config.end).setHours(24) / 1000) - (config.lines[index].offset || 0) } else { if (config.relativeEnd == 'now') { end = Math.round(new Date() / 1000) - (config.lines[index].offset || 0); start = end - (config.range * 60); ... } }Problematisch wird es nun wohl, da einige Systeme in Sekunden rechnen, andere in Millisekunden.
Dadurch ist der Aufruf````
Date(config.start).setHours(0) / 1000dem einen oder anderen einfach Unsinn. Wenn mir jemand hilft, wie man in dieser index.html den Wert z.B. der Variable "end= …" am einfachsten etwa in iobroker-2016...log schreiben kann gebe ich gerne mehr Unterstützung. Eventuell kann man ja den CPU-Typ? oder die Zeit "now()" abfragen und erkennem, ob man auf einem 1Sekunden oder 1000Millisekunden System arbeitet. edit: Unfug, das Zeitformat ist bei mir "2016-01-01" und nicht "01.01.2016" :-((( Ok, zu den Zeiten habe ich was rausgefunden: wenn ich "static" eingebe und start="2016-01-01" end="2016-01-06" bekomme ich richtig die Grafik von start-end. Ist also abhängig vom Datumsformat? Dabei ist bei "start" der Tagesanfang = 00:00:00 Uhr gemeint, bei "end" das Tagesende des angegebenen Tages, also ****00:00:00: des folgendes Tages**** Klappt auch mit Firefox :-)))) Hinweis zum debuggen: flot mit einem Wert, dann in der Logdatei "socketio.0 sendTo "getHistory"" suchen, da sind die ausgerechneten "start/end" Zeiten in unixtime enthalten. Kleinere Anzeige als 24 Stunden geht nicht, da in der Funktion (siehe code Schnippsel) bei "start" die 0\. Stunde, bei "end" die 24\. Stunde verwendet wird. gerade so beim Testen: Der Datumswechsel, also die Linie in flot mit dem Datum scheint die 01:00 Stunde zu sein. Bei "2 Tage" ist die Spalte von "21:00:00" bis "05.01.2016" genausobreit wie von "05.01.2016" bis "05:00:00" -
Hi,
es bleibt alles schwierig

-
Unterschiede rpc und rega bei Rollos (und Dimmer?) (0-100 <-> 0.00 - 1.00) sind nervig, da damit kein informativer Graph gezeichnet werden kann
-
Memory steigt steil an und bringt iobroker nach wenigen Stunden zum Abbruch (bananapi 1GB, ~40 Messpunkte - nur
Ä
nderung, mysql) -
rega-Werte werden nur manchmal in die mysql-db geschrieben,
-
wenn sql.0 neu gestartet.
-
wenn kein Haken bei "nur
Ä
nderung" dann alle 30 Sekunden identische Werte (will ich nicht, da nur selten
Ä
nderungen, aber eigentlich ok) -
garnicht, wenn Haken gesetzt. Werte werden aber von rega geholt, ich sehe neue, ge
ä
nderte Werte bei der "Zust
ä
nde" Anzeige.
Ich habe alles neu (sql-history neu) aufgesetzt, nur mysql-db aktiv, aber keine Verbesserung.
So sieht das Log aus, es geht um diese Werte:
hm-rega.0 2016-01-12 21:19:11 debug hm-rega.0 stateChange hm-rega.0.8023 {"val":-41.5,"ack":true,"ts":1452629952,"q":0,"from":"system.adapter.hm-rega.0","lc":1452629700}
hm-rega.0 2016-01-12 21:19:11 debug inMem message hm-rega.0.* hm-rega.0.8023
Aber ich sehe keinerlei Inserts into mysql-db:
sql.0 2016-01-12 21:23:12 debug inMem message * hm-rega.0.8023
aber andere Inserts gehen:
sql.0 2016-01-12 21:25:09 debug sql.0 INSERT INTO iobroker.ts_number (id, ts, val, ack, _from, q) VALUES(17, 1452630300000, 45.12, 1, 4, 0);
(id=17 ist
ü
brigens system.adapter.sql.0.memRss)2016-01-12 21:21:58.821 - debug: sql.0 INSERT INTO iobroker.ts_number (id, ts, val, ack, _from, q) VALUES(24, 1452630109000, 20.1, 1, 1, 0);
2016-01-12 21:31:50.528 - debug: sql.0 INSERT INTO iobroker.ts_number (id, ts, val, ack, _from, q) VALUES(24, 1452630701000, 20.2, 1, 1, 0);
(die id=24 ist die actual_temperature eines Raumthermostaten, dessen Temperatur sich ge
ä
ndert hat. Hier ist also der nicht gesetzte Haken "nur
Ä
nderungen"korrekt ber
ü
cksichtigt worden)Und insert geht auch mit ID=10, das ist der rega.8023 Wert von oben - dies geht aber NUR ohne Haken "nur bei
Ä
nderung", und dann alle 30 Sekunden:2016-01-12 21:29:22.091 - debug: sql.0 INSERT INTO iobroker.ts_number (id, ts, val, ack, _from, q) VALUES(10, 1452630552000, -41.5, 1, 3, 0);
Also fast so, als w
ä
re die Bedeutung von "Aktiviert" und "nur
Ä
nderungen aufzeichnen" von der Bedeutung beides "Aktivieren AN/AUS", aber nur bei rega ????? -
-
hi @ bluefox,
ich glaub, ich habe was in sql/main.js gefunden, und zwar in der Zeile
if (sqlDPs[id].state && settings.changesOnly && (state.ts !== state.lc)) return;Kurz der Hintergrund:
ein HM-Programm berechnet alle 15 Minuten den Sonnenstand - bekanntes Script.
Nur
Ä
nderungen sollen
ü
bernommen werden.Allerdings ist es so, dass die letzte
Ä
nderung (state.lc) der Zeitpunkt des Programmablaufes ist, der Timestamp /state.ts) aber der Zeitpunkt des Abholens der Daten.Diese sind aber nicht exakt gleich, also "returned" die Codezeile immer.
308.2 true hm-rega.0 2016-01-12 22:28:13 2016-01-12 22:15:00 ... 308.2 true hm-rega.0 2016-01-12 22:29:43 2016-01-12 22:15:00Das ist die Wiederholung des "alten" Wertes, also keine Eintragungen in die Datenbank - ok.
313.1 true hm-rega.0 2016-01-12 22:30:13 2016-01-12 22:30:00Denn dies ist der erste Eintrag mit dem neuen Wert, also h
ä
tte eigentlich dieser Wert in die Datenbank geschrieben werden m
ü
ssen!Besser ist wohl als Erkennung, dass die Zeit "ann
ä
hernd" gleich ist. Da standardm
ä
ß
ig rega alle 30 Sekunden geholt wird sollteein Abstand <= 30 Sekunden (genau der Wert des zeitlichen Abstands ders rega-Pollings) wohl als "identisch" gelten, also der neue Wert in die Datenbank eingetragen werden.
Ohne Entwicklungslandschaft kenne ich den state.ts/state.lc Wert nicht. Ist es die unixtime k
ö
nnen beide /30 geteilt werden, dann gilt wieder !==.Oder Differenz bilden und bei "time_diff(state.ts - state.lc)" < "rega_polling_time_sec" den sql-insert ausl
ö
sen.cu
-
Noch was Doku zu dem rpc <-> rega Werten.
2016-01-12 22:57:24.599 - debug: sql.0 INSERT INTO iobroker.ts_number (id, ts, val, ack, _from, q) VALUES(29, 1452635835000, 10, 1, 1, 0);
2016-01-12 22:59:19.428 - debug: sql.0 INSERT INTO iobroker.ts_number (id, ts, val, ack, _from, q) VALUES(29, 1452635946000, 0.1, 1, 3, 0);
2016-01-12 23:00:16.704 - debug: sql.0 INSERT INTO iobroker.ts_number (id, ts, val, ack, _from, q) VALUES(29, 1452636007000, 7.000000000000001, 1, 1, 0);
die erste Zeile entsteht, wenn ich das Rollo manuell bewege.
Die zweite Zeile ist nach der Restart des rega-Adapters, die dritte Zeile wieder eine manuelle Bewegung.
Daher die "10" aus rpc (3. Spalte=1=rpc), die "0.1" aus rega (3. Spalte=3=rega), die "7.00000000000001" wieder aus rpc (3.Spalte=1=rpc).
Der "doppelte" Eintrag (erste und zweite Zeile) sind durchaus ein "feature", kommen ja von unterschiedlichen Quellen.
Aber der unterschiedliche Wertebereich der beiden Quellen muss zwingend normalisiert werden, damit die Werte dargestellt werden k
ö
nnen.cu
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