Ultimative Rolladensteuerung
Moderator: Co-Administratoren
Re: Ultimative Rolladensteuerung
Habe mir das ganze jetzt auch mal eingebaut. Beim ersten Test kommt folgende Meldung im Systemprotokoll:
Was genau ist denn hier falsch bzw. wo?
Erwähnen möchte ich noch, dass ich das "28 Exec-Gerät mit Seriennummer 1 anlegen" übersprungen habe, da dieser bei mir schon existiert... Weiß nicht, ob das von Bedeutung ist.
Was genau ist denn hier falsch bzw. wo?
Erwähnen möchte ich noch, dass ich das "28 Exec-Gerät mit Seriennummer 1 anlegen" übersprungen habe, da dieser bei mir schon existiert... Weiß nicht, ob das von Bedeutung ist.
Andy
Re: Ultimative Rolladensteuerung
Hab leider genau das gleiche Problem:
Jan 11 16:19:23 homematic-ccu2 daemon.info cuxd[1790]: pclose(/usr/local/GetAstroDates.sh 11:36:0.0 48:6:0.0) exit(127) 0s
Jan 11 16:19:23 homematic-ccu2 local0.err ReGaHss: Error: IseXmlRpc::CallGetValue: XmlrpcTypeToIseVal failed [../Platform/DOM/iseXmlRpc.cpp (1455)]
Jan 11 16:19:23 homematic-ccu2 local0.err ReGaHss: Error: IseHssDP::ReadValue: CallGetValue failed; sVal = [../Platform/DOM/iseDOMdpHSS.cpp (130)]
Jan 11 16:19:38 homematic-ccu2 local0.err ReGaHss: Error: IseXmlRpc::GetObjectByHSSAddress: no exists device object with address= 3014F711A00003522998D1BD [../Platform/DOM/iseXmlRpc.cpp (2166)]
Weiß mittlerweile wer was schief läuft?
/edit:
Wenn ich es ausführe, bekomme ich folgendes:
./GetAstroDates.sh 8:12:34.35698 50:12:34:1345
bash: ./GetAstroDates.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
und mit
sh GetAstroDates.sh 8:12:34.35698 50:12:34:1345
: not foundes.sh: 2: GetAstroDates.sh:
GetAstroDates.sh: 9: GetAstroDates.sh: Syntax error: end of file unexpected (expecting "then")
Script ist aber meiner Meinung nach korrekt:
Jan 11 16:19:23 homematic-ccu2 daemon.info cuxd[1790]: pclose(/usr/local/GetAstroDates.sh 11:36:0.0 48:6:0.0) exit(127) 0s
Jan 11 16:19:23 homematic-ccu2 local0.err ReGaHss: Error: IseXmlRpc::CallGetValue: XmlrpcTypeToIseVal failed [../Platform/DOM/iseXmlRpc.cpp (1455)]
Jan 11 16:19:23 homematic-ccu2 local0.err ReGaHss: Error: IseHssDP::ReadValue: CallGetValue failed; sVal = [../Platform/DOM/iseDOMdpHSS.cpp (130)]
Jan 11 16:19:38 homematic-ccu2 local0.err ReGaHss: Error: IseXmlRpc::GetObjectByHSSAddress: no exists device object with address= 3014F711A00003522998D1BD [../Platform/DOM/iseXmlRpc.cpp (2166)]
Weiß mittlerweile wer was schief läuft?
/edit:
Wenn ich es ausführe, bekomme ich folgendes:
./GetAstroDates.sh 8:12:34.35698 50:12:34:1345
bash: ./GetAstroDates.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
und mit
sh GetAstroDates.sh 8:12:34.35698 50:12:34:1345
: not foundes.sh: 2: GetAstroDates.sh:
GetAstroDates.sh: 9: GetAstroDates.sh: Syntax error: end of file unexpected (expecting "then")
Script ist aber meiner Meinung nach korrekt:
Code: Alles auswählen
#!/bin/bash
if [ $# -lt 2 ]; then
echo "Fehlerhafter Aufruf!"
echo "Es müssen 2 Parameter übergeben werden, der Erste ist der Längengrad, der Zweite der Breitengrad:"
echo "z. B. ./GetAstroDates.sh 8:12:34.35698 50:12:34.13711"
fi
wget -q --header="User-Agent: Mozilla" "http://www.calsky.com/cs.cgi/Sun/2?lang=de&showtwilight=true&hideglos=true&dateNow&lon=${1}&lat=${2}" -O - | sed -e 's/[<]/\n&/g;s/ //g;/class="caltab"/,/<\/table>/!d' | sed -e 's/\(<b>\|<tt>\)//g;/\(Aufgang\|Untergang\|Begin\|Morgen\)/!d;s/\(Ende\|Abend\|Tag\)/\n&/g' | sed -e ':a;N;$!ba;s/\n/;/g;s/ //g;s/:/-/g;s/h/:/g;s/m//g;s/ ;/;/g'
Re: Ultimative Rolladensteuerung
Nachdem hier keiner mehr aktiv ist - scheinbar - habe ich die ganze Geschichte hier wieder rückgängig gemacht u. mit der Astrofunktion u. einer zusätzlichen Regel umgesetzt. Mit eigentlich dem selben Ergebnis. Ich bin aus diesem Thema raus.
Andy
-
- Beiträge: 35
- Registriert: 26.02.2016, 20:38
Re: Ultimative Rolladensteuerung
Da ein Bekannter von mir die HomeMatic-Steuerung auf meinem Raspberry-Pi gesehen hat, kam er auf die Idee so etwas für seine Rolladensteuerung zu benutzen. Nachdem ich im Netz etwas gesucht hatte, bin ich schließlich hier bei der "Ultimativen Rolladensteuerung" gelandet. Vom Konzept überzeugt, installierte ich die Geschichte und machte mich dann als Script-Newbie daran die Script-Funktionen zu verstehen (gibt es eigentlich irgendwo eine vollständige Dokumentation sämtlicher Befehle und Optionen?). Absicht war es, eine Rolladen-Öffnen und eine Frühestens-Spätestens-Funktion hinzuzufügen und einige Scriptteile zu verschlanken. Während des Programmierens fiel mir dann auf, dass einige vom Web geholten Zeiten nur 3-Stellig waren, was dem .ToTime() Befehl durchaus Probleme bereitet und angepasst werden musste. Herausgekommen ist unten stehendes Script. Da es auf der Idee von Linuzer basiert, möchte ich es hier zur Verfügung stellen. Wenn jemand noch Fehler findet - bitte posten.
Zur Einrichtung:
Punkt 1 -> 3 wie bei Linuzer
Punkt 4:
Systemvariablen für die Steuerung anlegen:
Rolladen_Zu_Basis (Zeichenkette) Name der obigen Variable, die als Ausgangszeitpunkt für die Rolläden dienen soll. (z.B. "Sonnenuntergang")
Rolladen_Zu_Offset (Zahl 0/100 %) Prozentwert, um den der Rolladenzeitpunkt in Richtung des nächsten Zeitpunkts verschoben werden soll. "100%" ist identisch mit dem nächsten Zeitpunkt.
Beispiel:
Sonnenuntergang = 17:40, EndBuergDaemm = 18:10, Rolladen_Zu_Basis = "Sonnenuntergang", Rolladen_Zu_Offset = 60%
Somit wird auf die Sonnenuntergangszeit (17:40) 60% der Zeitspanne zu EndBuergDaemm (30 Min.) draufgeschlagen, die Rolläden fahren also um 17:58 runter.
Rolladen_Auf_Basis (Zeichenkette) Name der obigen Variable, die als Ausgangszeitpunkt für die Rolläden dienen soll. (z.B. "BeginBuergDaemm")
Rolladen_Auf_Offset (Zahl 0/100 %) Prozentwert, um den der Rolladenzeitpunkt in Richtung des nächsten Zeitpunkts verschoben werden soll. "100%" ist identisch mit dem nächsten Zeitpunkt.
Beispiel:
BeginBuergDaemm = 7:10, Sonnenaufgang = 7:40, Rolladen_Auf_Basis = "BeginBuergDaemm", Rolladen_Auf_Offset = 20%
Somit wird auf die BeginBuergDaemmZeit (7:10) 20% der Zeitspanne zum Sonnenaufgang (30 Min.) draufgeschlagen, die Rolläden fahren also um 7:16 rauf.
RolladenAuf (Zeichenkette) Dynamisch errechneter Öffnen-Zeitpunkt, nur zur Info
RolladenZu (Zeichenkette) Dynamisch errechneter Schließen-Zeitpunkt, nur zur Info
Punkt 5:
Ein "Rolläden schließen" Programm erstellen, das alle Rolläden zum Timer_Event des CUxD.CUX2800001:1-Timers runterfährt. (TriggerRolladen:1)
Ein "Rolläden öffnen" Programm erstellen, das alle Rolläden zum Timer_Event des CUxD.CUX2800001:2-Timers rauffährt. (TriggerRolladen:2)
Punkt 6 wie bei Linuzer
Punkt 7:
HomeMatic-Script "AstroDatenHolen" erstellen und auf tägliche Ausführung um z.B. 01:45 programmieren. Zu diesem Zeitpunkt muss eine Internet-Verbindung bestehen. (Zwangstrennung des I-Net Providers beachten). Am Anfang des Scriptes die persönlichen Einstellungen treffen. Beachte Uhrzeit-Angaben müssen im Format HH:MM vorliegen.
Update 28.02.16 V1.02: Antwort-String um Steuerzeichen gekürzt
Update 03.03.16 V1.03: Kleinere Korrekturen
Update 02.05.16 V1.05: Fehler in der Umrechnung der Geodaten behoben
Punkt 8 hoffentlich auch wie bei Linuzer
@ Linuzer
Beim Studieren Deines Script sind mir zwei kleine "Fehler" aufgefallen:
Zeile 045: ! Befehl ausführen: -> hier müsste das ü gegen ue ersetzt werden
Zeile 128: RollZeit2 = "Sonnenuntergang,EndBuergDaemm,EndNautDaemm,EndAtroDaemm,BeginAtroDaemm -> hier fehlt jeweils das "s" bei Astro
Gruß
Luckysnooze
Zur Einrichtung:
Punkt 1 -> 3 wie bei Linuzer
Punkt 4:
Systemvariablen für die Steuerung anlegen:
Rolladen_Zu_Basis (Zeichenkette) Name der obigen Variable, die als Ausgangszeitpunkt für die Rolläden dienen soll. (z.B. "Sonnenuntergang")
Rolladen_Zu_Offset (Zahl 0/100 %) Prozentwert, um den der Rolladenzeitpunkt in Richtung des nächsten Zeitpunkts verschoben werden soll. "100%" ist identisch mit dem nächsten Zeitpunkt.
Beispiel:
Sonnenuntergang = 17:40, EndBuergDaemm = 18:10, Rolladen_Zu_Basis = "Sonnenuntergang", Rolladen_Zu_Offset = 60%
Somit wird auf die Sonnenuntergangszeit (17:40) 60% der Zeitspanne zu EndBuergDaemm (30 Min.) draufgeschlagen, die Rolläden fahren also um 17:58 runter.
Rolladen_Auf_Basis (Zeichenkette) Name der obigen Variable, die als Ausgangszeitpunkt für die Rolläden dienen soll. (z.B. "BeginBuergDaemm")
Rolladen_Auf_Offset (Zahl 0/100 %) Prozentwert, um den der Rolladenzeitpunkt in Richtung des nächsten Zeitpunkts verschoben werden soll. "100%" ist identisch mit dem nächsten Zeitpunkt.
Beispiel:
BeginBuergDaemm = 7:10, Sonnenaufgang = 7:40, Rolladen_Auf_Basis = "BeginBuergDaemm", Rolladen_Auf_Offset = 20%
Somit wird auf die BeginBuergDaemmZeit (7:10) 20% der Zeitspanne zum Sonnenaufgang (30 Min.) draufgeschlagen, die Rolläden fahren also um 7:16 rauf.
RolladenAuf (Zeichenkette) Dynamisch errechneter Öffnen-Zeitpunkt, nur zur Info
RolladenZu (Zeichenkette) Dynamisch errechneter Schließen-Zeitpunkt, nur zur Info
Punkt 5:
Ein "Rolläden schließen" Programm erstellen, das alle Rolläden zum Timer_Event des CUxD.CUX2800001:1-Timers runterfährt. (TriggerRolladen:1)
Ein "Rolläden öffnen" Programm erstellen, das alle Rolläden zum Timer_Event des CUxD.CUX2800001:2-Timers rauffährt. (TriggerRolladen:2)
Punkt 6 wie bei Linuzer
Punkt 7:
HomeMatic-Script "AstroDatenHolen" erstellen und auf tägliche Ausführung um z.B. 01:45 programmieren. Zu diesem Zeitpunkt muss eine Internet-Verbindung bestehen. (Zwangstrennung des I-Net Providers beachten). Am Anfang des Scriptes die persönlichen Einstellungen treffen. Beachte Uhrzeit-Angaben müssen im Format HH:MM vorliegen.
Code: Alles auswählen
! Astro Daten holen - Zeitpunkte setzen V1.05
! -------------------- Schliessen Anpassungen ---------------------
! Sonnenuntergang -> EndBuergDaemm -> EndNautDaemm -> EndAstroDaemm
var Zeit1_Zu = "Sonnenuntergang"; ! (Fruehere Zeit)
var Zeit2_Zu = "EndBuergDaemm"; ! (Spaetere Zeit)
var Offset_Zu = 85.0; ! (0.0 -> 100.0 %)
var Spaet_Zu = "22:00"; ! (Spaetester Schliessenzeitpunkt HH:MM)
! ---------------------- Oeffnen Anpassungen ----------------------
! BeginAstroDaemm -> BeginNautDaemm -> BeginBuergDaemm -> Sonnenaufgang
var Zeit1_Auf = "BeginBuergDaemm"; ! (Fruehere Zeit)
var Zeit2_Auf = "Sonnenaufgang"; ! (Spaetere Zeit)
var Offset_Auf = 15.0; ! (0.0 -> 100.0 %)
var Frueh_Auf = "06:30"; ! (Fruehester Oeffnenzeitpunkt HH:MM)
! ------------------------ Ende Anpassung -------------------------
var Grad;
var Min;
var Sek;
var Rest;
var Long;
var Lat;
var cmd;
var Return;
string Zeitpunkte;
integer Zaehler;
string Wert;
string Tmp;
var val;
var Rolladen_Zu;
var Rolladen_Auf;
! Aktuelles Datum im Format JJJJ-MM-TT
var System_Datum = system.Date("%F");
! Laengengrad auslesen und von Dezimal nach Grad:Min:Sek.Hdstl wandeln
Grad = 1 * system.Longitude();
Rest = (system.Longitude() - Grad) + 0.0000001;
Min = 1 * Rest * 60;
Rest = (Rest * 60) - Min;
Sek = Rest * 60;
Long = Grad # ":" # Min # ":" # Sek.ToString(2);
! Breitengrad auslesen und von Dezimal nach Grad:Min:Sek.Hdstl wandeln
Grad = 1 * system.Latitude();
Rest = (system.Latitude() - Grad) + 0.0000001;
Min = 1 * Rest * 60;
Rest = (Rest * 60) - Min;
Sek = Rest * 60;
Lat = Grad # ":" # Min # ":" # Sek.ToString(2);
! Befehl zusammenbauen
cmd = "/usr/local/GetAstroDates.sh " # Long # " " # Lat;
! Befehl ausfuehren: Werte von Website holen
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(cmd);
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
Return = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
! Werte um Steuerzeichen kuerzen
Return = Return.Substr(0, Return.Length() - 1);
! Werte auslesen und in Systemvariablen schreiben
Zeitpunkte = "Sonnenaufgang,Sonnenuntergang,BeginBuergDaemm,EndBuergDaemm,BeginNautDaemm,EndNautDaemm,Tageslaenge,BeginAstroDaemm,EndAstroDaemm";
Zaehler = 0;
foreach(Wert, Zeitpunkte.Split(",")) {;
Tmp = Return.StrValueByIndex(";", Zaehler).StrValueByIndex("-", 1);
val = 100 + Tmp.StrValueByIndex(".", 1).ToInteger() * 6;
Tmp = Tmp.StrValueByIndex(".", 0) # ":" # val.ToString().Substr(1, 2);
dom.GetObject(Wert).State(Tmp);
Zaehler = Zaehler + 1;}
! Schreibe Rolladen-Konfiguration in Systemvariablen
dom.GetObject("Rolladen_Zu_Basis").State(Zeit1_Zu);
dom.GetObject("Rolladen_Zu_Offset").State(Offset_Zu);
dom.GetObject("Rolladen_Auf_Basis").State(Zeit1_Auf);
dom.GetObject("Rolladen_Auf_Offset").State(Offset_Auf);
! Schliessen - Zeiten einlesen
Zeit1_Zu = dom.GetObject(Zeit1_Zu).Variable();
Zeit2_Zu = dom.GetObject(Zeit2_Zu).Variable();
! Schliessen - Datum und Zeiten in Ganzzahl wandeln
Zeit1_Zu = System_Datum # " " # Zeit1_Zu;
Zeit1_Zu = Zeit1_Zu.ToTime().ToInteger();
Zeit2_Zu = System_Datum # " " # Zeit2_Zu;
Zeit2_Zu = Zeit2_Zu.ToTime().ToInteger();
Spaet_Zu = System_Datum # " " # Spaet_Zu;
Spaet_Zu = Spaet_Zu.ToTime().ToInteger();
! Schliessen - Zeit berechnen und mit Spaet_Zu vergleichen
Rolladen_Zu = Zeit1_Zu + (0.0 + Zeit2_Zu - Zeit1_Zu) * Offset_Zu / 100.0;
if (Rolladen_Zu > Spaet_Zu) {Rolladen_Zu = Spaet_Zu;}
! Schliessen - Zeit von Ganzzahl nach HH:MM:SS wandeln
Rolladen_Zu = Rolladen_Zu.ToTime().Format("%T");
! Oeffnen - Zeiten einlesen
Zeit1_Auf = dom.GetObject(Zeit1_Auf).Variable();
Zeit2_Auf = dom.GetObject(Zeit2_Auf).Variable();
! Oeffnen - Datum und Zeiten in Ganzzahl wandeln
Zeit1_Auf = System_Datum # " " # Zeit1_Auf;
Zeit1_Auf = Zeit1_Auf.ToTime().ToInteger();
Zeit2_Auf = System_Datum # " " # Zeit2_Auf;
Zeit2_Auf = Zeit2_Auf.ToTime().ToInteger();
Frueh_Auf = System_Datum # " " # Frueh_Auf;
Frueh_Auf = Frueh_Auf.ToTime().ToInteger();
! Oeffnen - Zeit berechnen und mit Frueh_Auf vergleichen
Rolladen_Auf = Zeit1_Auf + (0.0 + Zeit2_Auf - Zeit1_Auf) * Offset_Auf / 100.0;
if (Rolladen_Auf < Frueh_Auf) {Rolladen_Auf = Frueh_Auf;}
!Oeffnen - Zeit von Ganzzahl nach HH:MM:SS wandeln
Rolladen_Auf = Rolladen_Auf.ToTime().Format("%T");
! Schliessen und Oeffnen Zeiten speichern und Timer setzen
dom.GetObject("RolladenZu").State(Rolladen_Zu);
dom.GetObject("CUxD.CUX2800001:1.TIMER_SET").State(Rolladen_Zu);
dom.GetObject("RolladenAuf").State(Rolladen_Auf);
dom.GetObject("CUxD.CUX2800001:2.TIMER_SET").State(Rolladen_Auf);
Update 03.03.16 V1.03: Kleinere Korrekturen
Update 02.05.16 V1.05: Fehler in der Umrechnung der Geodaten behoben
Punkt 8 hoffentlich auch wie bei Linuzer
@ Linuzer
Beim Studieren Deines Script sind mir zwei kleine "Fehler" aufgefallen:
Zeile 045: ! Befehl ausführen: -> hier müsste das ü gegen ue ersetzt werden
Zeile 128: RollZeit2 = "Sonnenuntergang,EndBuergDaemm,EndNautDaemm,EndAtroDaemm,BeginAtroDaemm -> hier fehlt jeweils das "s" bei Astro
Gruß
Luckysnooze
Zuletzt geändert von Luckysnooze am 02.05.2016, 13:38, insgesamt 9-mal geändert.
- robbi77
- Beiträge: 13876
- Registriert: 19.01.2011, 19:15
- System: CCU
- Wohnort: Landau
- Hat sich bedankt: 182 Mal
- Danksagung erhalten: 744 Mal
Ultimative Rolladensteuerung
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...
-
- Beiträge: 35
- Registriert: 26.02.2016, 20:38
Re: Ultimative Rolladensteuerung
Hallo Roberto,
diese offizielle Doku war mir schon bekannt. Sie ist nur leider nicht sehr ausführlich was die Script-Syntax angeht und manchmal fehlen auch einfach die Optionen. Bei der ToString() Funktion wird z.B. nicht erwähnt, dass mit ToString(2) eine Begrenzung auf zwei Nachkommastellen möglich ist. Die Kaskadierung von Funktionen wie z.B. .ToString().Substr(1, 2) wird ebenso nicht genannt. Haben andere Funktionen eventuell auch noch weitere Optionen?
Die Beispiele in Teil 3 sind wohl eher eine Promotion für den Kombisensor und die 19 Tastenfernbedienung (beide sauteuer). Diese Beispiele gehören in das Manual der entsprechenden Hardware. Hier hätte ich viel mehr erwartet.
Dachte es gäbe vielleicht noch etwas ausführlicheres mit mehr Scriptbeispielen.
Trotzdem Danke und Gruß
Luckysnooze
diese offizielle Doku war mir schon bekannt. Sie ist nur leider nicht sehr ausführlich was die Script-Syntax angeht und manchmal fehlen auch einfach die Optionen. Bei der ToString() Funktion wird z.B. nicht erwähnt, dass mit ToString(2) eine Begrenzung auf zwei Nachkommastellen möglich ist. Die Kaskadierung von Funktionen wie z.B. .ToString().Substr(1, 2) wird ebenso nicht genannt. Haben andere Funktionen eventuell auch noch weitere Optionen?
Die Beispiele in Teil 3 sind wohl eher eine Promotion für den Kombisensor und die 19 Tastenfernbedienung (beide sauteuer). Diese Beispiele gehören in das Manual der entsprechenden Hardware. Hier hätte ich viel mehr erwartet.
Dachte es gäbe vielleicht noch etwas ausführlicheres mit mehr Scriptbeispielen.
Trotzdem Danke und Gruß
Luckysnooze
Re: Ultimative Rolladensteuerung
Vielen Dank - das ist genau das was ich die ganze Zeit vermisst hatte.
Endlich ist es auch möglich die Zahlen vernünftig in einen Timer zu schreiben.
Nur den letzten Zeitpunkt (EndAstroDaemm) schreibt es mir in der Form 19:40 :00 - woran kann das liegen?
Franzens
Endlich ist es auch möglich die Zahlen vernünftig in einen Timer zu schreiben.
Nur den letzten Zeitpunkt (EndAstroDaemm) schreibt es mir in der Form 19:40 :00 - woran kann das liegen?
Franzens
RasberryMatic auf Synology-VM - Sonos - pocket Control HM - CuL V2 868mHz & Somfy RTS Anbindung - Pushover - hm-pdetect - homebridge - homeassistant - Alexa - Netatmo - Shelly - hue...; 373 Kanäle in 100 Geräten und 209 CUxD-Kanäle in 18 CUxD-Geräten
-
- Beiträge: 35
- Registriert: 26.02.2016, 20:38
Re: Ultimative Rolladensteuerung
Hallo Franzens,
genau das habe ich gestern auch bei mir festgestellt. Ich habe daraufhin den Return-String, der die Daten vom Web enthält, mal manuell mit Daten befüllt. Das Ergebnis war korrekt. "EndAstroDaemm" ist der letzte Wert im Return-String, der aber das selbe Format hat, wie der Wert davor (sitzt da vielleicht noch ein nicht sichtbares Steuerzeichen dahinter?). Du siehst mich ratlos, aber aufgeben gilt nicht.
Update: Wenn man an den Return-String noch einen String dranhängt kommt es zum Zeilenumbruch. Da ist also noch ein Steuerzeichen am Ende des Strings vorhanden. Ich habe den String um das Steuerzeichen gekürzt. Es sollte jetzt funktionieren.
Gruß
Luckysnooze
genau das habe ich gestern auch bei mir festgestellt. Ich habe daraufhin den Return-String, der die Daten vom Web enthält, mal manuell mit Daten befüllt. Das Ergebnis war korrekt. "EndAstroDaemm" ist der letzte Wert im Return-String, der aber das selbe Format hat, wie der Wert davor (sitzt da vielleicht noch ein nicht sichtbares Steuerzeichen dahinter?). Du siehst mich ratlos, aber aufgeben gilt nicht.
Update: Wenn man an den Return-String noch einen String dranhängt kommt es zum Zeilenumbruch. Da ist also noch ein Steuerzeichen am Ende des Strings vorhanden. Ich habe den String um das Steuerzeichen gekürzt. Es sollte jetzt funktionieren.
Gruß
Luckysnooze
Re: Ultimative Rolladensteuerung
Respekt es funktioniert! Ich habs inzwischen auf tmp-Variablen umgestellt analog dem von AndiN vorgestellten Verfahren (http://homematic-forum.de/forum/viewtop ... 26&t=27907). Könnt ich dort, wenn für Dich ok zur Verfügung stellen.Luckysnooze hat geschrieben: Update: Wenn man an den Return-String noch einen String dranhängt kommt es zum Zeilenumbruch. Da ist also noch ein Steuerzeichen am Ende des Strings vorhanden. Ich habe den String um das Steuerzeichen gekürzt. Es sollte jetzt funktionieren.
Gruß
Luckysnooze
Gruß Franzens
RasberryMatic auf Synology-VM - Sonos - pocket Control HM - CuL V2 868mHz & Somfy RTS Anbindung - Pushover - hm-pdetect - homebridge - homeassistant - Alexa - Netatmo - Shelly - hue...; 373 Kanäle in 100 Geräten und 209 CUxD-Kanäle in 18 CUxD-Geräten
-
- Beiträge: 35
- Registriert: 26.02.2016, 20:38