Probleme mit Chart und Shutter

Begonnen von accessburn, 27 Juni 2017, 10:26:22

Vorheriges Thema - Nächstes Thema

accessburn

<div class="normal fullsize" data-type="chart" data-cfg-device="1"
data-logdevice='["FileLog_LaCrosse_1B","FileLog_MAX_1339d8"]'

data-columnspec='["4:LaCrosse_1B.temperature","FileLog_MAX_1339d8:state:0::$val=($val=~\\x22opened\\x22?1:0)"]'
data-yticks="[[0,"closed"],[1,"opened"]]"

data-style='["ftui l1dot","ftui l4fill"]' data-ptype='["quadraticSmooth"]' data-uaxis='["primary"]'
data-legend='["Wohnzimmer","Fenster"]' data-yunit="&deg;C" data-minvalue="-10" data-maxvalue="45"
data-daysago_start="0" data-daysago_end="-1" data-crosshair="true" data-xticks="auto"
data-showlegend="false" data-nofulldays="true" data-cursorgroup="1" data-scrollgroup="1"></div>


Kann mal bitte jemand drüber schauen?
Die Temperatur vom LaCrosse geht Problemlos, aber als ich den Fenstershutter hinzugefügt habe passierte nicht viel. Ich denke es wird an columnspec und yticks liegen.

Das schreibt der Shutter ins Log:
Zitat2017-06-27_10:13:07 MAX_1339d8 battery: ok
2017-06-27_10:13:07 MAX_1339d8 onoff: 1
2017-06-27_10:13:07 MAX_1339d8 opened
2017-06-27_10:13:07 MAX_1339d8 RSSI: -40


Grüße aus Ffm,
Toby
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

eki

Ändere mal die Zeile

data-yticks="[[0,"closed"],[1,"opened"]]"

nach

data-yticks='[[0,"closed"],[1,"opened"]]'

(mit verschachtelten " kommt das System nicht klar)

accessburn

Sieht lustig aus jetzt :-)

Siehe Anhang:
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

eki

na ja, Du machst Die Temperatur und den Fensterstatus auf die gleiche Achse. Das bedeutet, dass der Fensterstatus, der ja zwischen 0 und 1 liegt, nur einen geringen Platz einnimmt (die Ganze Achse soll ja laut Deinen Angaben von -10 bis +45 anzeigen.
Wenn Du statt:

data-uaxis='["primary"]'


data-uaxis='["primary","secondary"]'


setzt, dann sollte es besser aussehen.

Und wo wir schon dabei sind, macht meines Erachtens "quadraticSmooth" für die Fenster Status Darstellung auch nicht so richtig viel Sinn, da würde ich mal "steps" vorschlagen. Außerdem noch data-minvalue_sec und data-maxvalue_sec auf 0 und 1

accessburn

Oha,
komplizierter als ich dachte.
Im Anhang deine Änderungsvorschläge, die ich hoffentlich richtig umgesetzt habe. Sieht schlecht aus zumal nun auch der Cursor keine Temperatur mehr anzeigt.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

eki

Bitte poste Deine Definition, sonst kann ich da wenig beitragen.

accessburn

Sorry, kopiert und vergessen einzufügen  ;D

<div class="normal fullsize" data-type="chart" data-cfg-device="1"
data-logdevice='["FileLog_LaCrosse_1B","FileLog_MAX_1339d8"]'
data-columnspec='["4:LaCrosse_1B.temperature","FileLog_MAX_1339d8:state:0::$val=($val=~\\x22opened\\x22?1:0)"]'
data-style='["ftui l3fill","ftui l4fill"]' data-ptype='["steps"]' data-uaxis='["primary","secondary"]'
data-legend='["Wohnzimmer","Fenster"]' data-yunit="&deg;C" data-minvalue="-10" data-maxvalue="45"
data-yticks='[[0,"closed"],[1,"opened"]]' data-daysago_start="0" data-daysago_end="-1"
data-crosshair="true" data-xticks="auto" data-showlegend="false" data-nofulldays="true" data-cursorgroup="1" data-scrollgroup="1"
data-minvalue_sec="0" data-maxvalue_sec="1"></div>
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

eki

nachdem Du die Geschichte mit dem Fensterstatus auf die sekundäre Achse verlegt hast, musst Du auch das Mapping für die sekundäre Achse festlegen also statt:

data-yticks='[[0,"closed"],[1,"opened"]]'


data-yticks_sec='[[0,"closed"],[1,"opened"]]'

accessburn

ach du großer Gott was ein Aufwand :-)

Temperatur ist wieder wie vorher, jedoch fehlt nach wie vor das Fenster selbst  :'(
Bei 10:15 Uhr etwa war die Tür offen, jedoch sieht man davon nix im chart.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

eki

Tja, mühsam ernährt sich das Eichhörnchen. Aber die Flexibilität hat halt auch ihren Preis (was nicht heißen soll, dass ich das Ganze nicht hätte intuitiver machen könnnen ;)).

Ich habe mir Deine Spec und den Output noch mal angeschaut. Da ist noch was in der Columnspec falsch (sieh auch das Wiki zu FHEM Plots, die Columnspec hat prinzipiell die gleiche Syntax wie die normalen FHEM Plots). Das Beispiel im Chart Wiki bezieht sich auf das DBLog und da ist die Syntax anders als bei File Logs.

Wenn Du folgendes machst:

data-columnspec='["4:LaCrosse_1B.temperature","4:MAX_1339d8.onoff:0::$val=($val=~\\x22opened\\x22?1:0)"]'

könnte es klappen.

accessburn

Danke eki fürs ansehen. Das macht durchaus Sinn was du mir geschickt hast. Ich hab die "4:" vergessen und mich auf das Log direkt bezogen und nicht auf das Fenster selbst. Dennoch bleibt das chart frei von Fensterkontakt :-)
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

eki

Ja, ich bin irgendwie nicht richtig bei der Sache (kommt davon wenn man zu viel gleichzeitigt macht).

Wenn das Filter so gesetzt ist wie ich es vorgeschlagen habe, dann werden ja aus dem gesamten Log die Zeilen herausgefiltert welche "MAX_1339d8 onoff" enthalten und dann die 4. Spalte (Trenner ist " ") als Plotwert genommen. Dort steht dann ja schon eine 1 oder 0 (nehme ich jedenfalls nach Deinem Beispiel an). Du musst also das Umrechnen in der Columnspec weglassen (in der Anzeige wird das dann durch data-yticks_sec auf open und closed gemappt).

data-columnspec='["4:LaCrosse_1B.temperature","4:MAX_1339d8.onoff:0"]'

accessburn

So ganz verstehe ich das mit dem onoff nicht. das "closed", "opened" oder "closed (rf-error)" steht in der Zeile unter onoff.
Die 1 oder 0 hinter onoff ist nicht der Fensterstatus.

Sollte ich falsch liegen, ignorier mich einfach :D
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

eki

Ich kenne leider die Max logs nicht. Meine Annahme war, dass mit jeder Statusänderung mehrere Einträge ins Log kommen und dass die Zeile mit inoffiziell den Status als Zahl darstellt und die Zeile mit opened eben den Status im Klartext. Für die Plots könntest Du in dem Fall beide Varianten nehmen. Entweder Du machst aus dem Klartext durch die komplizierte Anweisung im Columnspec erst Zahlen, oder Du nimmst die Zahlen direkt (so wie ich das vorgeschlagen habe). Wenn Du die andere Variante nehmen willst, musst Du aber im Filterte der Columnspec das .onoff weglassen und eine 3 an den Anfang setzen (der Werr steht in den Zeilen dann ja an der 3. Stelle)

accessburn

Ja leider steht in der 3 der eigentliche Status. Das onoff ist (so weit ich weiß) nur der Zustand des Schlafmodus in den das Ding fällt.
Diverse Spielereien, genau auf diese Variante halfen leider nichts.

Aktuell ist das spec so:
Zitat3:MAX_1339d8:0::$val=($val=~\\x22opened\\x22?1:0)
3, da opened in der dritten Zeile steht und das ".onoff" raus.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole