Hallo
Ich bin grad am verzweifeln und weiß net, wo der Fehler liegt, evtl kann mir ja jemand behilflich sein, ich seh grad den Wald vor lauter Bäumen nicht mehr ...
Ich habe mir von: https://github.com/mhop/fhem-mirror/blob/master/FHEM/59_Weather.pm (//github.com/mhop/fhem-mirror/blob/master/FHEM/59_Weather.pm) die wohl aktuelle pm geholt und ins FHEM geladen.
Dann hab ich folgenden Code in die config geschrieben ...
define Wetter Weather 648916 30 DE
attr Wetter event-on-update-reading temperature,humidity,wind,wind_condition
attr Wetter room Wetter
und bekomme beim Speichern folgenden Fehler:
global: unknown attribute sendStatistics, choose one of room group comment alias eventMap archivecmd apiversion archivedir configfile lastinclude logfile modpath nrarchive pidfilename port statefile title userattr verbose:1,2,3,4,5 mseclog version nofork logdir holiday2we autoload_undefined_devices dupTimeout latitude longitude backupcmd backupdir backupsymlink backup_before_update exclude_from_update motd updatebranch devStateIcon or use attr global userattr sendStatistics Cannot load module Weather Please define Wetter first Please define Wetter first
Wenn ich ein reload der 59_weather.pm mache, kommt dann ebenfalls ein Fehler:
Global symbol "$readingFnAttributes" requires explicit package name at ./FHEM/59_Weather.pm line 132.
BEGIN not safe after errors--compilation aborted at ./FHEM/59_Weather.pm line 450.
Zitatattr Wetter event-on-update-reading temperature,humidity,wind,wind_condition
Lass doch mal dieses Attribut weg. Braucht man doch eigentlich nicht.
Ich habe es mit:
define Local_Wetter Weather XXXXXXXX 3600 de
attr Local_Wetter localicons 1
define w_Wetter weblink htmlCode { WeatherAsHtml("Local_Wetter") }
attr w_Wetter htmlattr width_"220" height="330" top="50px" frameborder="0" marginheight="0" marginwidth="0"
attr w_Wetter room CUL_HM
....am Laufen und finde es Klasse und habe auf Empfehlung hier im Forum noch in die von dir genannte Datei nachfolgenden Code eingefügt um Sonnenauf- und Sonnenuntergangszeiten zu ergänzen:
### sunrise / sunset
if ($tag eq "yweather:astronomy" ) {
$value =~/sunrise="([0-9:.]*?) (..)" .*sunset="([0-9:.]*?) (..)".*/;
if ($1) { readingsBulkUpdate($hash, "sunrise", h2hms_fmt(hms2h($1))); }
if ($3) { readingsBulkUpdate($hash, "sunset", h2hms_fmt(hms2h($3)+12)); }
}
z.b. ab zeile 312 in 59_Weather.pm einbauen.
MfG, MisterEltako.
Du musst fhem komplett updaten.
Es wurden neue Sachen eingeführt, die natürlich in neueren Versionen der Module angewendet werden: "$readingFnAttributes
Einfach" update" eingeben und eine Minute warten. Dann neu starten.
Wo bekommt ihr z.B. so etwas her? "59_Weather.pm"
[
ZitatWenn ich ein reload der 59_weather.pm mache, kommt dann ebenfalls ein Fehler:
Global symbol "$readingFnAttributes" requires explicit package name at ./FHEM/59_Weather.pm line 132.
BEGIN not safe after errors--compilation aborted at ./FHEM/59_Weather.pm line 450.
Habe gerade im Forum gelesen, das diese Fehlermeldung durch ein "update" in der Kommandozeile behoben wird. Da einiges an Fhemweb geändert und neue Dinge hinzugefügt wurden.
Die 59_Weather.pm wird automatisch mit dem update geladen.
PS: anschließend Neustart und dann 1x save-Button anklicken.
MfG, MisterEltako.
Zitat von: stgeran schrieb am Fr, 22 Februar 2013 23:06Wo bekommt ihr z.B. so etwas her? "59_Weather.pm"
der Link steht oben im ersten Post ...
Update hab ich gemacht, CUL und FritzBox neu gestartet ebenfalls ...
Wenn ich im linken Menü den Raum Local_Wetter aufrufe, steht dann folgender Fehler:
Local_Wetter is not a Weather instance
UPDATE: hat sich erledigt ... in der fhem.cfg wurde aus welchem Grund auch immer die Zeile define Local_Wetter Weather 648916 3600 de gelöscht oder nicht gespeichert ... jetz is alles schön
Zitat von: MisterEltako schrieb am Fr, 22 Februar 2013 22:00....am Laufen und finde es Klasse und habe auf Empfehlung hier im Forum noch in die von dir genannte Datei nachfolgenden Code eingefügt um Sonnenauf- und Sonnenuntergangszeiten zu ergänzen:
### sunrise / sunset
if ($tag eq "yweather:astronomy" ) {
$value =~/sunrise="([0-9:.]*?) (..)" .*sunset="([0-9:.]*?) (..)".*/;
if ($1) { readingsBulkUpdate($hash, "sunrise", h2hms_fmt(hms2h($1))); }
if ($3) { readingsBulkUpdate($hash, "sunset", h2hms_fmt(hms2h($3)+12)); }
}
z.b. ab zeile 312 in 59_Weather.pm einbauen.
MfG, MisterEltako.
hab ich getan, leider werden die Daten für Sonnenauf- und untergang nicht angezeigt :(
und anstatt C° kommt ein ? ... siehe Bild
(siehe Anhang / see attachement)
Hallo Mirko,
das sollte jetzt aber nur noch an der Zeichenkodierung von dem Browser liegen. Stell diese mal richtig ein, dann werden auch die °C angezeigt.
Gruß
TinoB
Perfekt, hätte ich auch selbst drauf kommen können ...
Dankeschön
aber schon taucht das nächste Problem auf :(
Wenn ich den Weblink im Floorplan einfüge kommt nur dieses dabei raus ...
(siehe Anhang / see attachement)
und die Sonnenauf- bzw -untergangszeiten werden auch noch nicht angezeigt
Auszug aus der 59_weather.pm
(siehe Anhang / see attachement)
Hallo Mirko,
ob man es einfach so anzeigen lassen kann weiß ich nicht. Ich habe den Auf- und Untergang mit den Rollos verknüpft.
Schau mal hier:
http://www.fhemwiki.de/wiki/Sunset_Sunrise (//www.fhemwiki.de/wiki/Sunset_Sunrise)
Vom Gefühl würde ich meinen das es so für den Sonnenaufgang gehen könnte:
define Sonnen_dummy dummy
attr Sonnen_dummy webCmd on:off
define Sonnenaufgang at *{sunrise('REAL','0','3:00',9:00')} set Sonnen_dummy on
attr Sonnenaufgang alias Sonnenaufgang
attr Sonnenaufgang room !Experiment
Mal ungetestet, würde ich sagen wird die Uhrzeit angezeigt.
Ach ja, und es müssen auf alle Fälle noch die Koordinaten
attr global latitude 5X.XYZ
attr global longitude 6.XYZ
von deinem Standort eingetragen werden.
Gruß
TinoB
@mirko: Heist das, Du hast den kompletten link in die fhem.cfg eingefügt?
Zitat von: stgeran schrieb am Sa, 23 Februar 2013 15:24@mirko: Heist das, Du hast den kompletten link in die fhem.cfg eingefügt?
ich meinte natürlich den weblink ... attr Local_Wetter fp_Dachgeschoss 379,210,1,
Hallo Mirko,
ich habe es so:
define Local_Wetter weblink htmlCode {WeatherAsHtml("Wetter")}
attr Local_Wetter fp_Dachgeschoss 379,210,1,
attr Local_Wetter room !Experiment
Versuch dies mal.
Gruß
TinoB
Hi!
define Grundriss FLOORPLAN
Anzeige des Yahoowetters im Floorplan:
define Local_Wetter Weather XXXXXXXX 3600 de
attr Local_Wetter localicons 1
define w_Wetter weblink htmlCode { WeatherAsHtml("Local_Wetter") }
attr w_Wetter htmlattr width_"220" height="330" top="50px" frameborder="0" marginheight="0" marginwidth="0"
attr w_Wetter room CUL_HM
attr w_Wetter fp_Grundriss 100,200
dann kann man Sonnenaufgang verwenden z.B.:
define Sonnenaufgang at *(ReadingsVal('Local_Wetter', 'sunrise', '')) set Sonnen_dummy on
denn mit dem genannten:
define Sonnenaufgang at *{sunrise('REAL','0','3:00',9:00')} set Sonnen_dummy on ... fragt man ja nicht den Sunrise-Wert des Yahoo-Wetters ab!
MfG, MisterEltako.
Zitat von: MisterEltako schrieb am Sa, 23 Februar 2013 18:10dann kann man Sonnenaufgang verwenden z.B.:
define Sonnenaufgang at *(ReadingsVal('Local_Wetter', 'sunrise', '')) set Sonnen_dummy on
MfG, MisterEltako.
Wenn ich oben genannte Zeile in fhem.cfg einfüge, kommt folgender Fehler:
Wrong timespec (ReadingsVal('Local_Wetter',: either HH:MM:SS or {perlcode}
Hi!
Also dieser Test funktioniert bei mir:
define Sonne notify Test {\
my $Zeitstring = ReadingsVal('Local_Wetter', 'sunrise', '');;\
fhem ("define Sonnenaufgang at *$Zeitstring set Sonnen on");;\
Log 3,"$Zeitstring";;\
}
unter "Everything" wird bei Aufruf des Wetterdevice unter Readings der selbe Wert angezeigt wie im o.g angelegten at-define.
Prüfe bitte, ob im Weatherdevice auch wirklich die sunset und sunrise Einträge da sind...
MfG, MisterEltako.
Danke für Deine Antwort,
ja die sunset und sunrise werte sind unter "Everything" korrekt da
d.h. unter Everything -> Notify "Sonne" -> Local_Wetter -> Readings
allerdings hat er diese Daten entgegen der anderen vor einigen Stunden aktualisiert ...
state
T: -2 H: 99 W: 11
2013-02-24 21:25:36
sunrise
07:13:00
2013-02-24 12:34:52
sunset
17:46:59
2013-02-24 12:34:52
temp_c
-2
2013-02-24 21:25:36
Hi!
Schau mal hier:
http://forum.fhem.de/index.php?t=msg&goto=65932&rid=95#msg_65932 (//forum.fhem.de/index.php?t=msg&goto=65932&rid=95#msg_65932)
Dort habe ich die geänderten/eingefügten Codezeile gepostet. Jetzt wird Sonnenauf- und Sonnenuntergang auch im Floorplan dargestellt.
Aufpassen, beim Update wird zum Teil auch die 59_Weather.pm aktualisiert, dann ist der geänderte Code wieder pfutsch und das könnte auch eine Fehlerquelle bei nicht funktionierendem ReadingsVal sein...
MfG, MisterEltako.
Hi,
auf der Suche nach einer Möglichkeit, einfach den Sonnenaufgang und Sonnenuntergang auf der FHEM-Weboberfläche anzuzeigen, bin ich auf diesen Thread gestossen. Ich brauche das nicht für einen Floorplan, nur eine einfache Anzeige in einem Raum. Allerdings möchte ich die Sonnenauf- und Untergangszeiten nicht aus Yahoo nehmen, sondern aus einer exakteren Grundlage. Da die Schnipsel aber (so noch) nicht funktionieren, hier meine 2 cent:
1. Möglichkeit: Nutzung der sunset- und sunrise-Funktion von FHEM (siehe http://www.fhemwiki.de/wiki/Sunset_Sunrise (//www.fhemwiki.de/wiki/Sunset_Sunrise)). Das ist besonders flexibel, weil man diverse Einstellmöglichkeiten hat (insbes. auch die nautischen Zeiten, oder eben REAL).
Hier ist der Tipp von oniT (fast) prima, es fehlt nur ein Anführungszeichen, um die Fehlermeldungen zu beseitigen. Ich habe zu oniTs Sonnenaufgang noch einen Sonnenuntergang hinzugefügt. Wie folgt:
define Sonnen_dummy dummy
attr Sonnen_dummy webCmd on:off
define sonnenaufgang at *{sunrise('REAL','0','03:00','09:00')} set Sonnen_dummy on
attr sonnenaufgang alias sonnenaufgang
attr sonnenaufgang room !Experiment
define sonnenuntergang at *{sunset('REAL','0','16:00','23:00')} set Sonnen_dummy off
attr sonnenuntergang alias sonnenuntergang
attr sonnenuntergang room !Experiment
2. Möglichkeit, auf die ich bei der Suche im Web gestossen bin, und die ich Euch nicht vorenthalten möchte: Es gibt einen webservice für die Anzeige von sonnenaufgang-sonnenuntergang, der recht gut konfigurierbar ist und einen iframe-Link zur Verfügung stellt. Die Adresse lautet http://www.sonnenaufgang-sonnenuntergang.de/ (//www.sonnenaufgang-sonnenuntergang.de/)
Die Einbindung dieses Services per iframe sieht dann so aus (Ergebnis siehe jpg-Anlage):
define sonnenzeiten2 weblink iframe http://www.sonnenaufgang-sonnenuntergang.de/custom_1.php?latitude=50.105758&longitude=8.677867&timezone=0&zenith=90.833333333333&b=1&ff=2&color=FFD239&fsize=80&fsizeh=90&w=400&h=300
attr sonnenzeiten2 htmlattr width="620" height="660" frameborder="0" marginheight="0" marginwidth="0"
attr sonnenzeiten2 room !Experiment
Sieht dann so aus:
(siehe Anhang / see attachement)
Vielleicht nutzen diese Hinweise ja dem einen oder anderen.
Grüße,
Markus
Edit: Die Codezeilen stehen einfach nur in der fhem.cfg - kein Perlcode notwendig
Mal eine Frage ganz außerhalb des eigentlichen Threats:
Worin liegt der Unterschied zwischen den ganzen Möglichkeiten für Sonnenauf- und Untergang?
Es gibt Twilight, einen Patch für weather der die Zeiten von google nimmt, die fhem Funktionen sunset und sunrise.
Eigentlich sollten alle Funktionen doch immer die selben Uhrzeiten liefern, oder nicht (was dann die vielen Möglichkeiten erklären würde)?!
Für mich stellt sich der Unterschied so dar, dass
- die FHEM-Funktionen sunset/sunrise am flexibelsten sind, wenn man z.B. Licht oder Rolläden abhängig von Sonnenauf- und Untergang schalten will
- der patch für weather ist vor allem für alle Arten von Wetterdarstellungen,
- und twilight - so wie ich's verstehe - ist eine Art Simulation für einen Dämmerungssensor ("wieviel Licht ist gerade").
Die Funktionen haben (alle) mehrere Parameter:
- Datum sowie Sommerzeitregeln
- Längen- und Breitengrad des bezogenen Ortes (auf mehrer Nachkommastellen genau!)
- Zenithdefinition ("Wann ist die Sonne 'untergegangen'? Was ist Dämmerung?" - Hier gibt es die gängigen Bezeichnungen "nautisch", "zivil", "astronomische" Dämmerung sowie behördliche Definitionen. Aus den Begriffen ergeben sich Gradzahlen für die Zenith- bzw. Dämmerungsdefinition
Wenn Du wirklich ALLE Parameter identisch setzt, müssen alle drei Funktionen (sunset, twilight, weatherpatch) die identische Uhrzeit liefern.
Ich habe das allerdings noch nicht hinbekommen, 5 Minuten Unterschied scheren mich aber auch nicht ;-).
Hallo,
anbei sieht man schön wie Twilight
(siehe Anhang / see attachement)
sunset/sunrise durchfährt.
(siehe Anhang / see attachement)
Mann hat damit, finde ich, recht flexibel die Möglichkeit einen Dummy zu setzen/rücksetzen welchen man nur Abfragen
bzw. auf den man per notify 2-mal am Tag reagieren kann (auf den Dummy - auf light kann man natürlich den ganzen Tag zugreifen).
Zusätzlich kann man noch zwischen Sonnenauf- und -untergang unterscheiden, wenn man möchte.
Per light braucht man auch nicht grossartig mit sunset/sunrise-Konstrukte "rumkämpfen".
Ich habs mir mal visualisiert weil ich neugierig war und mir so besser meine Schaltzeiten anschauen konnte.
Grüße
Hi!
Also, ich habe mich für Yahoo-Wetter entschieden, da es eine wunderschöne grafische Darstellung hat.
Ich habe alle 3 o.g. Varianten durchprobiert. Keine dieser 3 hat auch nur annähernd den korrekten Sonnenuntergang ergeben.
Ich habe mir deswegen die Variante Yahoo-Wetter ergänzt zum Anzeigen von Sonnenaufgang und Untergang und die Datei unter 59_Wetter.pm gespeichert, so dass sie nicht bei jedem Update überschrieben wird.
Zusätzlich habe ich mir eine Routine zusammengestellt, die auch wolkig oder klarer Himmel berücksichtigt, sowie Mindest- und Maximalschaltzeiten ermöglicht sowie auch eine Individuelle Offsetangabe ermöglicht.
Funktioniert für mich perfekt!
MfG, MisterEltako
Hi MisterEltako,
Hört sich gut an... magst Du Deine 59_Wetter.pm mit kurzer Erklärung noch posten?
Grüße,
Markus