Rollläden Temperatur und Sonnen abhängig schließen

Begonnen von LastOne, 16 Juni 2022, 22:56:04

Vorheriges Thema - Nächstes Thema

LastOne

Hallo zusammen,

eigentlich dachte ich dazu müsste es doch schon einiges geben, aber irgendwie finde ich in der ansuche nichts. Falsche Begriffe?!

Ich hab meine Somfy RTS via Singandunio eingebunden. Das läuft jetzt seit zwei Jahren stabil. Nun möchte ich gern einige Rollläden in Abhängigkeit von Außentemperaturen und Sonnestrahlung schließen. Dafür habe ich aktuell keine Sensoren (außer Netatmo falls brauchbar in FHEM). Ich könnte also das kaufen, was gut einzubinden geht.

Könnt ihr mir mal ein wenig die Richtung zeigen welche Sensoren Sinn machen wo ich was zur Einbringung finde? Danke euch. :)

supernova1963

Hallo LastOne,

helfen Dir vielleicht die Stichworte:
- autoshutterscontrol  (https://fhem.de/commandref_DE.html#AutoShuttersControl),
- Netatmo (https://fhem.de/commandref_DE.html#netatmo)
- zur Ermittlung der Sonneneinstrahlung reicht vielleicht ein Bewegungsmelder mit Helligkeitssensor
weiter?





roedert

Zitat von: LastOne am 16 Juni 2022, 22:56:04
Ich könnte also das kaufen, was gut einzubinden geht.

Die Auswahl an außentauglichen Sensoren für Temperatur und vor allem Helligkeit ist leider überschaubar. Ich bin jetzt bei den Teilen von HomeMatic IP gelandet - zur Einbindung in FHEM benötigst du allerdings eine CCU oder eine der CCU-Alternativen.

https://de.elv.com/homematic-ip-funk-temperatur-und-luftfeuchtigkeitssensor-hmip-stho-weiss-aussen-150573?fs=4232512297&c=765
https://de.elv.com/homematic-ip-lichtsensor-hmip-slo-aussen-fertiggeraet-151566?fs=337750162

Als Bausatz wer ein wenig löten kann nochmal ca 10 Euro günstiger....

Gisbert

Hallo LastOne,

ich nutze 2 Helligkeitssensoren (BH1750 und MAX4009), die jeweils an einem ESP8266 hängen (Firmware ESPEasy und Tasmota) hängen, der eine an der Ostfassade, der andere an der Westfassade; ESP8266 benötigen in der Regel eine stabile Stromversorgung, die wiederum einen 230V-Anschluss bedingen.
Beide Sensoren hängen in etwa senkrecht an der Fassade in einem kleinen Elektrokästchen mit durchsichtbarem Deckel.
Das Problem ist, dass die Helligkeit sehr stark von der Sonnenrichtung und der Tageszeit abhängt, und das auch noch jahreszeitlich stark schwankt. Beispiel: an einem wolkenlosem Sommertag im Schatten 5000 lux, in der Sonne 60000 lux. Die Position des Sensors kann durch Bäume oder Nachbargebäude zudem erschwert werden.
Ich hab für eine Verschattung an der Westseite den Quotienten aus West/Ostsensor genommen, der in meinem Fall funktioniert.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Prof. Dr. Peter Henning

ZitatDas Problem ist, dass die Helligkeit sehr stark von der Sonnenrichtung und der Tageszeit abhängt,
Richtig. Ich habe das Problem dadurch gelöst, dass ich mit meinem Astro-Modul die Richtung zur Sonne (Azimuth und Horizontwinkel) genau bestimme. Danach aus der ebenfalls genau bekannten Ausrichtung des Sensors (in dem Fall ein Strahlungssensor bei meiner PV-Anlage) die tatsächliche Strahlungsmenge  (in Watt/m²) aus Richtung der Sonne bestimme.

##############################################################################
#
#  Korrekturfaktor solare Einstrahlung
#
#  Normale PV-Anlage (-sin30*sin4,   -sin30*cos4, cos30)
#  Richtung Sonne    ( sin1z*cosalt, cosaz*sinalt, sinalt)
#
##############################################################################

sub solarcorrection($$){
  my ($az,$alt) = @_;
 
  #-- correction due to solar direction
  my $pi180 = 3.14159254/180;
  my $cosalt = cos($alt*$pi180);
  my $sinalt = sin($alt*$pi180);
  my $cosaz  = cos($az*$pi180);
  my $sinaz  = sin($az*$pi180);
  my $cos30  = sqrt(3.)/2;
  my $sin30  = 0.5;
  my $cos4   = cos(4*$pi180);
  my $sin4   = sin(4*$pi180);
 
  return -$sinaz*$cosalt*$sin30*$sin4
         -$cosaz*$cosalt*$sin30*$cos4
         +$sinalt       *$cos30;
 
}


Dieser Wert wird an einen Dummy-Sensor A.Light übertragen.

Für alle betroffenen Rollläden gibt es einen Eintrag in einem Hash, der festlegt:
- Welcher (virtuelle) Sensor wird verwendet
- Bei welchen Winklen (Azimuth, Elevation) wird das Autoshading aktiv
- Welche Funktion wird verwendet, um den Stand des Rollladens zu bestimmen
- Welche Grenzen (inklusive Hysterese) gibt es, um zwischen "sunny" und "cloudy" zu unterscheiden,
- Wie lange wird bis zur nächsten Prüfung gewartet.

Also z.B.

#-- OSC_BrightnessSensor OSC_Shading_InOutAzimuth OSC_Shading_MinMax_Elevation
#   OSC_Min_OutsideTemperature OSC_Shading_Mode OSC_Shading_Pos OSC_Shading_StateChange_SunnyCloudy
#   OSC_Shading_WaitingPeriod
my %oscshadeattrs = (
    "AZ.Roll.K" => ["A.Light","95:265","5:90","5","always","{shaderoof()}","300:200","300"],
    "AZ.Roll.G" => ["A.Light","95:265","5:90","5","always","{shaderoof()}","300:200","300"],
    "GZ.Roll.F" => ["A.Light","190:290","5:90","5","always","{shadewestOG()}","600:400","300"]
  ...


Die Funktionen sind empirisch bestimmt, z.B.

##############################################################################
#
#  Beschattungsfunktionen
#
##############################################################################

sub shaderoof(){
  my $az    = Value("A.SunAz");
  my $alt   = Value("A.SunAlt");
  #my $light = ReadingsVal("A.Light","state",0);
 
  return 15
    if( ReadingsVal("A.OWB.T","temperature",0) >= 30 );
  return 100
    if( ReadingsVal("A.OWB.T","temperature",0) <= 10 );
  if( $alt <10 ){
    return 0
  }elsif( $alt < 20 ){
    return 60
  }elsif( $alt < 30 ){
    return 50
  }elsif( $alt < 40 ){
    return 40
  }elsif( $alt < 50 ){
    return 30
  }elsif( $alt < 60 ){
    return 20
  }else{
    return 10
  }
}

und können, wie man sieht, auch auf die Raumtemperatur eingehen.

Das Ganze funktioniert seit Jahren hervorragend. Ich will daraus schon länger ein Modul als Alternative zum ASC-Modul bauen...

LG

pah

Gisbert

Hallo pah,

deine Lösung schaue ich mir sehr gerne an. Vorraussetzung ist, dass ich die infrage kommende Verschattung wieder nutzen kann. Nach über einem Jahr Wartezeit und etlichen Anrufen habe ich jetzt für August einen Termin zur Reperatur bekommen. Über den Preis kann man ja gar nicht mehr verhandeln, nur noch ob und wann die Handwerker kommen.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

juergen012

Hallo,
ich nutze für die Beschattung das ASC Modul. Als Helligkeitssensoren Homatic IP und Xiaomi Lichtsensor. Für den Sonnenstand habe ich das Astromodul in ASC gewählt. Klappt mittlerweile so, wie ich es gerne haben wollte.
Gruß
Jürgen K.
Fhem unter Proxmox

Gisbert

Hallo Jürgen,

an deiner Lösung bin ich auch interessiert; es hört sich so an, als ob ich deine Definitionen direkt übernehmen könnte.
Könntest du alle relevanten Definitionen hier mitteilen? Das wäre toll.

Viele​ Grüße​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

TomLee

Zitat von: Gisbert am 05 August 2022, 20:03:41
Hallo Jürgen,

an deiner Lösung bin ich auch interessiert; es hört sich so an, als ob ich deine Definitionen direkt übernehmen könnte.
Könntest du alle relevanten Definitionen hier mitteilen? Das wäre toll.

Viele​ Grüße​

Les doch einfach die Hilfe zu AutoShuttersControl, die Definition bringt dir doch nix, ausser ihr seid Nachbarn und habt parallel gebaut oder zufällig sonst die gleiche Ausrichtung des Haus.

help AutoShuttersControl

einmal überfliegen  ::) und den Teil:

ZitatBeschreibung der Beschattungsfunktion
Damit die Beschattung Funktion hat, müssen folgende Anforderungen erfüllt sein.
Im ASC Device das Reading "controlShading" mit dem Wert on, sowie ein Astro/Twilight Device im Attribut "ASC_twilightDevice" und das Attribut "ASC_tempSensor".
In den Rollladendevices benötigt ihr ein Helligkeitssensor als Attribut "ASC_BrightnessSensor", sofern noch nicht vorhanden. Findet der Sensor nur für die Beschattung Verwendung ist der Wert DEVICENAME[:READING] ausreichend.
Alle weiteren Attribute sind optional und wenn nicht gesetzt mit Default-Werten belegt. Ihr solltet sie dennoch einmal anschauen und entsprechend Euren Gegebenheiten setzen. Die Werte für die Fensterposition und den Vor- Nachlaufwinkel sowie die Grenzwerte für die StateChange_Cloudy und StateChange_Sunny solltet ihr besondere Beachtung dabei schenken.
ASC_Shading_InOutAzimuth - Azimut Wert ab dem bei Überschreiten Beschattet und bei Unterschreiten Endschattet werden soll. (default: 95:265)
ASC_Shading_MinMax_Elevation - ab welcher min Höhe des Sonnenstandes soll beschattet und ab welcher max Höhe wieder beendet werden, immer in Abhängigkeit der anderen einbezogenen Sensorwerte (default: 25.0:100.0)
ASC_Shading_Min_OutsideTemperature - ab welcher Temperatur soll Beschattet werden, immer in Abhängigkeit der anderen einbezogenen Sensorwerte (default: 18)
ASC_Shading_Mode - absent,always,off,home / wann soll die Beschattung nur stattfinden. (default: off)
ASC_Shading_Pos - Position des Rollladens für die Beschattung (Default: ist abhängig vom AttributASC 80/20) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!
ASC_Shading_StateChange_SunnyCloudy - Brightness Wert ab welchen die Beschattung stattfinden und aufgehoben werden soll, immer in Abhängigkeit der anderen einbezogenen Sensorwerte. Ein optionaler dritter Wert gibt an wie, viele Brightnesswerte für den aktuellen Brightness-Durchschnitt berücksichtigt werden. Standard ist 3, es sollten nicht mehr als 5 berücksichtigt werden. (default: 35000:20000 [3])
ASC_Shading_WaitingPeriod - wie viele Sekunden soll gewartet werden bevor eine weitere Auswertung der Sensordaten für die Beschattung stattfinden soll (default: 1200)
ASC_Shading_BetweenTheTime - das Fahren in die Beschattung erfolgt bei Angabe nur innerhalb des Zeitraumes, Bsp: 9:00-13:00 11:25-15:30

mit etwas einarbeiten/einlesen  :P , umsetzen.

Gruß

Thomas

Gisbert

Hallo Thomas,

wäre ja auch zu schön, dass in Fhem etwas plug&play funktioniert. Na gut, dann werde ich mich in dieses Modul reinknien; vielleicht schaffe ich das in absehbarer Zeit.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Prof. Dr. Peter Henning

Wenn wir alle Plug-and-Play-Häuser von der Stange hätten, wäre das sicher möglich.

Ansonsten: Mäkeln auf hohem Niveau, Dir wurde immer geholfen.

LG

pah

ch.eick

Zitat von: Prof. Dr. Peter Henning am 13 August 2022, 10:55:08
Wenn wir alle Plug-and-Play-Häuser von der Stange hätten, wäre das sicher möglich.

Ansonsten: Mäkeln auf hohem Niveau, Dir wurde immer geholfen.
Ich finde ASC echt toll, es ist plug&play aktiviert,
aber bei Rollos ist es leider sehr komplex, bis man all seine Wünsche umgesetzt hat.

VG
    Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Gisbert

Zitat von: Prof. Dr. Peter Henning am 13 August 2022, 10:55:08
Wenn wir alle Plug-and-Play-Häuser von der Stange hätten, wäre das sicher möglich.

Ansonsten: Mäkeln auf hohem Niveau, Dir wurde immer geholfen.

LG

pah

Den letzten Halbsatz kann ich so unterschreiben und ich schätze das Forum sehr und alle, die dazu beitragen (hab ich auch schon einige Male so schon geschrieben). Ich mache aktiv im Forum mit und versuche mit meinen bescheidenen Mitteln anderen zu helfen, wenn ich den Eindruck hab, helfen zu können ohne zu sehr Verwirrung zu stiften. Oft sind andere aber viel schneller und kompetenter als ich.
Zitatwäre ja auch zu schön, dass in Fhem etwas plug&play funktioniert.
In dem Satz steckt sicher der Wunsch drin, dass etwas einfach und direkt auf Anhieb funktioniert, aber das hat etwas mit mir zu tun. Wenn ich etwas suchen würde, was ohne mein Zutun funktioniert, dann wäre es für mich keine Herausforderung und langweilig. Ich mache hier sehr gerne mit und bin dankbar für jede Hilfe oder Idee, die ich weiterverfolgen kann.

Viele Grüße
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

juergen012

Sorry, erst jetzt gesehen..
Konfiguration Rollo Küche:

defmod RolloKueche Siro xxxxxx
attr RolloKueche userattr ASC_Adv:on,off ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforeDayOpen ASC_BlockingTime_beforeNightClose ASC_BrightnessSensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_CommandTemplate ASC_Down:time,astro,brightness,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning,EG_window ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate
attr RolloKueche ASC 1
attr RolloKueche ASC_Adv off
attr RolloKueche ASC_AutoAstroModeEvening HORIZON
attr RolloKueche ASC_AutoAstroModeEveningHorizon 0
attr RolloKueche ASC_AutoAstroModeMorning HORIZON
attr RolloKueche ASC_AutoAstroModeMorningHorizon 3
attr RolloKueche ASC_BlockingTime_afterManual 1
attr RolloKueche ASC_BlockingTime_beforeDayOpen 1
attr RolloKueche ASC_BlockingTime_beforeNightClose 1
attr RolloKueche ASC_BrightnessSensor HM_Lichtsensor_vorne:CURRENT_ILLUMINATION
attr RolloKueche ASC_Mode_Down always
attr RolloKueche ASC_Mode_Up always
attr RolloKueche ASC_Open_Pos 40
attr RolloKueche ASC_Pos_Reading position
attr RolloKueche ASC_Shading_InOutAzimuth 70:134
attr RolloKueche ASC_Shading_MinMax_Elevation 8:45
attr RolloKueche ASC_Shading_Min_OutsideTemperature 1
attr RolloKueche ASC_Shading_Mode always
attr RolloKueche ASC_Shading_Pos 90
attr RolloKueche ASC_Shading_StateChange_SunnyCloudy 320:299 1
attr RolloKueche ASC_Shading_WaitingPeriod 1200
attr RolloKueche ASC_TempSensor netatmo_Aussen
attr RolloKueche ASC_Time_Down_Late 21:30
attr RolloKueche ASC_Time_Up_Early 06:30
attr RolloKueche ASC_Time_Up_WE_Holiday 08:00
attr RolloKueche ASC_Ventilate_Window_Open off
attr RolloKueche DbLogExclude .*
attr RolloKueche IODev sduino
attr RolloKueche SIRO_Battery_low 2846
attr RolloKueche SIRO_time_to_close 33.17
attr RolloKueche SIRO_time_to_open 35.28
attr RolloKueche alexaName Rollo Küche
attr RolloKueche alias Rollo Küche
attr RolloKueche cmdIcon fav:rc_RIGHT off:rc_UP on:rc_DOWN stop:rc_STOP
attr RolloKueche devStateIcon {return '.*:fts_shutter_1w_'.(int($state/10)*10).''}
attr RolloKueche genericDeviceType blind
attr RolloKueche group Rollo
attr RolloKueche homebridgeMapping TargetPosition=position,cmd=position,cmds=100:on,invert=1,minValue=0,maxValue=100,minStep=1 CurrentPosition=position,cmd=position,invert=1,minValue=0,maxValue=100,minStep=1
attr RolloKueche room Home,Homekit,Siro
attr RolloKueche userReadings days-since-reset {my $lastreset = ReadingsVal( $name, 'motor-term-reset', time );;my $secs = (time - $lastreset)/86400;;my @out = split (/\./,$secs);; return $out[0];;}
attr RolloKueche verbose 2
attr RolloKueche webCmd stop:on:off:fav:position

Fhem unter Proxmox