NEWS
Rolladensteuerung abhängig vom Sonnenstand
-
was noch wichtig war - wir hatten eine berechnung eingeführt - eine art mittelwert über 5 messungen ( je minute eine)
ansonsten schaltet die rollo wie wild, wenn mal ein paar wolken kommen
-
@homoran said in Rolladensteuerung abhängig vom Sonnenstand:
es macht Sinn, dass Ganze von der Raumtemperatur abhängig zu machen.
nur als Zusatz, nicht als Auslöser wenn die RT durch die Einstrahlung ausreichend signifikant ansteigt ist dies als Trigger viel zu träge
Hast du recht.
Gibt es ein Adapter wo ich die Sonnenstärke abfragen kann?
-
@liv-in-sky said in Rolladensteuerung abhängig vom Sonnenstand:
was noch wichtig war - wir hatten eine berechnung eingeführt - eine art mittelwert über 5 messungen ( je minute eine)
ansonsten schaltet die rollo wie wild, wenn mal ein paar wolken kommenDas macht auf jeden Fall Sinn, dass man nicht auf jeden Veränderung direkt reagiert.
-
@jayr said in Rolladensteuerung abhängig vom Sonnenstand:
Gibt es ein Adapter wo ich die Sonnenstärke abfragen kann?
die musst du selber an deiner Fassade messen.
5km weiter nutzt dir nichtssiehe auch hier:
https://forum.iobroker.net/topic/33586/pool-zeituhr-für-pumpe/14?_=1610554525642 -
Die verlinkte Lösung von @Homoran habe ich auch und steuere damit meine Rollos. Ich messe die Außentemp. und mit dem gezeigten Teil, ob die Sonne scheint. Dann wird je nach Sonnenstand das entsprechende Rollo des Erkers angesteuert. Das ganze "springt" erst bei 23°C Temp. an. Zusätzlich habe ich eine an/aus Variable eingefügt um händisch eingreifen zu können.
Grüße Andreas -
@weimaraner said in Rolladensteuerung abhängig vom Sonnenstand:
Die verlinkte Lösung von @Homoran habe ich auch und steuere damit meine Rollos. Ich messe die Außentemp. und mit dem gezeigten Teil, ob die Sonne scheint. Dann wird je nach Sonnenstand das entsprechende Rollo des Erkers angesteuert. Das ganze "springt" erst bei 23°C Temp. an. Zusätzlich habe ich eine an/aus Variable eingefügt um händisch eingreifen zu können.
Grüße AndreasSind die 23°C außen oder Innentemperatur?
-
@jayr said in Rolladensteuerung abhängig vom Sonnenstand:
Sind die 23°C außen oder Innentemperatur?
die gemessene Hitze!
Das Pyranometer misst die Hitze in dem "Glashaus" im Vergleich zur Außentemperatur
-
@homoran said in Rolladensteuerung abhängig vom Sonnenstand:
Das Pyranometer misst die Hitze in dem "Glashaus" im Vergleich zur Außentemperatur
Sorry für die dumme Frage aber bin in dem Gebiet ein absoluter Anfänger.
Bei dem Pyranometer kommt ja ein Drucksensor zum Einsatz. Wie messe ich mit einem Drucksensor die Hitze? -
@jayr said in Rolladensteuerung abhängig vom Sonnenstand:
Bei dem Pyranometer kommt ja ein Drucksensor zum Einsatz
Ist das so?
Pyranometer heisst nur Hitzesensor.hier ist es ein Temperaturdifferenzsensor
-
Pass auf, das Teil mißt einmal die Außentemp. und zusätzlich hinter dem Glas eine zweite Temp. Scheint die Sonne steigt die Temp. hinter dem Glas sehr stark an, quasi wie im Gewächshaus. Ist nun die Differenz der beiden Messungen sehr hoch, kannst du davon ausgehen, daß die Sonne auf das Teil scheint.
Ich mache bei mir aber noch zusätzlich zur Bedingung, daß ein Rollo runter fährt, daß die Außentemp. bei mehr als 23°C liegt, weil ich im Winter auch bei Sonne die Rollos nicht rinterfahre. Da bin ich froh, wenn die Sonne mal scheint.Edit. Das hochfahren regele ich über Verzögerungen, um ein hoch und runter bei schnellem Sonnenwechsel zu vermeiden.
-
@weimaraner said in Rolladensteuerung abhängig vom Sonnenstand:
weil ich im Winter auch bei Sonne die Rollos nicht rinterfahre. Da bin ich froh, wenn die Sonne mal scheint.
Dann ist die Sonneneinstrahlung eine willkommene Heizungsunterstützung und kann Geld sparen!
Aber wunder dich nicht, wie starjk die IR-Starhlung der Sonne sowohl bei bedecktem Wetter, und erst recht im Winter bei Sonnenschein ist.
Bei "ausreichend" großer Fensterfläche wird es selbst dann manchmal zu warm.Deswegen ist zusätzlich die Innentemperatur mit einem sinnvollen Schwellwert auch im Winter für die Beschattung zu empfehlen
-
Danke euch 2 für die Gute Zusammenfassung habe verstanden wie es geht.
-
@homoran said in Rolladensteuerung abhängig vom Sonnenstand:
@weimaraner said in Rolladensteuerung abhängig vom Sonnenstand:
weil ich im Winter auch bei Sonne die Rollos nicht rinterfahre. Da bin ich froh, wenn die Sonne mal scheint.
Dann ist die Sonneneinstrahlung eine willkommene Heizungsunterstützung und kann Geld sparen!
Aber wunder dich nicht, wie starjk die IR-Starhlung der Sonne sowohl bei bedecktem Wetter, und erst recht im Winter bei Sonnenschein ist.
Bei "ausreichend" großer Fensterfläche wird es selbst dann manchmal zu warm.Deswegen ist zusätzlich die Innentemperatur mit einem sinnvollen Schwellwert auch im Winter für die Beschattung zu empfehlen
@homoran, @weimaraner, @liv-in-sky, @paul53
So sieht mal mein Anfang von meinem Skript aus. Macht die Logik soweit sinn oder hab ich was vergessen/ soll ich umstellen?
function controllerRollershutterSunMode(){ if(getState(CONF.settingsPath + CONF.dpRollerShutter.sunAutomatic).val) return; if(getState(CONF.settingsPath + CONF.dpRollerShutter.nightMode).val) return;3 let sunHigh = getState(CONF.newsPath + "weather." + "sunHeight").val; let azimut = getState(CONF.newsPath + "weather." + "sunAzimut").val; if(LOGGING && VERBOSE) log('Sun hight: ' + sunHigh); if(LOGGING && VERBOSE) log('Sun azimut: ' + azimut); if(sunHigh < 10){ //need to be adjust if(LOGGING && VERBOSE) log("Sun is to low"); return; } CONF.rooms.forEach(function(room) { if(!room.hardware.rollerShutter) return; if(!room.hardware.temperatureSensor) return; let roomTemp = getState(CONF.roomPath + room.name + "." + CONF.dpSensors.temperatureSensor).val; let tempShould = getState(CONF.roomPath + room.name + "." + CONF.dpTemp.souldRoom).val; let thresholdColder = getState(CONF.settingsPath + CONF.dpTemp.thresholdColder).val if(roomTemp < (tempShould - thresholdColder)){ if(LOGGING && VERBOSE) log("Temperatur in " + room.name + "is lower than should (" + roomTemp + " / " + tempShould + ")"); return; } room.rollerShutters.forEach(function(rollerShutter) { let crad = 0; if(rollerShutter.side == "N") crad = 340; else if(rollerShutter == "E") crad = 65; else if(rollerShutter.side == "S") crad = 155; else if(rollerShutter.side == "W") crad = 250; if(LOGGING && VERBOSE) log("Side from " + room.name + " / " + rollerShutter.name + " is: " + rollerShutter.side + " / " + azimut); if(azimut > crad - 85 && azimut < crad + 85) { //Logik um Pyranometer wert zu prüfen ob sonne stark genug wenn nicht exit //logik um nicht bei jeder Änderung zu reagieren //Logik um die höhe des Rolladens zu bestimmen wie weit dieser schließen soll. 40,60,80% evtl Lichtsensor prüfen } }); }); }
-
Nur mal so als Neben Information:
Die Rollladen Steuerung war mein erstes Projekt und auch der Grund warum ich iobroker eingesetzt habe. Habe zuerst mit Temperatur Sensoren etc experimentiert kam aber nicht zu einem zufriedenstellenden Ergebnis. Ich möchte ja dass meine Rollläden in die Beschattungs Position fahren bevor die große Hitze kommt.Schlussendlich habe ich dann den UV Index als Steuergröße gewählt (der ja bereits alle relevanten Sonnendaten berücksichtigt). Über den OpenUV Adapter bekommt man die geo spezifischen Roh UV Index Daten, über den Das Wetter Adapter die lokale Bewölkungs Situation. Daraus berechnet man sich den lokalen UV Index für die nächsten 3 Stunden der alle 15 Minuten aktualisiert wird. Wenn also der berechnete lokale UV Index in den kommenden 3 Stunden über einen von mir festgelegten Grenzwert kommt fahren meine Rollläden in die Beschattungs Position schon bevor die große Sonneneinstrahlung kommt.
Im Herbst/Winter tut sich dann automatisch gar nichts mehr da der UV Index nicht höher als 3 wird. Dann kann die Sonne mir auch gerne beim Heizen helfen.
Allerdings steuere ich nicht einzelne Haus Seiten. Die Ost Seite nur über eine Zeit Verzögerung.
Das läuft bei mir nun seit zwei Sommern für mich absolut zufriedenstellend und ohne großen Aufwand an Sensoren etc.
-
@albert-k said in Rolladensteuerung abhängig vom Sonnenstand:
Nur mal so als Neben Information:
Die Rollladen Steuerung war mein erstes Projekt und auch der Grund warum ich iobroker eingesetzt habe. Habe zuerst mit Temperatur Sensoren etc experimentiert kam aber nicht zu einem zufriedenstellenden Ergebnis. Ich möchte ja dass meine Rollläden in die Beschattungs Position fahren bevor die große Hitze kommt.Schlussendlich habe ich dann den UV Index als Steuergröße gewählt (der ja bereits alle relevanten Sonnendaten berücksichtigt). Über den OpenUV Adapter bekommt man die geo spezifischen Roh UV Index Daten, über den Das Wetter Adapter die lokale Bewölkungs Situation. Daraus berechnet man sich den lokalen UV Index für die nächsten 3 Stunden der alle 15 Minuten aktualisiert wird. Wenn also der berechnete lokale UV Index in den kommenden 3 Stunden über einen von mir festgelegten Grenzwert kommt fahren meine Rollläden in die Beschattungs Position schon bevor die große Sonneneinstrahlung kommt.
Im Herbst/Winter tut sich dann automatisch gar nichts mehr da der UV Index nicht höher als 3 wird. Dann kann die Sonne mir auch gerne beim Heizen helfen.
Allerdings steuere ich nicht einzelne Haus Seiten. Die Ost Seite nur über eine Zeit Verzögerung.
Das läuft bei mir nun seit zwei Sommern für mich absolut zufriedenstellend und ohne großen Aufwand an Sensoren etc.
Hört sich cool an. Kannst du mir mal ein code example schicken, wie du dies berechnet hast.
-
eigentlich ganz einfach mit einem Blockly. "LokalerUVI" ist dabei mein Datenpunkt in dem ich den lokalen UVI speichere, "UV" ist der rohe UV Wert aus dem OpenUV Adapter, "clouds" ist die Bewölkungs Situation aus dem Das Wetter Adapter in % und der Multiplikator für den UV Roh Wert hab ich aus der Doku von OpenUV übernommen. Dort gibt es auch weitere Code Samples etc.
-
@albert-k said in Rolladensteuerung abhängig vom Sonnenstand:
eigentlich ganz einfach mit einem Blockly. "LokalerUVI" ist dabei mein Datenpunkt in dem ich den lokalen UVI speichere, "UV" ist der rohe UV Wert aus dem OpenUV Adapter, "clouds" ist die Bewölkungs Situation aus dem Das Wetter Adapter in % und der Multiplikator für den UV Roh Wert hab ich aus der Doku von OpenUV übernommen. Dort gibt es auch weitere Code Samples etc.
Vielen Dank für das Bsp.
Könntest du mir evtl ein Export von deinem Blockly schicken?
-
There you go...
BlocklyJavascriptTypeScript Protokoll Ausgewählte Blöcke exportieren <xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="Ccu1kSo}}RMZK6BM({1:" x="-367" y="-583"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="DMKiTjBDj@].O;Z]a?iO"> <field name="oid">daswetter.0.NextHours2.Location_1.Day_1.current.clouds</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="fys`H_M)gu:$qp{PoWO)"> <field name="oid">openuv.0.UV</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="21:,*-..`GigU,Y.U|pQ"> <mutation elseif="3"></mutation> <value name="IF0"> <block type="logic_compare" id="z9}(X]Cm+svbb455%Sgl"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="k*kZHuJ-k;7R0[=wF6(I"> <field name="ATTR">val</field> <field name="OID">daswetter.0.NextHours2.Location_1.Day_1.current.clouds</field> </block> </value> <value name="B"> <block type="math_number" id="ek}ZjEV$.3Mn4)i4ho*;"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="{{k4|9fbb3N2x`S5r?M4"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.LokalerUVI</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="%bSNIBP,6(:=^s|C)SWU"> <field name="OP">ROUND</field> <value name="NUM"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="jo%o1Q:?pE*2u2|C|^h9"> <field name="NUM">3.1</field> </shadow> <block type="get_value" id="*W1Gi9h8O)=hXL]AX6z}"> <field name="ATTR">val</field> <field name="OID">openuv.0.UV</field> </block> </value> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="Em(4M:gAakK!#pn3-;;]"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="3-F3pvZI~D8Pu$i|^n%N"> <field name="ATTR">val</field> <field name="OID">daswetter.0.NextHours2.Location_1.Day_1.current.clouds</field> </block> </value> <value name="B"> <block type="math_number" id="/$|iMb4t?JG9v312([[w"> <field name="NUM">50</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="K,k/Mq84=S5ys?mJA5t$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.LokalerUVI</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="N[ZCJrK{uAUu!3f-uuy_"> <field name="OP">ROUND</field> <value name="NUM"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$RUbuhvt9|vl5TR}?tva"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="|+EM@G!c;9$[y(Q@WC)y"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="OO;Vn9884f=pa,G+5JnV"> <field name="NUM">1</field> </shadow> <block type="get_value" id="Rd/Hy3@d;4baY}0s7)y6"> <field name="ATTR">val</field> <field name="OID">openuv.0.UV</field> </block> </value> <value name="B"> <shadow type="math_number" id="8Tk:LP.lI^`XjglTd+Hy"> <field name="NUM">0.89</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> <value name="IF2"> <block type="logic_compare" id="h-IpD)-A90-fSmnXpzCZ"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="KO{qHyCPGd7l-L5*^fen"> <field name="ATTR">val</field> <field name="OID">daswetter.0.NextHours2.Location_1.Day_1.current.clouds</field> </block> </value> <value name="B"> <block type="math_number" id="va:VpPx#raF`rhG*jL-}"> <field name="NUM">95</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id=".tR@9X0KicXPRXx*rj2{"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.LokalerUVI</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="w-ZGK}~(k/Qiw[A)Q`^$"> <field name="OP">ROUND</field> <value name="NUM"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="f~W6(?io#hSF-n?GNwM4"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="meOdH1WuG|w_{GL=eIIs"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="OO;Vn9884f=pa,G+5JnV"> <field name="NUM">1</field> </shadow> <block type="get_value" id="({OW]f8CaINF024,oE0?"> <field name="ATTR">val</field> <field name="OID">openuv.0.UV</field> </block> </value> <value name="B"> <shadow type="math_number" id="!w(m1QR`rbbkA6[NL2d;"> <field name="NUM">0.73</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> <value name="IF3"> <block type="logic_compare" id="rI}U|]*}DZxK0iM886,p"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="^.b);s2u)f+J/NRVI/_$"> <field name="ATTR">val</field> <field name="OID">daswetter.0.NextHours2.Location_1.Day_1.current.clouds</field> </block> </value> <value name="B"> <block type="math_number" id="1+nC+Gm~WY+`9xPAqf[A"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO3"> <block type="update" id="|c3Qpsr@{uu+l1W2LkqI"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.LokalerUVI</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="^k2kSz]PqJTsj4+u}[5;"> <field name="OP">ROUND</field> <value name="NUM"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="lLMJ).OumyGVtlAnP;m7"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="o@fu:p9aeN0sa1tQRuT~"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="OO;Vn9884f=pa,G+5JnV"> <field name="NUM">1</field> </shadow> <block type="get_value" id="1gV%^bXsCbmgDDGHGM~e"> <field name="ATTR">val</field> <field name="OID">openuv.0.UV</field> </block> </value> <value name="B"> <shadow type="math_number" id="XrOeqtk9uUR~WH8oZSxT"> <field name="NUM">0.31</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> </block> </statement> </block> </xml> <xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="Ccu1kSo}}RMZK6BM({1:" x="-367" y="-583"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="DMKiTjBDj@].O;Z]a?iO"> <field name="oid">daswetter.0.NextHours2.Location_1.Day_1.current.clouds</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="fys`H_M)gu:$qp{PoWO)"> <field name="oid">openuv.0.UV</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="21:,*-..`GigU,Y.U|pQ"> <mutation elseif="3"></mutation> <value name="IF0"> <block type="logic_compare" id="z9}(X]Cm+svbb455%Sgl"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="k*kZHuJ-k;7R0[=wF6(I"> <field name="ATTR">val</field> <field name="OID">daswetter.0.NextHours2.Location_1.Day_1.current.clouds</field> </block> </value> <value name="B"> <block type="math_number" id="ek}ZjEV$.3Mn4)i4ho*;"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="{{k4|9fbb3N2x`S5r?M4"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.LokalerUVI</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="%bSNIBP,6(:=^s|C)SWU"> <field name="OP">ROUND</field> <value name="NUM"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="jo%o1Q:?pE*2u2|C|^h9"> <field name="NUM">3.1</field> </shadow> <block type="get_value" id="*W1Gi9h8O)=hXL]AX6z}"> <field name="ATTR">val</field> <field name="OID">openuv.0.UV</field> </block> </value> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="Em(4M:gAakK!#pn3-;;]"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="3-F3pvZI~D8Pu$i|^n%N"> <field name="ATTR">val</field> <field name="OID">daswetter.0.NextHours2.Location_1.Day_1.current.clouds</field> </block> </value> <value name="B"> <block type="math_number" id="/$|iMb4t?JG9v312([[w"> <field name="NUM">50</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="K,k/Mq84=S5ys?mJA5t$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.LokalerUVI</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="N[ZCJrK{uAUu!3f-uuy_"> <field name="OP">ROUND</field> <value name="NUM"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="$RUbuhvt9|vl5TR}?tva"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="|+EM@G!c;9$[y(Q@WC)y"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="OO;Vn9884f=pa,G+5JnV"> <field name="NUM">1</field> </shadow> <block type="get_value" id="Rd/Hy3@d;4baY}0s7)y6"> <field name="ATTR">val</field> <field name="OID">openuv.0.UV</field> </block> </value> <value name="B"> <shadow type="math_number" id="8Tk:LP.lI^`XjglTd+Hy"> <field name="NUM">0.89</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> <value name="IF2"> <block type="logic_compare" id="h-IpD)-A90-fSmnXpzCZ"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="KO{qHyCPGd7l-L5*^fen"> <field name="ATTR">val</field> <field name="OID">daswetter.0.NextHours2.Location_1.Day_1.current.clouds</field> </block> </value> <value name="B"> <block type="math_number" id="va:VpPx#raF`rhG*jL-}"> <field name="NUM">95</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id=".tR@9X0KicXPRXx*rj2{"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.LokalerUVI</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="w-ZGK}~(k/Qiw[A)Q`^$"> <field name="OP">ROUND</field> <value name="NUM"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="f~W6(?io#hSF-n?GNwM4"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="meOdH1WuG|w_{GL=eIIs"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="OO;Vn9884f=pa,G+5JnV"> <field name="NUM">1</field> </shadow> <block type="get_value" id="({OW]f8CaINF024,oE0?"> <field name="ATTR">val</field> <field name="OID">openuv.0.UV</field> </block> </value> <value name="B"> <shadow type="math_number" id="!w(m1QR`rbbkA6[NL2d;"> <field name="NUM">0.73</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> <value name="IF3"> <block type="logic_compare" id="rI}U|]*}DZxK0iM886,p"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="^.b);s2u)f+J/NRVI/_$"> <field name="ATTR">val</field> <field name="OID">daswetter.0.NextHours2.Location_1.Day_1.current.clouds</field> </block> </value> <value name="B"> <block type="math_number" id="1+nC+Gm~WY+`9xPAqf[A"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO3"> <block type="update" id="|c3Qpsr@{uu+l1W2LkqI"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.LokalerUVI</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="^k2kSz]PqJTsj4+u}[5;"> <field name="OP">ROUND</field> <value name="NUM"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="lLMJ).OumyGVtlAnP;m7"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="o@fu:p9aeN0sa1tQRuT~"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="OO;Vn9884f=pa,G+5JnV"> <field name="NUM">1</field> </shadow> <block type="get_value" id="1gV%^bXsCbmgDDGHGM~e"> <field name="ATTR">val</field> <field name="OID">openuv.0.UV</field> </block> </value> <value name="B"> <shadow type="math_number" id="XrOeqtk9uUR~WH8oZSxT"> <field name="NUM">0.31</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> </block> </statement> </block> </xml>
-
@albert-k : Danke vielmals
-
Hallo Gemeinde,
auch wenn ich mit meiner Beschattungssteuerung zufrieden bin, Die Idee mit UV Index und Bewölkung gefällt mir richtig gut, muss ich ausprobieren, auch wenn es noch etwas dauert bis die wieder greift.
Bisher mache ich es so wie hier schon beschrieben:
Eingangsgrössen sind:- Azimuth für jedes Fenster
- Sonnenschein ja/nein über HM Temperaturdifferenz Sensor (ein Sensor unter Glas, der andere im Schatten)
- Differenz Raum soll zu Raum ist
- Differenz Aussentemp zu Temp Raum ist