Hallo an Alle,
ich verweise zunächst auf diese tolle Funktion, die bei mir aber nicht so ganz klappt.
Shelly 2.5 als Rollladenaktor in Homematic einbinden - mit der Originalfirmware
Es geht um folgendes:
Ich habe ein Shelly 2.5 und nutze diese für meine Markise. Die Positionen sind auch bereits kalibriert und Alexa gekoppelt. Wenn ich nun sage: "Alexa, Markise 10%", dann fährt die Makise in diese Stellung (0% = ganz hochgefahren, 100% = ganz ausgefahren).
Bei Homematic möchte ich diese Funktion nun auch nutzen und habe den oben verlinkten Beitrag gefunden.
Leider klappt es nicht so ganz. Es ist nicht das Problem, dass die 100% bei Homematic ganz hochgefahren bedeuten und bei mir und meinem Shelly diese mit den 0% gleichzusetzen wären, sondern dass beim Ansteuerung über die Homematic Controls die Markise immer zu 100% ausfährt (bzw. 0% nach Homematic Logik).
Mein angepasstes Skript sieht wie folgt aus:
!**** Var Büro Höhe=LEVEL setzen wenn BedienungsLEVEL angepasst wird!****
var Hoehe=dom.GetObject("Shelly25_Markise_Behanghoehe").Variable();
var Level=dom.GetObject("CUxD.CUX4000001:1.LEVEL").State();
Level=Level*100;
!WriteLine("Level= "+Level);
! Rollo auf LEVEL% mit Variable Hoehe
dom.GetObject("Shelly25_Markise_Behanghoehe").Variable(Level);
string url="http://192.168.178.170/roller/0?go~3dto_pos~26roller_pos~3d";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '"#url#"'"+Level);
!WriteLine("Markise ausgefahren in % = "+dom.GetObject("Shelly25_Markise_Behanghoehe").Variable());
!Ende Skript
Alles anzeigen
Zeilen, die ich nicht so ganz begreife:
var Level=dom.GetObject("CUxD.CUX4000001:1.LEVEL").State();
(...)
string url="http://192.168.178.170/roller/0?go~3dto_pos~26roller_pos~3d";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '"#url#"'"+Level);
So, meine Fragen wären:
1) Wo genau sollte ich am besten nach meinem Fehler suchen
2) Wie bekomme ich die 0% und die 100% vertauscht. Ich dachte da an sowas z.B. "Level = 100 - (Level * 100)" (um analog zu dem oben genannten Beispiel zu bleiben)
3) Muss ich im Shelly Aktionen freigeben?