Hallo zusammen,
auf https://www.homematic-inside.de/blog/sm ... light=cuxd
ist die Steuerung der Helialux-LED-Lichtleiste über CuxD beschrieben.
Die Windows Powershell-Befehle dafür sollen sein:
...den manuellen Modus einschalten:
Invoke-WebRequest -Uri "http://<IP_ADRESSE>/stat" -Method "POST" -Body "action=14&ch5=843&tswi=false&ttime=01:00&cswi=true&ctime=00:01"
...und eine eigene Farbe setzen:
Invoke-WebRequest -Uri "http://<IP_ADRESSE>/color" -Method "POST" -Body "action=3&ch1=0&ch2=0&ch3=0&ch4=100"
Syntax für ein Homematic-Script mit CuxD:
string request;
request = "/usr/local/addons/cuxd/curl -X POST -k -H \"Content-Type: application/x-www-form-urlencoded\" -d \"<Body>" # "\" <Uri>";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(request);
Ich bekomme das aber einfach nicht in der CCU3 hin. Mit was muss ich die CuxD-Syntax ergänzen/erweitern, damit das aus dem Homematic-Script heraus gesteuert werden kann?
Meine Frau, die Programmiererin ist, hat es so umgeschrieben, damit man mit dem http Befehl den manuellen Modus aktiviert bekommt:
http://<IP_ADRESSE>/stat?action=14&ch5=843&tswi=false&ttime=01:00&cswi=true&ctime=00:05
Das Modifizieren der LED-Farben will aber auch per http einfach nicht funktionieren:
http://<IP_ADRESSE>/color?action=3&ch1=0&ch2=0&ch3=0&ch4=100
<IP_ADRESSE> wurde natürlich mit der des Gerätes ersetzt.
Kann jemand helfen?
Aquarium-Licht-Steuerung Juwel Helialux
Moderator: Co-Administratoren
-
- Beiträge: 169
- Registriert: 15.12.2019, 12:26
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 19 Mal
Aquarium-Licht-Steuerung Juwel Helialux
wenn wir uns alle gegenseitig helfen, ist allen geholfen
_______________________________________________
CCU3 seit 2018, 103 Geräte, 202 Programme, 222 sysvar
Projekte: Wettersensor viewtopic.php?t=65631
_______________________________________________
CCU3 seit 2018, 103 Geräte, 202 Programme, 222 sysvar
Projekte: Wettersensor viewtopic.php?t=65631
- uwe111
- Beiträge: 4807
- Registriert: 26.02.2011, 22:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 240 Mal
- Kontaktdaten:
Re: Aquarium-Licht-Steuerung Juwel Helialux
Funktioniert Deine Curl Befehlszeile, wenn Du Dich per Putty auf der Console der CCU3 anmeldest und sie dann direkt aufrufst?
Wenn ja, hast Du zuvor ein CUxD System.Exec Gerät mit der Seriennummer 1 angelegt?
Viele Grüße
Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN Download: CUxD 2.11, SSH KeyDir
SPENDEN Download: CUxD 2.11, SSH KeyDir
-
- Beiträge: 169
- Registriert: 15.12.2019, 12:26
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 19 Mal
Re: Aquarium-Licht-Steuerung Juwel Helialux
Hallo guten Abend,
inzwischen haben wir das mit Putty erfolgreich aufgerufen. Dort haben wir einen curl Befehl eingerichtet, in dem wir auf einige Parameter verzichtet haben. Wir verwenden ausschließlich die Url sowie die nötige Parameter des JSON Scripts (mit -d) und -X POST. Allerdings würden wir gern diesem Aufruf ebenso direkt als REST Befehl per Browser machen können, und dafür haben wir den Aufruf wie üblicherweise bei PHP Skripten. Und das klappt nur bei "stat" aber nicht bei "color".
inzwischen haben wir das mit Putty erfolgreich aufgerufen. Dort haben wir einen curl Befehl eingerichtet, in dem wir auf einige Parameter verzichtet haben. Wir verwenden ausschließlich die Url sowie die nötige Parameter des JSON Scripts (mit -d) und -X POST. Allerdings würden wir gern diesem Aufruf ebenso direkt als REST Befehl per Browser machen können, und dafür haben wir den Aufruf wie üblicherweise bei PHP Skripten. Und das klappt nur bei "stat" aber nicht bei "color".
wenn wir uns alle gegenseitig helfen, ist allen geholfen
_______________________________________________
CCU3 seit 2018, 103 Geräte, 202 Programme, 222 sysvar
Projekte: Wettersensor viewtopic.php?t=65631
_______________________________________________
CCU3 seit 2018, 103 Geräte, 202 Programme, 222 sysvar
Projekte: Wettersensor viewtopic.php?t=65631
-
- Beiträge: 169
- Registriert: 15.12.2019, 12:26
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 19 Mal
Re: Aquarium-Licht-Steuerung Juwel Helialux
ich beantworte mir die Frage einfach mal selber, da wir es nun hinbekommen haben - und natürlich auch für Euch:
Wie gesagt, die Vorgaben sind folgende:
Invoke-WebRequest -Uri "http://<IP_ADRESSE>/stat" -Method "POST" -Body "action=14&ch5=843&tswi=false&ttime=01:00&cswi=true&ctime=00:01";
Helialux eigene Farben setzen
Invoke-WebRequest -Uri "http://<IP_ADRESSE>/color" -Method "POST" -Body "action=3&ch1=0&ch2=0&ch3=0&ch4=100";
Befehle für Windows Powershell
Invoke-WebRequest -Uri "http://<IP der Helialux>/stat" -Method "POST" -Body "action=14&ch5=843&tswi=false&ttime=02:00&cswi=true&ctime=00:01"
Invoke-WebRequest -Uri "http://<IP der Helialux>/color" -Method "POST" -Body "action=3&ch1=100&ch2=100&ch3=50&ch4=75"
action Durchzuführende Aktion (14 = manueller Modus, 3 = Farbwert setzen)
ttime Manuelle Tageszeitsimulation Lichtprofil des aktuellen Wochentags im Zeitraffer simulieren
ctime Zeit der manuellen Farbsimulation
ch1 Farbwert weiss in Prozent (0-100)
ch2 Farbwert blau in Prozent (0-100)
ch3 Farbwert grün in Prozent (0-100)
ch4 Farbwert rot in Prozent (0-100)
so funktioniert es:
manuell = "/usr/local/addons/cuxd/curl -X POST -k -H \"Content-Type: application/x-www-form-urlencoded\" -d \"action=14&ch5=843&tswi=false&ttime=01:00&cswi=true&ctime=00:02" # "\" <IP der Helialux>/stat";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(manuell);
Daraus ergibt sich folgendes Script, mit dem man die Zeit definiert, für die die eigene Einstellung gelten soll und die vier Farbwerte:
Hier wird also für 1 Stunde 30 Minuten die Farbkombination 100-100-75-75 eingestellt. Danach kehrt die Helialux selbstständig wieder in den Automatikmodus zurück.
Beim Aufrufen des Scripts darf die Helialux-Webseite nicht geöffnet sein, da sonst der Modus nicht verändert wird.
Wie gesagt, die Vorgaben sind folgende:
Invoke-WebRequest -Uri "http://<IP_ADRESSE>/stat" -Method "POST" -Body "action=14&ch5=843&tswi=false&ttime=01:00&cswi=true&ctime=00:01";
Helialux eigene Farben setzen
Invoke-WebRequest -Uri "http://<IP_ADRESSE>/color" -Method "POST" -Body "action=3&ch1=0&ch2=0&ch3=0&ch4=100";
Befehle für Windows Powershell
Invoke-WebRequest -Uri "http://<IP der Helialux>/stat" -Method "POST" -Body "action=14&ch5=843&tswi=false&ttime=02:00&cswi=true&ctime=00:01"
Invoke-WebRequest -Uri "http://<IP der Helialux>/color" -Method "POST" -Body "action=3&ch1=100&ch2=100&ch3=50&ch4=75"
action Durchzuführende Aktion (14 = manueller Modus, 3 = Farbwert setzen)
ttime Manuelle Tageszeitsimulation Lichtprofil des aktuellen Wochentags im Zeitraffer simulieren
ctime Zeit der manuellen Farbsimulation
ch1 Farbwert weiss in Prozent (0-100)
ch2 Farbwert blau in Prozent (0-100)
ch3 Farbwert grün in Prozent (0-100)
ch4 Farbwert rot in Prozent (0-100)
so funktioniert es:
manuell = "/usr/local/addons/cuxd/curl -X POST -k -H \"Content-Type: application/x-www-form-urlencoded\" -d \"action=14&ch5=843&tswi=false&ttime=01:00&cswi=true&ctime=00:02" # "\" <IP der Helialux>/stat";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(manuell);
Daraus ergibt sich folgendes Script, mit dem man die Zeit definiert, für die die eigene Einstellung gelten soll und die vier Farbwerte:
Code: Alles auswählen
!hier bei state die gewünschten Werte eintragen
dom.GetObject("AQ_weiss").State(100);
dom.GetObject("AQ_blau").State(100);
dom.GetObject("AQ_gruen").State(75);
dom.GetObject("AQ_rot").State(75);
dom.GetObject("AQ_Licht_hour").State(1);
dom.GetObject("AQ_Licht_min").State(30);
!-----------------------------------------
var weiss= dom.GetObject("AQ_weiss").Value().ToInteger();
var blau = dom.GetObject("AQ_blau").Value().ToInteger();
var gruen = dom.GetObject("AQ_gruen").Value().ToInteger();
var rot = dom.GetObject("AQ_rot").Value().ToInteger();
var Stunden= dom.GetObject("AQ_Licht_hour").Value().ToInteger();
var Minuten= dom.GetObject("AQ_Licht_min").Value().ToInteger();
!-----------------------------------------
string bodyRequest = "action=14&ch5=843&tswi=false&ttime=01:00&cswi=true&ctime=" # Stunden # ":" # Minuten;
string bodyColor = "action=3&ch1=" # weiss.ToString() # "&ch2=" # blau.ToString() # "&ch3=" # gruen.ToString() # "&ch4=" # rot.ToString();
string manuell;
string farben;
!-----------------------------------------
manuell ="/usr/local/addons/cuxd/curl -X POST -k -H \"Content-Type: application/x-www-form-urlencoded\" -d \"" # bodyRequest # "\" http://192.168.178.74/stat";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(manuell);
farben = "/usr/local/addons/cuxd/curl -X POST -k -H \"Content-Type: application/x-www-form-urlencoded\" -d \"" # bodyColor # "\" http://192.168.178.74/color";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(farben);
Beim Aufrufen des Scripts darf die Helialux-Webseite nicht geöffnet sein, da sonst der Modus nicht verändert wird.
wenn wir uns alle gegenseitig helfen, ist allen geholfen
_______________________________________________
CCU3 seit 2018, 103 Geräte, 202 Programme, 222 sysvar
Projekte: Wettersensor viewtopic.php?t=65631
_______________________________________________
CCU3 seit 2018, 103 Geräte, 202 Programme, 222 sysvar
Projekte: Wettersensor viewtopic.php?t=65631