Neue Variante zur Steuerung der Rollläden mit Anzeige in der APP_Teil 2
5. Systemvariablen für den Onlinestatus
Für jeden Rollladen einzeln separate Systemvariable
In der Kanalauswahl wird immer der passende Rollladen ausgewählt
6. Programm zur Aktualisierung der Behang Höhe anlegen, für jeden einzelnen Rollladen
In der Geräteauswahl wird der Timer, den wir unter 1. Angelegt haben ausgewählt.
7. Als Skript nutzen wir die Basis der Anleitung von 66er (Stefan) und die Ergänzungen von raabi.
! Von @raabi angepasstes Skript basierend auf:
!Skript V3.1.1 zur Behanghöheaktualisierung (%) Shelly2.5 als Rollladenaktor mit Originalfirmware © by 66er (alias Stefan K.) Alle Rechte vorbehalten
! Changelog: vereinfachtes Setup
!Zimmer (nur zur Orientierung, ggf anpassen)
!**** SETUP ******** SETUP ******** SETUP ******** SETUP ***
! ACHTUNG: Beim Anpassen der Adressen keine "" löschen!
! Setup der CUxD-GERÄTE
var url = "http://192.168.xxx.xxx/roller/0"; ! IP-Adresse des Shelly 2.5 anpassen
var exec2r = "CUxD.CUX2801003:3"; ! Adresse und Kanal des CUxD-Exec-Device angeben
var shelly25 = "CUxD.CUX2801001:1" ; ! Adresse und Kanal des CUxD-Device für den Shelly 2.5 anpassen
!Setup der SYSTEMVARIABLE(N)
var bhh = "Rolladen_Behanghoehe_Gaeste_Bad"; ! Name der Systemvariablen für die Rolladen_Behanghoehe_Gaeste_Bad anpassen
!****ENDE SETUP ********ENDE SETUP ********ENDE SETUP ******
!*****Ab hier NICHTS MEHR ÄNDERN *****
!****Abfrage des Shelly2.5 als Rollladenaktor*****
dom.GetObject(""#exec2r#".CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject(""#exec2r#".CMD_QUERY_RET").State(1);
string Antwort = dom.GetObject(""#exec2r#".CMD_RETS").State();
string t = dom.GetObject(""#exec2r#".CMD_RETS").State();
dom.GetObject(""#exec2r#".CMD_SETS").State("0");
!WriteLine(Antwort);
!WriteLine(t);
!****Auswertung des Antwortstrings ****
string s;
foreach (s,t.Split (",")) {
if (s.LTrim ("{").StartsWith ('"current_pos"')) {
string e = (s.StrValueByIndex (":",1).RTrim ("}"));
WriteLine(e);
}
}
!**** Variable Rollladenbehanghöhe setzen****
dom.GetObject(""#bhh#"").State(e);
!**** Variable Rollladenbehanghöhe setzen****
!Variablennamen anpassen
dom.GetObject(""#bhh#"").State(e);
var Hoehe=dom.GetObject(""#bhh#"").Value();
Hoehe=Hoehe/100;
WriteLine(Hoehe);
dom.GetObject(""#shelly25#".SET_STATE").State(Hoehe);
!Ende Skript
Alles anzeigen
8. Zusatzsoftware XMLAPI in der CCU prüfen und gegebenenfalls installieren.
9. ID der einzelnen Programme der Behang Höhe identifizieren:
Dazu müsst ihr die XML Config aufrufen.
<IP der CCU> muss durch die IP Eurer Homematic ergänzt werden
Diese ID wird im nächsten Schritt für die Konfiguration des Shellys benötigt.
Sollte Ihr mehrere Rollläden konfiguriert haben, sollten alle mit einer separaten ID aufgelistet sein.
10. Shellly Konfiguration
Damit das Programmes für die Behang Höhenabfrage des einzelnen Rollladens gestartet wird, muss unter Einstellungen des Shelly’s folgendes ergänzt werden.
Einstellung für: ROLLER STOP URL
Dieses aktiviert werden und folgender http Aufruf hinterlegt werden.
<IP der CCU> muss durch die IP Eurer Homematic ergänzt werden
<18475> muss durch Eure passende ergänzt werden
Wenn der Shelly nun stoppt, wird in der Homematic das Programm ausgeführt.
Damit wird nun der Onlinestatus und die Behang Höhe in der WEB Ansicht und innerhalb der APP angezeigt. In der APP für die Homematic und der Shelly's könnt Ihr nun direkt die Rollläden zu einer Höhe anfahren.
Ihr habe nun auch die Möglichkeit ein Programm zu nutzen, bei dem die Beschattung über eine Taste oder zeitlich Gesteuert ausgeführt wird.
Beispiel:
Bei mir in der finalen Version, werden die Rollläden nach Sonnenstand / Uhrzeit an den einzelnen Fenstern zu und später wieder aufgefahren. Damit haben wir einen möglichst effektiven Sonnenschutz in Verbindung mit genügend Tageslicht.
Vielen Dank noch einmal an 66er (Stefan) raabi (Jens) für die Vorarbeit und Unterstützung.