Falls mal jemand Sonnenauf- und -untergangszeiten plotten möchte

Begonnen von betateilchen, 23 Mai 2014, 23:46:06

Vorheriges Thema - Nächstes Thema

moonsorrox

#60
mal eine Frage für mich zum Verständnis, denn ich kapiere es nicht...!
Was ich also irgendwie nicht begreife, mein Plot wird aufgezeichnet und seit 3 Tagen entsteht so langsam eben dieser Plot...!

die andere hatte ich irgendwo hier aus dem Thread, diese also:
define sunMarker at *00:02:00 { CommandSetReading(undef, "sunDummy sunrise ".sunrise('REAL'));; CommandSetReading(undef, "sunDummy sunset ".sunset('REAL')) }


und die funktioniert nicht - hier füllt sich nichts im Log..!

Wie gesagt ich habs bisher nicht verstanden  :-\ :-\
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

justme1968

ihr habt aber schon gesehen das es hier: http://forum.fhem.de/index.php?topic=23912.msg217310#msg217310 eine version gibt die ohne log files auskommt und auch keine dummys oder ähnliches braucht?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

moonsorrox

Zitat von: justme1968 am 09 September 2015, 18:27:06
ihr habt aber schon gesehen das es hier: http://forum.fhem.de/index.php?topic=23912.msg217310#msg217310 eine version gibt die ohne log files auskommt und auch keine dummys oder ähnliches braucht?
nein noch nicht, dass werde ich mir mal anschauen...!  ;)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Puschel74

Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

achja: die endgültige version ist im wiki beschrieben: http://www.fhemwiki.de/wiki/LogProxy#Sonnenauf-_und_-untergangszeiten_plotten. damit sind auch alle eigenen routinen in 99_myUtils unnötig.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

moonsorrox

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

moonsorrox

hat das schon mal jemand mit einem DOIF realisiert..?

Da denke ich es muss ein "userReadings" erstellt werden so in der Art:
{ CommandSetReading(undef, "sunDummy sunrise ".sunrise('REAL')); CommandSetReading(undef, "sunDummy sunset ".sunset('REAL')) }

falls das so funktioniert, aber wie kommen die beiden Werte dann in das Filelog..?
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

UliM

Hi,
vielen Dank für den Hinweis und den Wiki-Beitrag.
Wäre klassse wenn jemand die plot-Definition posten könnte, die nicht die Sonnenauf- und -untergangszeiten für's ganze Jahr plottet, sondern daraus die gelbe Hinterlegung der Tageslichtstunden im Tagesplot macht.

Wird der dummy noch benötigt? Falls ja, wie gefüllt? Werden Sonnenauf- und -untergang nur in der Plotdefinition hinterlegt, oder doch noch ins log geschrieben? Wenn ja, wie?

Vielen Dank schon im Voraus :)

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Michael

Moin UliM

Ich bin kein Experte.
Habe mir was zusammen gebastelt:-[

1.   Habe einen Helligkeitssensor nach diesen Beitrag ( http://forum.fhem.de/index.php/topic,26335.30.html nachgebaut.
1a. Dieser füllt ein Dummy

2.   Dann habe ich zwei at 's für Sonnenauf,- untergang angelegt.
2a. Diese schreiben in den Dummy (1a) bei S-aufgang den wert 100, bei S-untergang den wert 0 in ein Reading.

3.  Nun lasse ich den Dummy (1a) noch in ein Log schreiben.

4. Jetzt wird das Diagramm erstellt.
    Das Ergebnis ist im Anhang zusehen.
    Was mich noch stört, ist das der gelbe Bereich im Vordergrund ist, da habe ich noch keine Lösung für gefunden.  :-[

Hoffe habe nicht vergessen.

So Ich weis, hier sind ganz andere Experten die dir weiter helfen können.  ;)
Aber wollte mal auch was Beitragen auch auf die Gefahr hin das hier ein grinsen ;D durch Forum geht.
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

justme1968

anbei ein paar ideen wie man das ohne extra dummy und log über logProxy lösen kann:

zusätzlich zur sonnenauf- und -untergangszeit die anzahl der tagesstunden plotten:
set y3label "Tagesstunden"
set y3range [8:19]

#logProxy Func:logProxy_Func2Plot($from,$to,'{logProxy_hms2dec(sunset_abs_dat($sec))-logProxy_hms2dec(sunrise_abs_dat($sec))}')

plot "<IN>" using 1:2 axes x1y4 title notitle ls l5 lw 1 with steps,\
sie screenshot unten.


die tagesstunden in einem plot gelb hinterlegen:
set y3range [0:1]

#logProxy Func:logProxy_Func2Plot($from,$to,'{logProxy_isDay($sec)}',{week=>60*30,day=>60*10,qday=>60})

plot "<IN>" using 1:2 axes x1y3 title notitle ls l4fill lw 1 with steps,\
siehe screenshot unten.

mit den folgenden beiden routinen (ab morgen eingecheckt):sub logProxy_hms2sec($){
  my ($h,$m,$s) = split(":", shift);
  $m = 0 if(!$m);
  $s = 0 if(!$s);
  my $t  = $s;
     $t += $m * 60;
     $t += $h * 60*60;
  return ($t)

sub logProxy_isDay($) {
  my ($sec) = @_;
   
  my $sr = logProxy_hms2sec(sunrise_abs_dat($sec));
  my $ss = logProxy_hms2sec(sunset_abs_dat($sec));
   
  my ($s,$m,$h) = localtime($sec);
  my $cur = logProxy_hms2sec( "$h:$m:$s" );
   
  return $cur > $sr && $cur < $ss;




inzwischen ist es nicht mehr nötig das komplette plotfile umzustellen wenn man logproxy verwenden möchte. es reicht das logproxy device zu definieren und die log proxy spezifischen zeilen im bestehende plotfile hinzuzufügen. statt dem #logProxy schlüsselwort wird dann der name des logproxy device verwendet. d.h. man kann nachträglich jeden beliebigen plot so hinterlegen.


@Michael: die einzelnen kurven werden in umgekehrter reihenfolge geplottet. d.h. die erste zeile ist der vordergrund und die nachfolgenden zeilen liegen dann immer weiter dahinter.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968