Sonnenschutz mit Rolladen aus Wetterdaten

Begonnen von bugster_de, 30 Juni 2013, 10:34:35

Vorheriges Thema - Nächstes Thema

bugster_de

Hi Leute,

das hier ist sicherlich keine Raketenwissenschaft, aber vielleicht interessant für den einen oder anderen.

Anwendungsfall
abhängig von der Wettervorhersage für den Tag soll entschieden werden, ob die Rolläden zum Sonnenschutz geschlossen werden sollen. Wenn die Wettervorhersage gut ist, dann sollen die Rolläden zeitgesteuert entlang dem Sonneneinfall in das jeweilige Zimmer geschlossen und später wieder geöffnet werden.

Umsetzung
- mittels Yahoo Wetter werden die aktuellen Daten sowie die Vorhersage für den Tag aus dem Netz geholt
- die internen Werte (Readings) werden einmal pro Stunde auf FHEM Variablen kopiert
- auf Basis dieser Werte wird dann mit einem Timer (at) morgens um 8:15h entschieden, ob der Sonnenschutz für dan Tag aktiv sein soll. Wenn er aktiv ist, werden Timer (at) für die jeweiligen Rolläden gesetzt, um sie zu einer bestimmten Uhrzeit zu zu machen und dann abends wieder aufzumachen
- Zusätzlich sind zwei Variablen angelegt, mit der man den Wetterupdate manuell triggern kann sowie die Ausgabe in die Logdatei Ein- bzw. Ausschalten kann

Diese Umsetzung ist sicherlich verbesserungswürdig. Man könnte z.B. auf Basis von echten Sensoren für Temperatur und Sonneneinfall die Entscheidung treffen. Da diese Sensoren bei mir noch nicht vorhanden sind respektive sich nicht in FHEM einbinden lassen, musste ich mir erstmal per Yahoo Wetter behelfen.
Auch das Kopieren auf FHEM Variablen ist vielleicht etwas Overkill, aber auf dieser Basis kann man auch die Werte sehr schön einzeln im Floorplan anzeigen und Icons für die Wettervorhersage einbinden.

Im Anhang finden sich die Funktionen, die in die 99_myUtils.pm sowie die fhem.cfg rein müssen.

Viel Spß an diejenigen, die das gebrauchen können.

Ronny78m

Da ich noch Anfänger bin funktioniert das leider nicht bei mir, da ich etwas bestimmt falsch mache.
Die Stadt(Name) "Ulm" habe ich in meine umbenannt aber es funktioniert nicht.
Also die Fragen:
- wie kann man die Stadt ändern bei
Readings steht
city
Ulm, Germany   2013-07-04 22:05:57


INTERVAL 10
LANG en
LOCATION 20159248
NAME Leipzig_Wetter
NR 77
STATE T: 19 H: 68 W: 8
TYPE Weather
UNITS c
- kann statt en ----- German einstellen
- und wo stelle ich mein Jalousien ein oder wo gebe ich sie an????
Kann mir jemand helfen...

oniT

Hallo,

das Problem liegt an dem Eintrag in der cfg. Dort wurde zwar der Namen Ulm eingetragen, jedoch nicht der zugehörige Yahoo-Code geändert.


#Yahoo Wetter fuer Ulm
define Ulm_Wetter Weather 20159248 10


Hier muss der Code von Ulm eingetragen werden.

http://de.wetter.yahoo.com/deutschland/baden-w%C3%BCrttemberg/ulm-12837553/

Somit sollte statt der 20159248 die 12837553 eingetragen werden.

Gruß,
TinoB
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

Ronny78m

Vielen vielen Dank schon mal das mit der richtigen Stadt funktioniert schon mal.
Zwar noch kein German bei"Lang"
DEF    20175388
INTERVAL 3600
LANG en
LOCATION 20175388   aber  Ok.

Wo oder wie kann ich jetzt meine Jalousie angeben, wenn das meine Jalousie ist, die geschalten werden soll-->
attr JalousieMitte model fs20rsu

oniT

Hallo,

ach so, das hab ich ganz übersehen. Du musst hinter das Abfrageintervall noch ein de einfügen.


#Yahoo Wetter fuer Ulm
define Ulm_Wetter Weather 20159248 10 de


Das mit dem Einbinden weiß ich jetzt nicht. Möchtest Du es mit dem Modul von oben einbinden? Das habe ich mir nocht nicht angesehen. Muss ich später machen ich bin gerade unterwegs.

Gruß,
TinoB
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

Ronny78m

Danke das mit den de funktioniert jetzt auch .
Ja, ich würde es mit dem Modul von oben einbinden.
Ich denke mal in der 99_myUtils.pm aber ich komme damit nicht klar.
Danke schon mal vorweg, es hat auch noch etwas zeit...

oniT

Hallo,

also, Du musst folgendes tun. Du kopiertst das von bugster bereitgestellte Modul in das FHEM Verzeichnis und lädst dieses mit "reload 99_myUtils.pm" Solltest Du im vorhanden bereits Einträge nutzen, dann mach Dir zuvor eine Kopie, damit diese dann nicht überspielt werden.

Als nächstes nimmst Du die fhem.cfg und nennst diese um in zum Beispiel Beschattung.cfg und kopierst diese ebenfalls in das FHEM Verzeichnis.

Trägst in Deine aktuelle fhem.cfg ein


include ./FHEM/Beschattung.cfg ein (Pfad zu FHEM muss Du gegebenenfalls noch anpassen)


und führst in der Kommandozeile ein rereadcfg aus. Dann ist alles geladen und Du siehst weitere Räume mit Gruppen (wenn es nicht schon solche Räume gibt).

Raum Haus
Raum _Zeit
Raum _Server

Es sollten dann ein paar Dummy Schalter/Button mit Zuständen zu sehen sein.

Damit kannst Du dann spielen, schaust Dir die Beschattung.cfg näher an und passt dies dann an Dein System an.

Weiterhin schaust Du Dir die 99_myUtils.pm näher an. Auch diese musst du an Dein System anpassen. Dort gibt es zum Beispiel Einträge wie:


my $buf = ReadingsVal( "Ulm_Wetter", "temp_c", 20 );


Dort musst Du die Bezeichnung Ulm_Wetter durch Deine Wetter Bezeichnung anpassen.

Gruß,
TinoB



 

BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

piet_pit

Hallo,

auch wenn es keine "Raketentechnik" ist, kurze Nachfrage...

was steckt hinter dieser Zeile?  

......fp_Erdgeschoss 50,100,1,

VG
Pit
FHEM Latest Revision: 29615
Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7690
HM-Mod-RPI-PCB, JeeLink
CUNO 1.47

Sturi2011

Hi,

die Anzeige der Elements mit dem Attribut und die Platzierung sowie den Anzeigemodus des Devices im Floorplan insofern aktiviert.

Gruß Andreas

Ronny78m

Hallo,
da ich immer noch Anfänger bin bekomme ich das nicht hin.
Kann mir jemand helfen mein System so anzupassen das das hier mit der Beschattung funktioniert?
Also wie ich die 99_myUtils.pm und die fhem.cfg an mein System anpasse?
Bitte bitte

locodriver

Kleiner Tipp ohne 99_Utils auch auf Yahoobasis und nicht ganz so detailreich - aber es funzt:

Link

Uwe
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

Ronny78m

Hallo,
Kannst du mir bitte mal etwas genauer erklären wofür die 4 Zahlen in der 99_myUtils genau stehen.

# **********************************************************************
#  Entscheidung treffen, ob Sonnenschutz aktiv sein soll
# **********************************************************************
sub Decide_Sonnenschutz( ) {
    my $maxtemp = ReadingsVal( "Tageshoechsttemperatur", "State", 25 );
    my $curtemp = ReadingsVal( "Temperatur", "State", 25 );
   
    if( ( $maxtemp ge "22" ) || ( $curtemp ge "22" ) ) {
   if( $myUtils_debug == true ) {
       Log 1, "Decide_Sonnenschutz: Max: $maxtemp C, Cur: $curtemp C";
VG
Ronny

bugster_de

Hi,

wieso 4 Zahlen? Ich sehe nur zwei ?

Tageshoechsttemperatur ist die aktuelle Wettervorhersage, wie sie aus Yahoo kommt. Sie gibt den Tageshöchstwert an

Temperatur ist die aktuelle Temperatur, die von einem Sensor gemessen und an FHEM gemeldet wird.

Wenn nun also um 8:30h morgens entweder die aktuelle Temperatur oder die Vorhersage größer als der Schwellwert sind, dann gehen die Rolläden nicht ganz auf sondern gehen in die Sonnenschutzposition.

Passt das?

Wer mehr Sensoren hat (z.B. Lichtsensor) kann das natürlich noch feiner Abstimmen

Ronny78m

Ich habe die zwei 25iger gemeint und die zwei 22iger Zahlen. Kann es sein das sich die Zahlen in der 99_Utils nicht ändern?
Meine frage war eher wo sage ich ab welcher Temperatur in sonnenschutzposition angefahren wird und wo sage ich bei welcher Temperatur soll es abends wieder ganz auf gehen. Ich habe jedoch kein Temperatursensor zur Verfügung .

bugster_de

Hi,

die beiden Schwellwerte sind im Code fest progarmmiert (die 22). Wenn die Variable sein sollen, dann müsste das erst noch in den Code rein.