Proplanta: Anzeige Sonnenstunden

Begonnen von h_distler, 12 April 2018, 09:08:45

Vorheriges Thema - Nächstes Thema

h_distler

Hi,

Proplanta ist hervorragend, es tut so gut wie alles was ich will.

Ich möchte nun auch noch die Sonnenstunden anzeigen. Ich habe das Reading:
fc0_sun - relative sun shine duration today in % (between sun rise and set)

Gibt es eine Möglichkeit das direkt in Stunden:Min anzeigen zu lassen?

Gruss & Danke
hanselmann

Otto123

Moin hanselmann,

ein userreadings mit ((sunset-sunrise) * fc0_sun/100)

Ich würde auf min verzichten  :D

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Xell1984

Bin hier grad durch Zufall drüber gestolpert und habe bisher nichts mit den userReadings getan.

Zitat

attr WetterProplanta userReadings Sonnenstunden {ReadingsVal((sunset-sunrise) * fc0_sun/100)}

Glaube ich bin völlig falsch. Wie müsste es eingetragen werden? Wo holt er sich sunset und sunrise denn her? Proplanta oder hat nicht. Von dem Twilight Modul?

Razpberry on Raspberry Pi 3 mit Raspian Jessy

stefanpf

Ist "eingebaut" ...
https://fhem.de/commandref_DE.html#SUNRISE_EL

Das UserReading hätte ich jetzt so zusammengesetzt....

attr WetterProplanta userReadings Sonnenstunden { (sunset-sunrise)* ReadingsVal("WetterProplanta", "fc0_sun", 0)/100}

Xell1984

#4
Zitat von: stefanpf am 16 April 2018, 20:35:23
Ist "eingebaut" ...
https://fhem.de/commandref_DE.html#SUNRISE_EL

Das UserReading hätte ich jetzt so zusammengesetzt....

attr WetterProplanta userReadings Sonnenstunden { (sunset-sunrise)* ReadingsVal("WetterProplanta", "fc0_sun", 0)/100}


Erstmal vielen Dank!

Funktioniert, erst Fehlermeldung bekommen, dann verschwand Sie kurz danach.

Allerdings gibt er mir gerade 22 Sonnenstunden aus. Etwas viel.
Razpberry on Raspberry Pi 3 mit Raspian Jessy

Otto123

#5
Guten Abend,

mein Vorschlag war ja nur Prinzip Code nicht Copy&Paste und fertig.
ZitatSUNRISE_EL definiert eine Reihe von Perl-Subroutinen (z.B. zur Nutzung mit at):

sunrise() - absolute Zeit des nächsten Sonnenaufgangs (+ 24 h, wenn am nächsten Tag)
sunset() - absolute Zeit des nächsten Sonnenuntergangs (+ 24 h, wenn am nächsten Tag)
sunrise_rel() - relative Zeit des nächsten Sonnenaufgangs
sunset_rel() - relative Zeit des nächsten Sonnenuntergangs
sunrise_abs() - absolute Zeit des nächsten Sonnenaufgangs (ohne Stundenzuschlag)
sunset_abs() - relative Zeit des nächsten Sonnenuntergangs (ohne Stundenzuschlag)
sunrise_abs_dat() - absolute Zeit des nächsten Sonnenaufgangs an einem bestimmten Tag
sunset_abs_dat() - relative Zeit des nächsten Sonnenuntergangs an einem bestimmten Tag
isday() - Tag oder Nacht
Das Ergebnis hängt in dem jetzt gewählte Code stark vom Zeitpunkt der Berechnung ab :)

Gruß Otto

Edit: Ich merke gerade in der commandref istt offenbar auch was durcheinander. Also ->  (sunset_abs() - sunrise_abs())
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Xell1984

Vielen Dank nochmal für die Hilfe. Gibt noch genug stellen wo ich noch nicht durchblicke.

Zitat
attr WetterProplanta userReadings Sonnenstunden { (sunset_abs() - sunrise_abs())* ReadingsVal("WetterProplanta", "fc0_sun", 0)/100}

Dies Funktioniert und gibt realistische Werte zurück.
Razpberry on Raspberry Pi 3 mit Raspian Jessy

fini

habe

attr WetterProplanta userReadings Sonnenstunden { (sunset_abs() - sunrise_abs())* ReadingsVal("WetterProplanta", "fc0_sun", 0)/100}

ausgeführt

im log steht:

2018.04.21 07:37:03 1: PERL WARNING: Argument "07:29:32" isn't numeric in subtraction (-) at (eval 1868) line 1.
2018.04.21 07:37:03 3: eval: { (sunset_abs() - sunrise_abs())* ReadingsVal("WetterProplanta", "fc0_sun", 0)/100}
2018.04.21 07:37:03 1: PERL WARNING: Argument "20:20:09" isn't numeric in subtraction (-) at (eval 1868) line 1.
2018.04.21 07:37:03 3: eval: { (sunset_abs() - sunrise_abs())* ReadingsVal("WetterProplanta", "fc0_sun", 0)/100}

Otto123

Moin,

wie schon gesagt, dies gilt immer noch:
Zitat von: Otto123 am 16 April 2018, 21:15:03
mein Vorschlag war ja nur Prinzip Code nicht Copy&Paste und fertig.
...
Also ->  (sunset_abs() - sunrise_abs())

Da kommt zwar etwas heraus, was das jetzt genau ist weiß ich nicht. Um es richtig zu machen müsste man die Stunden aus der formatierten Zeit (hh:mm:ss)  extrahieren. -> http://perldoc.perl.org/

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

satprofi

#9
Hallo.
Bei Proplanta gibts ja den 24H Wert für Niederschlagsmenge, aber im Modul finde ich diese Auswertung nicht.
Habe schon die Datei um den Wert 24H erweitert, aber nichts gebracht.
Wie komme ich zu diesen Wert?

LG

gefunden, ist wert fcx_rain
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

moonsorrox

wie habt ihr diese Fehler wegbekommen, seit ich das eingebaut habe kommen diese mehrmals am Tag

2018.05.12 18:55:51 3: eval: { (sunset_abs() - sunrise_abs())* ReadingsVal("Proplanta", "fc0_sun", 0)/100}
2018.05.12 18:55:51 1: PERL WARNING: Argument "21:47:41" isn't numeric in subtraction (-) at (eval 2812313) line 1.
2018.05.12 18:55:51 3: eval: { (sunset_abs() - sunrise_abs())* ReadingsVal("Proplanta", "fc0_sun", 0)/100}
2018.05.12 18:55:51 1: PERL WARNING: Argument "04:49:37" isn't numeric in subtraction (-) at (eval 2812313) line 1.
2018.05.12 17:55:51 3: eval: { (sunset_abs() - sunrise_abs())* ReadingsVal("Proplanta", "fc0_sun", 0)/100}
2018.05.12 17:55:51 1: PERL WARNING: Argument "21:47:41" isn't numeric in subtraction (-) at (eval 2761481) line 1.
2018.05.12 17:55:51 3: eval: { (sunset_abs() - sunrise_abs())* ReadingsVal("Proplanta", "fc0_sun", 0)/100}
2018.05.12 17:55:51 1: PERL WARNING: Argument "04:49:37" isn't numeric in subtraction (-) at (eval 2761481) line 1.
2018.05.12 16:55:51 3: eval: { (sunset_abs() - sunrise_abs())* ReadingsVal("Proplanta", "fc0_sun", 0)/100}
2018.05.12 16:55:51 1: PERL WARNING: Argument "21:47:41" isn't numeric in subtraction (-) at (eval 2709589) line 1.
2018.05.12 16:55:51 3: eval: { (sunset_abs() - sunrise_abs())* ReadingsVal("Proplanta", "fc0_sun", 0)/100}
2018.05.12 16:55:51 1: PERL WARNING: Argument "04:49:37" isn't numeric in subtraction (-) at (eval 2709589) line 1.
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

stefanpf

Die Warnung habe ich gar nicht gesehen  8)
Kenne mich mit Perl nicht so aus, aber man könnte z.B. mit str2time() die Uhrzeiten in Sekunden wandeln und Subtrahieren....gibt dann allerdings einen Dezimalwert zurück.

{ ( str2time( sunset_abs()) - str2time(   sunrise_abs()))* ReadingsVal("WetterProplanta", "fc0_sun", 0)/100/3600}

moonsorrox

#12
Ok das habe ich mal so eingebaut, mal schauen ob es noch Meldungen gibt...!
nach wie vor Fehlermeldungen, hab es jetzt komplett wieder raus genommen
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

Jewe


moonsorrox

da ich mich mit dem ganzen Perl gerechne nicht auskenne, habe ich das mal so übernommen, aber bei mir wird nur eine lange Zahl angezeigt.
Momentan 65755.4
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