Jochen1&1 wrote, on 23.06.2013 17:12:
Wurde so etwas eventuell im "Webpage for Jalousie Control" schon mal angewendet? Wenn ja, kann jemand den Link im Wiki wieder zum Leben erwecken?

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.

Hallo Jochen,

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.

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...

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.

<!DOCTYPE html>
<html  lang="de">
<head>
<title>Jalousiensteuerung mit digitalSTROM</title>
<meta  http-equiv="Content-Type"content="text/html; charset=iso-8859-15">
<meta  name="author"content="Moritz Franckenstein [[email protected]]">
<meta  name="ROBOTS"content="NOINDEX, NOFOLLOW">
<script src="http://code.jquery.com/jquery-1.8.0.min.js <view-source:http://code.jquery.com/jquery-1.8.0.min.js>"></script> <!--script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js";></script-->
<script>

//TODO
///json/apartment/getConsumption
///json/device/setOutputValue?dsid=x&offset=0&value=255

$(function(){

  $('#loading').text('Bitte warten...');
  $.ajaxSetup({ cache: false });
    $.getJSON('/json/apartment/getDevices', function(data){
    var items = [];
items.push('<tr><td/><td/><td/><td><input type="button" value="alle" onClick="DoPosAlle()"></td><td/></tr>');
    $.each(data.result, function(key, val){
      if (val.productID == 3292 && val.isPresent)
        items.push('<tr><td>' + val.name + '</td>'
+ '<td><input type="button" value="&uarr;" onClick="DoAuf(\''+ val.id+ '\')">' + '<input type="button" value="stop" onClick="DoStop(\''+ val.id+ '\')">' + '<input type="button" value="&darr;" onClick="DoAb(\''+ val.id+ '\')"></td>' + '<td><input type="button" value="sonne" onClick="DoSc2(\''+ val.id+ '\')"></td>' + '<td><input type="button" value="position" onClick="DoPos(\''+ val.id+ '\')"></td>'
          + '<td id="'+ val.id+ '">&nbsp;</td></tr>');
    });
      items.sort();
    $('<table/>', { html: items.join('') }).appendTo('body');
    $('#loading').remove();
  });
});

function DoAuf(dsid){
  $('#'+ dsid).text('Anfrage läuft...');
  $.get('/json/device/turnOn', { dsid: dsid }, function(data){
    $('#'+ dsid).text(data.ok ? 'ok' : 'Fehler!');
  });
}

function DoStop(dsid){
  $('#'+ dsid).text('Anfrage läuft...');
$.get('/json/device/callScene', { dsid: dsid, sceneNumber: 15 }, function(data){
    $('#'+ dsid).text(data.ok ? 'ok' : 'Fehler!');
  });
}

function DoAb(dsid){
  $('#'+ dsid).text('Anfrage läuft...');
  $.get('/json/device/turnOff', { dsid: dsid }, function(data){
    $('#'+ dsid).text(data.ok ? 'ok' : 'Fehler!');
  });
}

function DoSc2(dsid){ //Stimmung 4: Sonnenschutzstellung
  $('#'+ dsid).text('Anfrage läuft...');
$.get('/json/device/callScene', { dsid: dsid, sceneNumber: 19 }, function(data){
    $('#'+ dsid).text(data.ok ? 'ok' : 'Fehler!');
  });
}

function DoPos(dsid){
  $('#'+ dsid).text('Anfrage läuft...');
$.get('/json/device/getOutputValue', { dsid: dsid, offset: 0 }, function(data){
    $('#'+ dsid).text((data.ok ? data.result.value : 'Fehler!'));
  });
}

function DoPosAlle(){
  $('tr>td[id]').each(function(index, value){
    DoPos(value.id);
  });
}

</script>
</head>
<body>
<p  id="loading">Wird geladen...</p>
</body>
</html>


--
Moritz Franckenstein
[email protected]

_______________________________________________
dss-developer mailing list
[email protected]
http://forum.digitalstrom.org/cgi-bin/mailman/listinfo/dss-developer

Reply via email to