<div dir="ltr">Hallo Jochen,<div><br></div><div>mit einem <a href="http://www.raspiprojekt.de/shop/product/view/18/49.html">Zusatzmodul</a> kann der Raspberry auch direkt an den ds485-Bus angebunden werden. Ich habe diese Konstellation aktuell in meinem Testbaukasten im Einsatz und werde in den kommenden Wochen pruefen wie einfach sich eine Python-Schnittstelle fuer den ds485d implementieren laesst.</div>
<div>Damit waere es dann moeglich die Installation unabhaengig vom dSS zu steuern. Ich werde von meinen Fortschritten berichten.</div><div><br></div><div>Gruss, Jens</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
Am 25. Juni 2013 23:04 schrieb Jochen1&1 <span dir="ltr"><<a href="mailto:jochen.gerstl@onlinehome.de" target="_blank">jochen.gerstl@onlinehome.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hallo Moritz,<br>
<br>
danke für Deine schnelle Auskunft.<br>
<br>
Mit dem Sonnenstand hast Du recht, es ist tatsächlich zu jeder Jahres Zeit, zur gleichen Uhrzeit der gleiche Winkel (Azimut). Der Höhenwinkel ist aber Jahreszeitabhängig.<br>
<br>
Ich habe aber beim Zeitschaltprogramm noch nicht die Möglichkeit gefunden Bereiche größer eine Woche zu definieren. (z.B. monatlich, Quartalsweise, halbjährlich usw.) Auch finde ich nicht die Möglichkeit Feiertage, Brückentage zu definieren, an diesen sollte sich das gleiche abspielen wie an Sonntagen.<br>

<br>
Die Erkennung von Regen, Wind und Hagel ist in meinem aktuellen dss als Aktivität schon integriert, warum hier Sonne/keine Sonne fehlt habe ich noch nicht herausgefunden. Ich vermute aber, dass es nur mit Sonne nicht getan ist, sondern z.B Sonne1..8 (für acht Himmelsrichtungen) benötigt werden würden. Im Beispiel mit Elsner Wetterstation werden hier die Stimmungen 41,42 usw. verwendet.<br>

<br>
Um die Wetterstation einbinden zu können benötigt man<br>
1. die neuen Automatisierungsklemmen und<br>
2. eine Wetterstation, welche in der Lage ist Grenzwerte festzulegen und das Auswerteergebnis an ein Relais zu schicken.<br>
<br>
Dies ist für viele denkbare Anwendungen (z.B. Raumthermostat oder Raumdiffdruckwächter für Schornstein/Kaminofen Überwachung mit gezielter Abschaltung von Dunstabzugshaube/<u></u>Lüftungsanlage/<u></u>Einbaustaubsauger usw) ein gehbarer Weg. Für eine Wetterstation meiner Meinung nach zu unflexibel und umständlich.<br>

<br>
Mit schwebt hier die Wetterstation WSC 11 der Firma Thies Clima vor. Diese liefert sämtliche Wetterdaten (Sonne nach Richtung und Wert, Wind, Regen, Globalstrahlung, Sonnenstand! und noch vieles mehr) als RS485 properitäres Thies Protokoll oder Modbus RTU. Das properitäre Protokoll ist sehr einfach z.B. per Python lesbar. Auch für den Modbus gibt es vorgefertigte Python Module. Meine Vorstellung wäre nun z.B. einen Arduino oder Raspbery Pi das Protokoll auswerten zu lassen und die Messwerte dort mit den gewünschten Grenzwerten zu belegen. Das Resultat dann einfach via Intranet an den dss schicken und dort damit z.B. die Stimmung 41 oder Regen, oder Wind auslösen. Dies sollte nach meinem Verständnis möglich sein.<br>

<br>
Wenn ich mir Deine Funktion "DoPos" anschaue vermute ich, dass mit dieser ein verfahren des Lammellenwinkels möglich ist. Hier könnte der "RaspberryPi" anhand des Höhenwinkels der Sonne sogar den Lamellenwinkel entsprechend nach fahren (im z.B. 5-10 Minuten Raster um keine Regel zu verletzen).<br>

<br>
Vorteil 1: Die Wetterstation + Raspberry Pi ist billiger (ca 600 EUR) als die von Elsner (ca 800 EUR) + Automatisierungsklemmen, aber damit immer noch recht teuer.<br>
Vorteil 2: Diese Konstellation deckt beliebig viele Grenzwerte auf alle Messwerte ab. (Elsner lediglich 8)<br>
<br>
Für den einfachsten Fall würde tatsächlich nur ein Helligkeitsschalter (ich habe allerdings bislang nur Dämmerungsschalter gefunden) pro Fassade und eine Automatisierungsklemme reichen. Auf den Regensensor kann man getrost verzichten, da kurz vor Regen in der Regel die Helligkeit schon so stark abgenommen hat, dass die Markisen von alleine einfahren. In den seltenen Fällen, wo es anders ist wird die Markise komplett nass, da es, um den Regen erkennen zu können, ja bereits regnet.<br>

<br>
Weiterhin ist für Markisen und Jalousien noch ein Windwächter notwendig. Da der Wind nicht an allen Fassaden gleich weht müssten man hier mehrere vorsehen. Hat man Markisen und Jalousien muss der Windwächter zwei Grenzwerte schalten können.<br>

<br>
Man sieht recht schnell, dass der einfachste Fall sich recht schnell weiter entwickelt und damit eventuell doch die Investition in eine Wetterstation und etwas Programmieraufwand rechtfertigt.<br>
<br>
Vielleicht kann man sich den Raspberry Pi auch schenken und die USB Schnittstelle am dss benutzen, welche eventuell direkt über eine dss App ausgelesen werden kann?<br>
<br>
Wie Du siehst bin ich noch in der Gedankenfindungsphase.<br>
<br>
Mein erstes Ziel wäre es aktuell, z.B. per Python gezielt Stimmungen zu setzen. Wenn das funktioniert, würde ich versuchen eine der vielen Wetterseiten für meinen Standort auszuwerten und bei Regen/Sonnensymbol die entsprechenden Stimmungen einstellen. Dies dürfte dann schon recht nah an der Realität sein.<br>

<br>
Hast Du in dieser Richtung schon mal was gemacht? Oder weiß jemand, was ich alles lesen muss um das hinzubekommen? Der dss akzeptiert ja nicht direkt von jedem etwas ohne angemeldet zu sein.<br>
<br>
<br>
Jochen<br>
<br>
<br>
Am Sun, 23 Jun 2013 20:36:26 +0200 hat Moritz Franckenstein <<a href="mailto:digitalstrom@maf-soft.de" target="_blank">digitalstrom@maf-soft.de</a>> geschrieben:<div><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Jochen1&1 wrote, on 23.06.2013 17:12:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Wurde so etwas eventuell im "Webpage for Jalousie Control" schon mal angewendet? Wenn ja, kann jemand den Link im Wiki wieder zum Leben erwecken?<br>
<br>
Problem: Ich habe ein Ost, eine Süd, eine Westfassade und zwei Dachflächen mit Dachfensterrollladen und möchte die Jalousien/Rollladen nur runter fahren, wenn die entsprechende Fassade von der Sonne beschienen wird.<br>
</blockquote>
<br>
Hallo Jochen,<br>
<br>
diese Seite wurde für mich angelegt, weil ich meine Jalousiensteuerung dort dokumentieren wollte. Bin nur leider noch nicht dazu gekommen, bzw. wollte meine Lösung erst noch weiterentwickeln.<br>
<br>
Die "Webpage for Jalousie Control" ist nichts weiter als eine bequeme und schnelle Möglichkeit, die Jalousien vom PC oder Handy manuell zu bedienen. Es hat also nichts mit Automatisierung oder Sonnenstand zu tun. Wir haben ebenfalls Ost, Süd und West, und wollen die Jalousien abhängig vom Sonnenstand nur auf den nötigen Seiten zu haben. Dafür braucht man aber für den Übergang von Ost nach Süd nach West keinen Sonnenstand zu ermitteln, denn die Umschaltzeit ist immer zur gleichen Uhrzeit. Wir benutzen lediglich morgens und abends die vom System bereitgestellten Möglichkeiten zum Sonnenauf- und -untergang, und dazwischen nur feste Uhrzeiten. Das funktioniert optimal. So geht bei uns um 12:45 Ost auf und um 14:00 West zu. Das einzige was mir da noch fehlt, ist eine Erkennung ob denn überhaupt die Sonne scheint, und ob es drinnen überhaupt zu warm ist oder wird...<br>

<br>
Hier der Quelltext (bei mir abgelegt unter /add-ons/jalousien/) - das ist momentan nicht allgemeingültig oder konfigurierbar, sondern nur genau auf unsere Gegebenheiten abgestimmt und müsste entsprechend angepasst werden.<br>

<br>
<!DOCTYPE html><br>
<html  lang="de"><br>
<head><br>
<title>Jalousiensteuerung mit digitalSTROM</title><br>
<meta  http-equiv="Content-Type"<u></u>content="text/html; charset=iso-8859-15"><br>
<meta  name="author"content="Moritz Franckenstein [<a href="mailto:webmaster@maf-soft.de" target="_blank">webmaster@maf-soft.de</a>]"><br>
<meta  name="ROBOTS"content="NOINDEX, NOFOLLOW"><br>
<script  src="<a href="http://code.jquery.com/jquery-1.8.0.min.js" target="_blank">http://code.jquery.com/<u></u>jquery-1.8.0.min.js</a> <view-source:<a href="http://code.jquery.com/jquery-1.8.0.min.js" target="_blank">http://code.<u></u>jquery.com/jquery-1.8.0.min.js</a><u></u>>"></script><br>

<!--script src="<a href="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" target="_blank">https://ajax.googleapis.<u></u>com/ajax/libs/jquery/1.7.2/<u></u>jquery.min.js</a>"></script--> <script><br>

<br>
//TODO<br>
///json/apartment/<u></u>getConsumption<br>
///json/device/setOutputValue?<u></u>dsid=x&offset=0&value=255<br>
<br>
$(function(){<br>
<br>
   $('#loading').text('Bitte warten...');<br>
   $.ajaxSetup({ cache: false });<br>
     $.getJSON('/json/apartment/<u></u>getDevices', function(data){<br>
     var items = [];<br>
items.push('<tr><td/><td/><td/<u></u>><td><input type="button" value="alle" onClick="DoPosAlle()"></td><<u></u>td/></tr>');<br>
     $.each(data.result, function(key, val){<br>
       if (val.productID == 3292 && val.isPresent)<br>
         items.push('<tr><td>' + <a href="http://val.name" target="_blank">val.name</a> + '</td>'<br>
           + '<td><input type="button" value="&uarr;" onClick="DoAuf(\''+ <a href="http://val.id" target="_blank">val.id</a>+ '\')">'<br>
           + '<input type="button" value="stop" onClick="DoStop(\''+ <a href="http://val.id" target="_blank">val.id</a>+ '\')">'<br>
           + '<input type="button" value="&darr;" onClick="DoAb(\''+ <a href="http://val.id" target="_blank">val.id</a>+ '\')"></td>'<br>
           + '<td><input type="button" value="sonne" onClick="DoSc2(\''+ <a href="http://val.id" target="_blank">val.id</a>+ '\')"></td>'<br>
           + '<td><input type="button" value="position" onClick="DoPos(\''+ <a href="http://val.id" target="_blank">val.id</a>+ '\')"></td>'<br>
           + '<td id="'+ <a href="http://val.id" target="_blank">val.id</a>+ '">&nbsp;</td></tr>');<br>
     });<br>
       items.sort();<br>
     $('<table/>', { html: items.join('') }).appendTo('body');<br>
     $('#loading').remove();<br>
   });<br>
});<br>
<br>
function DoAuf(dsid){<br>
   $('#'+ dsid).text('Anfrage läuft...');<br>
   $.get('/json/device/turnOn', { dsid: dsid }, function(data){<br>
     $('#'+ dsid).text(data.ok ? 'ok' : 'Fehler!');<br>
   });<br>
}<br>
<br>
function DoStop(dsid){<br>
   $('#'+ dsid).text('Anfrage läuft...');<br>
   $.get('/json/device/callScene'<u></u>, { dsid: dsid, sceneNumber: 15 }, function(data){<br>
     $('#'+ dsid).text(data.ok ? 'ok' : 'Fehler!');<br>
   });<br>
}<br>
<br>
function DoAb(dsid){<br>
   $('#'+ dsid).text('Anfrage läuft...');<br>
   $.get('/json/device/turnOff', { dsid: dsid }, function(data){<br>
     $('#'+ dsid).text(data.ok ? 'ok' : 'Fehler!');<br>
   });<br>
}<br>
<br>
function DoSc2(dsid){                      //Stimmung 4: Sonnenschutzstellung<br>
   $('#'+ dsid).text('Anfrage läuft...');<br>
   $.get('/json/device/callScene'<u></u>, { dsid: dsid, sceneNumber: 19 }, function(data){<br>
     $('#'+ dsid).text(data.ok ? 'ok' : 'Fehler!');<br>
   });<br>
}<br>
<br>
function DoPos(dsid){<br>
   $('#'+ dsid).text('Anfrage läuft...');<br>
   $.get('/json/device/<u></u>getOutputValue', { dsid: dsid, offset: 0 }, function(data){<br>
     $('#'+ dsid).text((data.ok ? data.result.value : 'Fehler!'));<br>
   });<br>
}<br>
<br>
function DoPosAlle(){<br>
   $('tr>td[id]').each(function(<u></u>index, value){<br>
     DoPos(<a href="http://value.id" target="_blank">value.id</a>);<br>
   });<br>
}<br>
<br>
</script><br>
</head><br>
<body><br>
<p  id="loading">Wird geladen...</p><br>
</body><br>
</html><br>
<br>
<br>
</blockquote>
<br>
<br>
-- <br></div></div>
Jochen Gerstl<br>
<br>
Tullastraße 28 A<br>
68809 Neulußheim<br>
<br>
Tel: 06205 / 307814<div class="HOEnZb"><div class="h5"><br>
______________________________<u></u>_________________<br>
dss-developer mailing list<br>
<a href="mailto:dss-developer@forum.digitalstrom.org" target="_blank">dss-developer@forum.<u></u>digitalstrom.org</a><br>
<a href="http://forum.digitalstrom.org/cgi-bin/mailman/listinfo/dss-developer" target="_blank">http://forum.digitalstrom.org/<u></u>cgi-bin/mailman/listinfo/dss-<u></u>developer</a><br>
</div></div></blockquote></div><br></div>