grundlegende fragen zur hardware

Begonnen von the ratman, 08 Januar 2016, 10:25:05

Vorheriges Thema - Nächstes Thema

joshi04

Hab gerade noch ne Idee, woher der Fehler mit dem logproxy kommen könnte. Hast Du vielleicht den Namen Deines logproxies in Deinen gplot-Files nicht geändert?

Zum weiteren Debuggen:

  • Erstmal schauen, dass das Ding ohne Fehlermeldungen läuft, wenn kein Logproxy definiert ist und keine zusätzlichen Zeilen in den gplot Files. Außerdem sollten hier auch schon Daten im Chart angezeigt werden.
  • Dann die logproxy Definition dazu nehmen und nur diese -> sollte auch ohne Fehlermeldungen laufen.
  • Dann mal vorsichtig eine Zeile in einem gplot-file eintragen und schauen, ob das läuft.
Der Wikiartikel und die commandref zum Logproxy sind eigentlich ziemlich gut, so dass selbst ich das ohne Hilfe hinbekommen habe.

Ich sag immer nur, eins nach dem Anderen  ;)
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

the ratman

#31
hui, da hat sich was getan - thx wieder mal
aaaalso:

Zitat"db_create_mysql.sql"
wir meinen eh das selbe *g*

ZitatAußer Dein Pi heißt "db" ;). Ersetzt das mal durch localhost ...
hatte ich schon - drum das durchgestrichene zeugs in meinem beitrag *G*

Zitat... db-pw direkt an MySql ...
von seiten mysql sollte alles rennen - das hab ich halbwegs im griff .. phpmyadmin, oder wenn man nen grafischen desktop will, die mysqlworkbench sind schon sehr angenehm.

ZitatSehe jetzt gerade erst Deinen Nachtrag... (Eintrag heute mittag schon gelesen) Mist, alles umsonst geschrieben und das war ein äußerst kurzer Moment des Glücks für den gefundenen Fehler :'( Dafür war meine Einschätzung Deiner Fähigkeiten richtig.  ;D
du sollst ja auch deinen spaß haben - so leide ich ned alleine *bg*.

logproxy hat nun ne # vorgestellt.

Zitatob die Datenbank nur ohne weitere Fehlermeldungen connected wird, sowie Daten in die current und history tabelle eingetragen werden.
gut, muß ich abwarten und werd dann
--> HIER <--
nachtragen *fg*

ZitatFHEM und das System sind up-to-date und einmal frisch gestartet, gell?
up2date und ich hab schon harte haut am tippfinger für shudown +bla blubb blaa

ZitatDas riecht nach nem Wackelkontakt und hört sich nicht nach FHEM-spezifisch an. Dann sollte ein Ping auch nicht gehen. Da musst Du mal schauen, warum die Netzwerkverbindung nicht läuft.
shit, du wirst recht haben - ich hab das alles derzeit auf nem holzbrett angenagelt, bis ich alles zusammen hab und weiß, wo alles hin kommt. unseren katzen gfallt das kabelgewirr *g*.
nachtrag: wär zu schön gwesen *g* nö, mein netz is da, und auch wenn ich den hmlan im netz seh, sieht ihn fhem scheints nicht. teufel! das ging aber am anfang, dass weiß ich genau!
zur sicherheit: neues netzwerkkabel, und den ganzen aufruf in fhem neu geschrieben - 0 nutzen das hat ...

ZitatWichtig, aes in der Windows-Konfigurationssoftware muss abgeschaltet sein
jo, hab ich schon im blog gelesen und mich brav dran gehalten.

ZitatHab gerade noch ne Idee, woher der Fehler mit dem logproxy kommen könnte. Hast Du vielleicht den Namen Deines logproxies in Deinen gplot-Files nicht geändert?
hmm, würde das so passen? wenns passt - so hatte ichs bei allen zeilen umbgebaut schon (eine hatte ich übersehen - mal gucken ...).
#lp DbLog:DbLog,extend=60*60*24,predict=60*60*24*14:<SPEC1>:co2:::
→do↑p!dnʇs↓shit←

joshi04

Mal schauen, ob ich schnell genug bin, bevor der nächste Nachtrag kommt *ggg*

Wenn die DB-Verindung läuft, gibt es bei Restart nur 3 Einträge im Log. Dazu später nochmal was, muss mich ja ranhalten von den nächsten Nachtrag  ;)

Thema wunde Finger:
Gib Deinem WEB device mal folgendes Attribut mit
menuEntries restart,/fhem/www/restart/restart.html,update,cmd=update,update check,cmd=update+check,reread config,cmd=rereadcfg fhem.cfg,clear log,cmd=dellog

Die dazu passende Datei ist hier beschrieben.

Bei Netzwerkproblemen kann ich Dir aus der Ferne wenig helfen. Viel gibt es da ja nicht. Ich kann mich aber noch gut daran erinnern, dass ich beinahe mal nen kompletten Server neu aufgesetzt habe, nur weil das Druckerkabel (damals noch Parallel) nicht richtig dran hing... ::)
Vielleicht nur, damit es sich so anfühlt, man würde was sinnvolles machen, bügel noch nochmal die Firmware vom HMLan neu...
Du musst Dir immer denken, die Alternative wäre gewesen, das Ding für den HMUSB zu kompilieren.

Zitat von: the ratman am 19 Januar 2016, 20:24:31
hmm, würde das so passen?
Nee, Deine DB heißt doch "logdb". Das muss doch mindestens auftauchen. Schau nochmal ins Wiki, glaub dann wirds klarer und ich spar wieder'n bissle Zeit vor dem nächsten Nachtrag... So, jetzt ist genug 8)
Hab ich was übersehen?

NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

joshi04

Ja, aber bei meinem eigenen Beitrag

Zitat von: joshi04 am 19 Januar 2016, 20:54:53
Dazu später nochmal was.

Es gab mal Beiträge, dass die Antwortzeit des SQL-Servers mit der Zeit länger werden würde, je länger die Verbindung besteht. Daher hieß es damals im Forum (ich finde die Quelle nicht mehr, aber definitiv nicht meine Lorbeeren) man könne das durch einen täglichen Reconnect umgehen:
define myDbLog_reopen at *17:00:00 set myDbLog reopen (oder wann auch immer)
Anpassung an Deine Namen ist obligatorisch.
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

the ratman

#34
shit! du warst schneller *G*

bin gerade auf der fehlersuche wegen hmlan gewesen ... es muß irgendwas beim updaten der hmlan wohl schief gegangen sein. ich hab das ding nochmal geflashed und jetzt hab ich auch wieder den connect offen.
mal schauen, wie lang das so bleibt ... HMLAN1 openedhalt mir die daumen!
fazit: ich weiß jetzt, dass 5 von 5 rumliegenden netzwerkkabel funzen. war sogar an der tanke, um mir batterien für meinen 15 jahre alten rj45-tester zu besorgen.

"wunde finger" ... was ähnliches hatte ich gestern schon gefunden - gab lustige fhem abstürze beim klicken. mal gucken, ob deines besser rennt.
mal gucken, ob ich die html und das js an die richtigen stellen gelegt hab und ned wieder irgend ne ip nicht angepasst hab ...
langsam krieg ich beim der erwähnung "fhem" immer nen stresspickel am linken hinterteil.

ZitatNee, Deine DB heißt doch "logdb".
ich gucke - das ist bis jetzt ne reine abschreibübung aufgrund fehlenden durchblicks.

ja, du hast was übersehen: du wolltest eig. bei mir vorbei kommen und alles zum laufen bringen - und vergiss die 10000 aktoren für die hmlan ned, die du mir zu schenken versprochen hast.
upps - ich weiß nu ned, ob ichs geträumt habe, oder ...

übrigens ... hmlan is imme rno offen - ich schlaf heut besser!

thx für "define myDbLog_reopen at *17:00:00 set myDbLog reopen"
sihe "durckblick" weiter oben ... i denk, das fang ich alles nomal neu an.


ein nachtrag geht immer *g*

ad a) deine menüergänzungen sind super (nur log killen geht wohl ned wirklich)

ad b) nach meinen speilereien in den scripten schaut die fehlermeldung nun etwas anders aus:

2016.01.19 21:28:19 1: PERL WARNING: DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE 1=1 AND DEVICE  = 'DbLog' AND READING = 'DbLog,extend=60*60*24,predict=60*' at line 6 at ./FHEM/93_DbLog.pm line 1031.
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"currval1"} in concatenation (.) or string at (eval 62) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval1}ppm / min $data{min1}ppm / max $data{max1}ppm /// min $data{min2}dB / max $data{max2}dB / $data{currval2}dB" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"min1"} in concatenation (.) or string at (eval 62) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval1}ppm / min $data{min1}ppm / max $data{max1}ppm /// min $data{min2}dB / max $data{max2}dB / $data{currval2}dB" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"max1"} in concatenation (.) or string at (eval 62) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval1}ppm / min $data{min1}ppm / max $data{max1}ppm /// min $data{min2}dB / max $data{max2}dB / $data{currval2}dB" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"min2"} in concatenation (.) or string at (eval 62) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval1}ppm / min $data{min1}ppm / max $data{max1}ppm /// min $data{min2}dB / max $data{max2}dB / $data{currval2}dB" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"max2"} in concatenation (.) or string at (eval 62) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval1}ppm / min $data{min1}ppm / max $data{max1}ppm /// min $data{min2}dB / max $data{max2}dB / $data{currval2}dB" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"currval2"} in concatenation (.) or string at (eval 62) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval1}ppm / min $data{min1}ppm / max $data{max1}ppm /// min $data{min2}dB / max $data{max2}dB / $data{currval2}dB" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"currval2"} in concatenation (.) or string at (eval 64) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"min2"} in concatenation (.) or string at (eval 64) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"max2"} in concatenation (.) or string at (eval 64) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"min1"} in concatenation (.) or string at (eval 64) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"max1"} in concatenation (.) or string at (eval 64) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C" }
2016.01.19 21:28:19 1: PERL WARNING: Use of uninitialized value $data{"currval1"} in concatenation (.) or string at (eval 64) line 1.
2016.01.19 21:28:19 3: eval: { "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C" }
→do↑p!dnʇs↓shit←

joshi04

War mir doch so, dass das bei mir mit dem flashen geholfen hatte, wenn auch nicht wirklich nachvollziehbar. Egal, wenns hilft.

-> menuentries: hab bei mir den Code für das Leeren des Logs ersetzt und läuft out-of-the-box. Sehr cool die shortcuts (der Forumseintrag weist ins Wiki). cmdalias war an mir vorbeigegangen.

Hast Du eigentlich mittlerweile Einträge in Deiner DB? Und bekommst was angezeigt?

Den Rest lasse ich jetzt mal unkommentiert. ;) Oder hast Du nur "ich" und "du" verwechselt?

ps: phpmyadmin mag ich auch einfach weil ichs zu selten machen und den genauen Syntax zwischendrin immer vergesse.

Zum Nachtrag (hehe, hab ich gesehen!):
a) habe ich vorausgesehen, s.o.
b) Bring erstmal die Verbindung und das Logging sauber zum laufen (-> Beantworte mir mal die beiden o.g. Fragen) und kommentiere alle SVGs aus, bis das log sauber bleibt und Daten im Log landen.
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

the ratman

jo, hilft - bis jetzt auf jeden fall *g*
ich mags gar ned, wenn ich ned weiß, warum was geht oder ned ...

jo, den logkiller schau i mir später an, der hat 0 prio is aber schön für die zukunft

und ja, db füllt sich - bei der gschw. bin i froh, ne 32 gb sd im raspi zu haben ...
einträge in den statistiken seh ich allerdings immer no keine - nach wie vo grafik mit benennungen da, aber sonst leer

ZitatOder hast Du nur "ich" und "du" verwechselt?
ich und du, müllers kuh ...

ich soll also z.b. das
define plot_SZ_Netatmo SVG logdb:Temp_Hum_Dew:netatmo
attr plot_SZ_Netatmo label "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C"
attr plot_SZ_Netatmo plotfunction SZ_Netatmo
und seinen bruder mal auskomentieren? mach ich mal
→do↑p!dnʇs↓shit←

joshi04

Wie schaut denn eigentlich jetzt Dein Log nach einem Neustart aus mit aktiviertem Logproxy und auskommentierten SVGs?

Als Vorbereitung für die nächsten Schritte:
Wäre hilfreich, wenn Du einmal ein paar Daten (genauer gesagt - 2, wenn Du nur die Netatmo dran hast) aus Deiner DB posten würdest, z.B. nach Wiki mit diesem Aufruf:
get myDbLog current ALL - - %:temperature
Namensanpassung obligatorisch (den Hinweis spar ich mir zukünftig, Du denkst ja mit ;) )

Außerdem, wie schaut Deine Definition EINES SVGs aus, inkl. Attribute (-> also ein list <SVGname>), natürlich wenn es wieder aktiv ist?
Und poste bitte mal die zugehörige gplot-Datei und dessen Namen.

Zitat von: the ratman am 19 Januar 2016, 22:01:04
bei der gschw. bin i froh, ne 32 gb sd im raspi zu haben ...
Das musst Du Dir unbedingt im Anschluss anschauen (sinnvoll einschränken), sobald die Darstellung läuft. Sonst
- Hast Du schnell keinen Spaß mehr an der Antwortzeit Deines Frontends bei der Erstellung der Charts.
- Irgendwann ne ausgefallene SD. Nicht durch das Schreiben selbst, aber beim Stichwort SD läuten bei mir grundsätzlich die Alarmglocken -> Du machst ja derzeit regelmäßig manuelle Backups, richtig? -> automatisieren

Der "logkiller" ist nur eine Zeile copy/paste -> schnelles Erfolgserlebnis
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

the ratman

#38
log-file is relativ erfreulich - die relevanten sachen (hab noch genug andere baustellen *g*):
2016.01.20 08:14:31 0: Server shutdown
2016.01.20 08:14:35 3: Connecting to database mysql:database=fhem;host=localhost;port=3306 with user xxx
2016.01.20 08:14:35 3: Connection to db mysql:database=fhem;host=localhost;port=3306 established for pid 6718
2016.01.20 08:14:35 3: Connection to db mysql:database=fhem;host=localhost;port=3306 established
sonst steht nix drinnen, was mich mal sehr erfreut.

bei mir heißt das dann (nur, damit ichs selber ned vergess):get logdb current ALL - - %:temperatureund als ergebnis kommt:Timestamp: Device, Type, Event, Reading, Value, Unit
=====================================================
2016-01-20 08:10:39: netatmo_M02_00_00_xx_yy_zz, NETATMO, temperature: -4.5, temperature, -4.5, °C
2016-01-20 08:10:48: netatmo_D70_ee_50_xx_yy_zz, NETATMO, temperature: 21.2, temperature, 21.2, °C
#%:temperature:::



wieder aktiviert in der cfg:define plot_SZ_Netatmo SVG logdb:Temp_Hum_Dew:netatmo
attr plot_SZ_Netatmo label "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C"
attr plot_SZ_Netatmo plotfunction SZ_Netatmo
attr plot_SZ_Netatmo room Wetter


ein list ... ergibt:Internals:
   DEF        logdb:Temp_Hum_Dew:netatmo
   GPLOTFILE  Temp_Hum_Dew
   LOGDEVICE  logdb
   LOGFILE    netatmo
   NAME       plot_SZ_Netatmo
   NR         81
   STATE      initialized
   TYPE       SVG
Attributes:
   label      "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C"
   plotfunction SZ_Netatmo
   room       Wetter


nach einem aufruf schaut mein log wie folgt aus:2016.01.20 08:25:09 1: PERL WARNING: DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE 1=1 AND DEVICE  = 'DbLog' AND READING = 'DbLog,extend=60*60*24,predict=60*' at line 6 at ./FHEM/93_DbLog.pm line 1031.
2016.01.20 08:25:09 1: PERL WARNING: Use of uninitialized value $data{"currval2"} in concatenation (.) or string at (eval 92) line 1.
2016.01.20 08:25:09 3: eval: { "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C" }
2016.01.20 08:25:09 1: PERL WARNING: Use of uninitialized value $data{"min2"} in concatenation (.) or string at (eval 92) line 1.
2016.01.20 08:25:09 3: eval: { "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C" }
2016.01.20 08:25:09 1: PERL WARNING: Use of uninitialized value $data{"max2"} in concatenation (.) or string at (eval 92) line 1.
2016.01.20 08:25:09 3: eval: { "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C" }



ZitatDer "logkiller" ist nur eine Zeile copy/paste -> schnelles Erfolgserlebnis
was wie wann wo, hab i was verpennt?


nachtrag (wie immer) *g*:
ich hab jetzt beide perl-scripte fehlerfrei am laufen. da war wohl ein miß(t)verständnis in sachen namensumbenennung. nachdem ich deine vorgaben von seite 2 nochmal kopiert hab, is es mir aufgefallen.
auch nach aufruf der graphen kommt kein fehler im log. allerdings hab ich auf die schnell auch noch keine anzeigen.

dumme frage:ConstX:logProxy_shiftTimemüsste ich da "logProxy" auch auf meinen namen umbenennen?


so, und nun darf ich mal rausfinden, warum mein handy mit andfehm über nacht 20% akku (normal is <1%) braucht, andfhem dauern abkackt und wann meine holde mal ihren arbeitscompi früher abdreht, damit ich endlich mal den strom abstellen kann, um meine ersten 2 hm-actoren einzubauen.
→do↑p!dnʇs↓shit←

Consultant

@the ratman:
Ich bin ebenso NEU hier und hätte einen Gedanken zu deinem Zeitplan.

Du hast die Kosten angesprochen, jedoch erwähnt, dass du das Thema mit der Heizung erst später lösen möchtest.
Eventuell denkst du daran, dass eine gut eingestellte Heizung den Verbrauch und somit Kosten senkt. Eventuell werden dadurch Budgetmittel frei?

LG

Jochen

the ratman

#40
servus consultant,

ich denke daran, wobei das leider nicht relevant ist. das haus in deutschland (ich selber hab noch was in austria rumstehen) gehört meiner holden, und die ist derzeit nicht mal von der regelung von radiatoren zu überzeugen. ich muß mich also mal an die "goodies" halten, die ihr gefallen. das betrifft vor allem mal licht, steckdosen und automatische rollläden. was dann kommt - schaun ma mal ...
was noch hinzu kommt: teile dieses hauses sind vermietet - ich müsste bei einer vollständigen heizungssteuerung dann also auch die mieter "verdrahten". da geht dann sogar bei mir die lust auf 0 runter *g*.
→do↑p!dnʇs↓shit←

joshi04

Die Fortschritte sind dich sehr erfreulich. Bitte poste auch nochmal
den Inhalt und Namen des gplot files.


Gesendet von meinem iPhone mit Tapatalk
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

the ratman

#42
SIR, JAWOLLL SIR!

Temp_Hum_Dew.gplotset terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics nomirror
set y2tics
set grid y2tics
set ylabel "Humidity (%)"
set y2label "Temperature (°C)"
set yrange [0:100]
set y2range [0:30]

#lp DbLog:logdb,extend=60*60*24,predict=60*60*24*14:<SPEC1>:temperature:::$val=~s/^([-\.\d]+).*/$1/eg
#lp DbLog:logdb,extend=60*60*24,predict=60*60*24*14:<SPEC1>:humidity:::$val=~s/^([-\.\d]+).*/$1/eg
#lp DbLog:logdb,extend=60*60*24,predict=60*60*24*14:<SPEC1>:dewpoint:::$val=~s/^([-\.\d]+).*/$1/eg
#lp ConstX:logProxy_shiftTime($from,60*60),$data{min1},$data{max1}
#lp ConstX:logProxy_shiftTime($from,60*60),$data{min1},$data{max1}
#lp ConstX:logProxy_shiftTime($from,60*60*1.5),$data{min2},$data{max2}
#lp ConstX:logProxy_shiftTime($from,60*60*1.5),$data{min2},$data{max2}



plot "<IN>" using 1:2 axes x1y2 title 'Temperature' ls l0 lw 1 with steps,\
     "<IN>" using 1:2 axes x1y1 title 'Feuchtigkeit' ls l2fill lw 1 with steps,\
     "<IN>" using 1:2 axes x1y2 title 'Taupunkt' ls l1 lw 1 with steps,\
    "<IN>" using 1:2 axes x1y2 title 'minmax Temp' ls l0 lw 1 with lines,\
    "<IN>" using 1:2 axes x1y2 ls l0 lw 1 with points,\
"<IN>" using 1:2 axes x1y1 title 'minmax Hum' ls l2 lw 1 with lines,\
    "<IN>" using 1:2 axes x1y1 ls l2 lw 1 with points,\


co20_noise.gplotset terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid y2tics
set ylabel "CO2 (ppm)"
set y2label "Noise (dB)"
set yrange [400:2500]
set y2range [30:60]


#lp DbLog:logdb,extend=60*60*24,predict=60*60*24*14:<SPEC1>:co2:::
#lp DbLog:logdb,extend=60*60*24,predict=60*60*24*14:<SPEC1>:noise
#lp DbLog:logdb,extend=60*60*24,predict=60*60*24*14:<SPEC1>:co2:::$val=($val>1000?1000:$val)
#lp DbLog:logdb,extend=60*60*24,predict=60*60*24*14:<SPEC1>:co2:::$val=($val>1500?1500:$val)
#lp DbLog:logdb,extend=60*60*24,predict=60*60*24*14:<SPEC1>:co2:::$val=($val>2000?2000:$val)
#lp DbLog:logdb,extend=60*60*24,predict=60*60*24*14:<SPEC1>:co2:::

plot "<IN>" using 1:2 axes x1y1 title 'CO2 (ppm)' ls l5 lw 0.2 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Noise (dB)' ls 9 lw 0.2 with lines,\
     "<IN>" using 1:2 axes x1y1 title ' ' ls l1fill lw 0.2 with lines,\
     "<IN>" using 1:2 axes x1y1 title ' ' ls l4fill lw 0.2 with lines,\
     "<IN>" using 1:2 axes x1y1 title ' ' ls l0fill lw 0.2 with lines,\
     "<IN>" using 1:2 axes x1y1 title ' ' ls l3fill lw 0.2 with


sicherheitshalber noch die fhem.conf mit allem, von dem ich glaube, dass es dazu gehört:define logdb DbLog ./db.conf .*:.*
define myDbLog_reopen at *00:10:00 set logdb reopen
attr myDbLog_reopen alias mySQL restart
attr myDbLog_reopen icon time_clock
attr myDbLog_reopen room Timer
define lp logProxy

define netatmo_D70_ee_50_xx_yy_zz netatmo 70:ee:50:xx:yy:zz
define netatmo_M02_00_00_aa_bb_cc netatmo MODULE 70:ee:50:xx:yy:zz02:00:00:aa:bb:cc

define plot_SZ_Netatmo SVG logdb:Temp_Hum_Dew:netatmo
attr plot_SZ_Netatmo label "$data{currval2}% / min $data{min2}% / max $data{max2}% /// min $data{min1}°C / max $data{max1}°C / $data{currval1}°C"
attr plot_SZ_Netatmo plotfunction SZ_Netatmo
attr plot_SZ_Netatmo room Wetter

define plot_SZ_CO2 SVG logdb:co20_noise:netatmo
attr plot_SZ_CO2 label "$data{currval1}ppm / min $data{min1}ppm / max $data{max1}ppm /// min $data{min2}dB / max $data{max2}dB / $data{currval2}dB"
attr plot_SZ_CO2 plotfunction SZ_Netatmo
attr plot_SZ_CO2 room Wetter


als überschrift bei den (nicht vorhandenen) graphen steht übrigens:0ppm / min undefppm / max undefppm /// min undefdB / max undefdB / 0dBund
0% / min undef% / max undef% /// min undef°C / max undef°C / 0°C
die vektoren sind korrekt beschriftet.

übrigens: deinen tipp mit dem logfile-löschen kapier ich immer no ned ...
→do↑p!dnʇs↓shit←

joshi04

Das Attribut plotfunction muss auf den Namen des Devices zeigen -> Daher die o.g. Frage, was an Daten genau bei Dir in der DB steht.

Im Moment plottest Du Daten des Devices SZ_Netatmo aber nicht von netatmo_M02_xx_xx_xx_xx_xx o.ä., so wie sie derzeit bei Dir heißen (Die Namenskonvention würde ich noch einmal ändern, dazu aber frühestens heute Abend was).

logfile-löschen: Eigentlich bin ich zuversichtlich, das müsstest Du schaffen. Aber ich weiß auch wie das ist, wenn einem nur der eine kleine Stubs fehlt. Aber so klein stubsen kann ich garnicht...
Bis heute Abend hast Du noch Zeit es selbst herauszufinden, dann hole ich ein bisschen mehr aus ;)
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

the ratman

#44
plotten abgeschlossen.
log sagt auch keinen fehler.
PASST! danke dir!
ich kanns nun löschen und die netatmo in den müll werfen *g*
bleibt als frage nur noch: mysql sauber halten? wie am besten? hast du da eventuell ne elegante automatik?
ach ja, noch ne frage: wo soll die netatmo eig. den taupunkt herbekommen?

was die namensgebung angeht - die war automatisch. ich denke, sobald ich der meinung bin, ich hab fhem kapiert (ungefähr als zw. 2020 und 2025), wird sowieso grundlegend von 0 neu angefangen (sd-card raus, neue sd rein). dann weiß ich wenigstens auch gleich wirklich, ob ichs kapiert hab.

mit dem log-killer ärgerst mich jetzt aber ...
ich wart da lieber mal auf dein ausholen ... solang du mich dabei nicht mitten ins gesicht triffst *g*.
sobald ich das kapiert hab, könnt ich ja dann mit "at" ne automatik einbauen. ich hasse platzverschwendung und selbsständiges "dran denken" noch mehr!

btw - wenn ich jetzt so das stichwort "google-kalender anzeigen" fallen lasse, wie hoch steigt dein blutdruck dann an?
ich hab den soweit, dass ich z.b. meinen abfallkalender die nächsten 5 termine in nen view legen kann, bräuchte also "nur" noch ne quasi anzeige ins reine.

und damits gar ned langweilig wird *g*:
hab die fritzbox nun soweit, dass ich mir die letzten paar anrufe geben lassen kann - nun 2 probleme:
1) obwohl er brav auch meine telefonbücher saugt kann er die namen nicht den nummern zuweisen. von ner kleinen rückwärtsuche bei nervigen anrufern ganz abgesehen (soll ja auch gehen?).
2) fällt dir eventuell was ein zu einer "echtzeit-anzeige" wer grade anruft?
→do↑p!dnʇs↓shit←