Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

MartinBr
Beiträge: 235
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von MartinBr » 14.04.2019, 08:45

Guten Morgen Thorsten,

ich habe den Test nun mit der 2.0 Beta gemacht. Kurze Rückmeldung: Hier hat sich kein Rollo gemeldet. Da die vorhergehenden Tests erfolgreich waren, muss ich einen grundlegenden Fehler machen.

Ich stelle hier noch einmal das Testscript ein und die Systemvariablen. Die Pushnachricht funktioniert, meldet aber immer "keine Auslösung".

Hier das Testscript:

Code: Alles auswählen

! Beschattungsgeräte steuern durch Aufruf des zBSP

! +++++ Liste der Beschattungsgeräte, Behanghöhen bzw. Ausfahrwerte und Korrekturwert für geöffnete bzw. gekippte Fenster und Türen +++++
! Stets nach dem Muster "Beschattungsgerät|Behanghöhe|Korrekturwert(tilt_open_) Bediensperre(lock/unlock)|Auslösebedingung(ne/gt/ge/lt/le)\t
!                       "Beschattungsgerät|Behanghöhe|Korrekturwert(tilt_open_) Bediensperre(lock/unlock)|Auslösebedingung(ne/gt/ge/lt/le)" 
! ausfüllen (trennen mit "\t"). 
! Auslösebedingung für den Vergleich von Soll- und Ist-Wert
! -> ne: Soll <> Ist | gt: Soll > Ist | ge: Soll >= Ist | lt: Soll < Ist | le: Soll <= Ist
! Für gesamtes Beschattungsgewerk Aufruf per blindsList = (dom.GetObject(ID_FUNCTIONS).Get("Beschattung")).EnumUsedNames();
! -> dann muss aber blindsGlobalValues gesetzt sein.
!  -> dann muss aber blindsGlobalValues gesetzt sein.
string blindsList = "Ankleidezimmer Fenster Rollladen|100|open100|ne\t
                    Badezimmer Fenster Rollladen|100|open100|ne\t
                    Gaestebad Fenster Rollladen|100|open100|ne\t
                    Gaestezimmer Fenster Rollladen|100|open100|ne\t
                    HWR Fenster Rollladen|100|open100|ne\t
                    Kueche Fenster Rollladen|100|open100|ne\t
                    Schlafzimmer Fenster Rollladen|100|open100|ne\t
                    Wohnzimmer Ost1 Fenster Rollladen|100|open100|ne\t
                    Wohnzimmer Ost2 Fenster Rollladen|100|open100|ne\t
                    Wohnzimmer Sued Fenster Rollladen|100|open100|ne";

! +++++ Globale Werte für Behanghöhen bzw. Ausfahrwerte und Korrekturwert für geöffnete bzw. gekippte Fenster und Türen +++++
! Wenn gesetzt, sind keine lokalen Werte in blindsList notwendig bzw. werden ignoriert 
! Stets nach dem Muster "Behanghöhe|Korrekturwert(tilt_open_)|Auslösebedingung(ne/gt/ge/lt/le)\t
!                        Behanghöhe|Korrekturwert(tilt_open_)|Auslösebedingung(ne/gt/ge/lt/le)" 
! ausfüllen (trennen mit "\t").
! Für TESTLAUF in Parameter Behanghöhe "test" einfügen.
string blindsGlobalValues = ""; !"" zur Berücksichtigung der lokalen Werte in "blindsList"

! +++++ Zusatzinformation, die als Push-Nachricht versendet werden soll +++++  
string blindsMessage = "Rolle HWR auf 50% "; ! "--" zur Unterdrückung von Push-Nachrichten

! +++++ Namen der für die Beschattung benötigten Systemvariablen gem. zeBeS +++++
string svBlindsList = "CCU SV Beschattung Liste"; ! Liste der Beschattungsgeräte, obligatorisch
string svBlindsGlobalValues = "CCU SV Beschattung Globalwerte"; ! Globale Werte für Behanghöhen, Ausfahrwerte und Offsets, optional
string svBlindsMessage = "CCU SV Beschattung Nachricht"; ! Beschattung Nachricht, optional

! +++++ Name des zentralen Programms zur Beschattungssteuerung zBSP +++++
string zBSP = "CCU PRG Beschattung";

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsList)).State(blindsList);
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsGlobalValues)).State(blindsGlobalValues);
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsMessage)).State(blindsMessage);

! +++++ zBSP ausführen +++++
(dom.GetObject(ID_PROGRAMS).Get(zBSP)).ProgramExecute();
Hier die Systemvariablen:
Bildschirmfoto 2019-04-14 um 07.12.18.png
Gruß
Martin
RaspberryMatic-3.45.5.20190330 auf TinkerBoard S, CUxD 2.20, XML-1.20, ioBroker unter Debian 9, Alexa mit ioBroker, VitoComfort 200

dtp
Beiträge: 5959
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von dtp » 14.04.2019, 10:17

Hm,

jetzt wird's leider ein bisschen komplizierter.

Kannst du mal das gesamte zBSS2.0beta unter "Skript testen" einfügen und dann hinter der Zeile

Code: Alles auswählen

else(trigger = false;)
ein

Code: Alles auswählen

WriteLine(trigger);
einfügen, das Skript anschließend testen und den Inhalt der Ausgabe hier posten. Da müsste dann ein "true" stehen.

Lasse dazu die Systemvariable "CCU SV Beschattung Liste" unverändert aber fahre am besten einige der Rollläden vor dem Test auf einen Wert < 100 %.

"Keine Auslösung" als Ausgabe heißt, dass die lokale Variable "trigger" auf false steht. Das könnte damit zu tun haben, dass die Auslösebedingung nicht erfüllt ist, oder dass es da im Skript noch ein Problem mit string und real der lokalen Variablen "blindValueActual" gibt.

Mich irritiert zudem, dass du überall "ne" als Auslösebedingung eingestellt hast, aber "gt" im Screenshot der Systemvariablen steht.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

MartinBr
Beiträge: 235
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von MartinBr » 14.04.2019, 10:45

Interessant!
Vorbereitung: Ich HWR auf 50% gefahren, Testscript mit WriteLine(trigger); ergänzt.
Alle Rollos waren oben.

Ergebnis:
Alle Rollos bis auf das Ankleidezimmer (= BROLL) sind runtergefahren (=== 0%).

Hier die Ausgaben:
Bildschirmfoto 2019-04-14 um 10.37.27.png
Bildschirmfoto 2019-04-14 um 10.39.18.png
Bildschirmfoto 2019-04-14 um 10.39.39.png
Das zBSP ist unverändert (Version 2.0Beta).
Zu deiner Frage: Ich hatte im Testscript zuerst gt stehen, habe es dann durch ne ersetzt und einen neuen Versuch gestartet.

Gruß
Martin
RaspberryMatic-3.45.5.20190330 auf TinkerBoard S, CUxD 2.20, XML-1.20, ioBroker unter Debian 9, Alexa mit ioBroker, VitoComfort 200

MartinBr
Beiträge: 235
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von MartinBr » 14.04.2019, 14:11

Hallo Thorsten,
hier mal mein Syslog:

Code: Alles auswählen

Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 14 10:36:36 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:37 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 14 10:36:37 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:37 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 14 10:36:37 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:37 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 14 10:36:37 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:37 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 14 10:36:37 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Apr 14 10:36:37 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 14 10:36:37 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der Be
chattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! +++++ 
amen der für die Bescha
Vielleicht hilft das weiter.

Gruß
Martin

P.S.
Ich bin gleich außer Haus und kann daher heute nicht mehr testen.
RaspberryMatic-3.45.5.20190330 auf TinkerBoard S, CUxD 2.20, XML-1.20, ioBroker unter Debian 9, Alexa mit ioBroker, VitoComfort 200

dtp
Beiträge: 5959
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von dtp » 15.04.2019, 07:50

Ich kenne diese Fehlermeldung und hatte sie selbst bereits. Ich denke, sie besagt, dass die foreach-Schleife mit einer Skriptvariablen aufgerufen wird, der kein Wert zugewiesen ist. In der Version 2.0.2 des zBSS habe ich der Variablen "blindsList" nun den Wert "" zugewiesen. Damit sollte die Fehlermeldung verschwunden sein.
zBSS202beta.txt
(16.88 KiB) 2-mal heruntergeladen
Eine andere Sache ist jedoch, dass das zBSS bei dir immer 0 % als Beschattungswert setzt. Auch das hatte ich selbst schon mal mit einer älteren Version. Am besten löscht du nochmals die vier angelegten Systemvariablen, startest die CCU neu und führst das zBSP dann noch mal manuell mit der aktuellen Version 2.0.2 des zBSS aus, um die Systemvariablen wieder anlegen zu lassen.

Sorry für die Umstände, aber leider fällt mir im Moment auf die Schnelle nichts Besseres ein. Eigentlich müsste ich mir einen HmIP-BROLL kaufen, um es mit ihm selbst zu testen, aber mir sind die 70,- € dafür dann doch etwas zu viel, zumal ich eher die klassischen HM-Komponenten bevorzuge.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

MartinBr
Beiträge: 235
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von MartinBr » 15.04.2019, 16:33

Hallo Thorsten,
ich teste heute Abend dein Script nach deinen Vorgaben.
Rückmeldung erfolgt.
Gruß
Martin
RaspberryMatic-3.45.5.20190330 auf TinkerBoard S, CUxD 2.20, XML-1.20, ioBroker unter Debian 9, Alexa mit ioBroker, VitoComfort 200

dtp
Beiträge: 5959
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von dtp » 15.04.2019, 17:54

Hallo Martin,

du kannst die Version 2.0.2 mal mit folgendem aufrufenden Skript unter "Skript testen" testen:

Code: Alles auswählen

! Beschattungsgeräte steuern durch Aufruf des zBSP

! +++++ Liste der Beschattungsgeräte, Behanghöhen bzw. Ausfahrwerte und Korrekturwert für geöffnete bzw. gekippte Fenster und Türen +++++
! Stets nach dem Muster "Beschattungsgerät|Behanghöhe|Korrekturwert(tilt_open_) Bediensperre(lock/unlock)|Auslösebedingung(ne/gt/ge/lt/le)\t
!                       "Beschattungsgerät|Behanghöhe|Korrekturwert(tilt_open_) Bediensperre(lock/unlock)|Auslösebedingung(ne/gt/ge/lt/le)" 
! ausfüllen (trennen mit "\t"). 
! Auslösebedingung für den Vergleich von Soll- und Ist-Wert
! -> ne: Soll <> Ist | gt: Soll > Ist | ge: Soll >= Ist | lt: Soll < Ist | le: Soll <= Ist
! Für gesamtes Beschattungsgewerk Aufruf per blindsList = (dom.GetObject(ID_FUNCTIONS).Get("Beschattung")).EnumUsedNames();
! -> dann muss aber blindsGlobalValues gesetzt sein.
!  -> dann muss aber blindsGlobalValues gesetzt sein.
string blindsList = "Ankleidezimmer Fenster Rollladen|66\t
                     Gaestezimmer Fenster Rollladen|44\t
                     Kueche Fenster Rollladen|77";

! +++++ Globale Werte für Behanghöhen bzw. Ausfahrwerte und Korrekturwert für geöffnete bzw. gekippte Fenster und Türen +++++
! Wenn gesetzt, sind keine lokalen Werte in blindsList notwendig bzw. werden ignoriert 
! Stets nach dem Muster "Behanghöhe|Korrekturwert(tilt_open_) Bediensperre(lock/unlock)|Auslösebedingung(ne/gt/ge/lt/le)\t
!                        Behanghöhe|Korrekturwert(tilt_open_) Bediensperre(lock/unlock)|Auslösebedingung(ne/gt/ge/lt/le)" 
! ausfüllen (trennen mit "\t").
! Für TESTLAUF in Parameter Behanghöhe "test" einfügen.
! Zum Abspeichern der aktuellen Werte in Parameter Behanghöhe "safe" einfügen.
! Zum Laden zuvor gespeicherter Werte in Parameter Behanghöhe "load" einfügen.
string blindsGlobalValues = "safe"; !"" zur Berücksichtigung der lokalen Werte in "blindsList"

! +++++ Zusatzinformation, die als Push-Nachricht versendet werden soll +++++  
string blindsMessage = ""; ! "--" zur Unterdrückung von Push-Nachrichten

! +++++ Namen der für die Beschattung benötigten Systemvariablen gem. zBSS +++++
string svBlindsList = "CCU SV Beschattung Liste"; ! Liste der Beschattungsgeräte, obligatorisch
string svBlindsGlobalValues = "CCU SV Beschattung Globalwerte"; ! Globale Werte für Behanghöhen, Ausfahrwerte und Offsets, optional
string svBlindsMessage = "CCU SV Beschattung Nachricht"; ! Beschattung Nachricht, optional

! +++++ Name des zentralen Programms zur Beschattungssteuerung zBSP +++++
string zBSP = "CCU PRG Beschattung";

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsList)).State(blindsList);
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsGlobalValues)).State(blindsGlobalValues);
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsMessage)).State(blindsMessage);

! +++++ zBSP ausführen +++++
(dom.GetObject(ID_PROGRAMS).Get(zBSP)).ProgramExecute();
Wenn man "blindsGlobalValues" auf "safe" setzt, werden die aktuellen Werte in die zugehörigen Systemvariable "CCU SV Beschattung Vorliste" gespeichert. Mit "load" kann man sie dann wieder laden. Im zBSS lässt sich ein Zeitfenster in Sekunden mit "loadPeriod" definieren, innerhalb dem die gespeicherten Werte wieder geladen sein müssen. Ist das Zeitfenster abgelaufen, wird das zBSS mit den aktuellen Werten ausgeführt. Aber das solltest du alles erst testen, wenn die Basisfunktionalität des zBSS gegeben ist.

Hast du neben den EnOcean- und HMIP-Rollladenaktoren eigentlich auch klassische HM-Rollladenaktoren im Einsatz?
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

MartinBr
Beiträge: 235
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von MartinBr » 15.04.2019, 18:53

Hallo Thorsten,
hier reagiert alles seltsam. Ich habe beide Scripte eingespielt. Beim speichern des Testscriptes sind die Rollos Küche und Gästezimmer auf die angegebenen Werte gefahren. Danach reagiert das Script nicht mehr. Ich habe dort als Behanghöhe wieder 100 eingeben, habe auch "0" getestet, trotzdem keine Reaktion.

Der HmIP-Broll (Ankleidezimmer) hat überhaupt nicht reagiert.

Per Push bekomme ich Meldungen nur für Gastzimmer und Küche rein. Auch hier fehlt das Ankleidezimmer.

das Fehlerprotokoll zeigt weiterhin Fehler:

Code: Alles auswählen

Apr 15 18:31:43 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:31:43 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:31:43 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:31:43 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:31:43 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:31:43 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:31:43 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:31:43 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:42 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:33:42 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:42 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:42 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:42 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:33:42 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:42 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:33:42 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:50 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:33:50 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:50 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:50 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:50 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:33:50 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:50 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:33:50 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:33:56 homematic-raspi daemon.info cuxd[619]: rename '/tmp/cuxdlog.txt' -> '/tmp/cuxdlog.txt.0'
Apr 15 18:33:56 homematic-raspi daemon.info cuxd[7643]: move '/tmp/cuxdlog.txt.0' -> '/tmp/cuxdlog.txt.20190415-1833'
Apr 15 18:34:35 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:34:35 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:34:35 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:34:35 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:34:35 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:34:35 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:34:35 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:34:35 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:34:53 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Apr 15 18:34:53 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Apr 15 18:35:14 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:35:14 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:35:14 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:35:14 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:35:14 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:35:14 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 18:35:14 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 18:35:14 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc


Als Rollo-Aktoren habe ich die Eltaka EnOcean, die ich von der Viessmann Heizung mit der Viessmann Vitocomfort Steuerung habe. Ich habe sie dort abgelernt und steuere sie über Homematic mittels der CUxD Lizenz. Die Heizungssteuerung läuft weiter über die VitoComfort.
Also: Für die Rollläden habe ich keine Homematic Classic.

Gruß
Martin :(
RaspberryMatic-3.45.5.20190330 auf TinkerBoard S, CUxD 2.20, XML-1.20, ioBroker unter Debian 9, Alexa mit ioBroker, VitoComfort 200

dtp
Beiträge: 5959
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von dtp » 15.04.2019, 19:23

MartinBr hat geschrieben:
15.04.2019, 18:53
Der HmIP-Broll (Ankleidezimmer) hat überhaupt nicht reagiert.
Und du bist dir sicher, dass der Name des Aktors korrekt eingegeben ist? Die ScriptRuntimeError-Meldung kommt immer, wenn der entsprechende Aktor nicht gefunden werden kann, weil der Aktorname nicht existiert.

Kannst noch mal bitte das nachfolgende Skript unter "Skript testen" für jeden deiner Rollläden ausführen und die Ausgabe posten:

Code: Alles auswählen

string blindName = "UG Büro Rollladen Fenster";

string blindChannelsList = ""; string blindChannel; string blindValueActual = ""; 
 
blindChannelsList = (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames();
foreach(blindChannel, blindChannelsList){
  if((dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL")){
    blindValueActual = (dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL").Value()#" "#blindValueActual;
  }
  blindValueActual = (blindValueActual.StrValueByIndex(" ", 0)).ToFloat();
}
WriteLine(blindChannelsList); WriteLine(blindValueActual);
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

MartinBr
Beiträge: 235
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von MartinBr » 15.04.2019, 21:02

Hallo Thorsten,
ich bin gerade etwas irritiert: Im Log stehen wohl deine Rollos (EG xxxx). Das ist nicht meine Notation.

Hier mal die Systemvariablen:
Bildschirmfoto 2019-04-15 um 20.43.15.png
Genau war ja die Pushnachricht.

Also beginn ich mal von vorne. Alles neu eingespielt.
Hier die erneute Ausgabe:
Bildschirmfoto 2019-04-15 um 20.51.27.png
Keine Reaktion der Rollos, die im Augenblick alle Unten sind (Wohnort bei Berlin, da wird es ca. 25 Min. früher dunkel).

Hier ein Bild vom BROLL:
Bildschirmfoto 2019-04-15 um 20.53.30.png
Ich schalte per Programm nur Kanal 4.

Hier das neue Testprogramm:
Bildschirmfoto 2019-04-15 um 20.56.30.png
Bildschirmfoto 2019-04-15 um 20.57.01.png
Bildschirmfoto 2019-04-15 um 20.57.42.png
Beim Ankleidezimmer wurde nichts ausgeworfen.?? :shock:

Hier noch das Log:

Code: Alles auswählen

Apr 15 20:48:58 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 20:48:58 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 20:48:58 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 20:48:58 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 20:48:58 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 20:48:58 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 20:48:58 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 20:48:58 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 20:50:30 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 20:50:30 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 20:50:30 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 20:50:30 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 20:50:30 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 20:50:30 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 20:50:30 homematic-raspi local0.err ReGaHss: ERROR: foreach(): invalid expression used [ExecForEach():iseESPexec.cpp:515]
Apr 15 20:50:30 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: ! Skript zur zentralen Beschattungssteuerung zBSS ! Achtung: zur Berücksichtigung der Korrekturwerte dürfen sich die Beschattungsnamen nur durch den Ausdruck ! "closureBlinds" von den Namen der Fenster und Türen unterscheiden, z.B. für closureBlinds = "Rollladen" ! Fenstername: "EG Wohnzimmer Fenster" <-> Rollladenname: "EG Wohnzimmer Rollladen Fenster" ! Version 2.0.2beta, Autor: dtp  ! +++++ Charakteristische Bezeichnung der 
eschattungsgeräte +++++ string closureBlinds = "Rollladen";  string closureAwnings = "Markise";  ! +++++ Ausfahrwert für Markisen invertieren (true: ja, false: nein) +++++ boolean invertAwnings = true;  ! +++++ Korrekturwerte im Falle gekippter oder geöffneter Fenster und Türen (true: Offset, false: Absolut) +++++ boolean offsetFlag = true;  ! +++++ Erlaubtes Zeitfenster in Sekunden zum Laden der zuletzt in svBlindsListPrev gespeicherten Werte (0: kein Zeitfenster) +++++ integer loadPeriod = 1000;  ! ++++
 Namen der für die Besc
Apr 15 20:57:14 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: string blindName = "Ankleidezimmer Fenster Rollladen";  string blindChannelsList = ""; string blindChannel; string blindValueActual = "";    blindChannelsList = (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames(); foreach(blindChannel, blindChannelsList){   if((dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL")){     blindValueActual = (dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEV
L").Value()#" "#blindValueActual;   }   blindValueActual = (blindValueActual.StrValueByIndex(" ", 0)).ToFloat(); } WriteLine(blindChannelsList); WriteLine(blindValueActual); [ExecError():iseESPexec.cpp:12664]
Apr 15 20:57:14 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: string blindName = "Ankleidezimmer Fenster Rollladen";  string blindChannelsList = ""; string blindChannel; string blindValueActual = "";    blindChannelsList = (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames(); foreach(blindChannel, blindChannelsList){   if((dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL")){     blindValueActual = (dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEV
L").Value()#" "#blindValueActual;   }   blindValueActual = (blindValueActual.StrValueByIndex(" ", 0)).ToFloat(); } WriteLine(blindChannelsList); WriteLine(blindValueActual); [ExecError():iseESPexec.cpp:12664]
Apr 15 20:57:24 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: string blindName = "Ankleidezimmer Fenster Rollladen";  string blindChannelsList = ""; string blindChannel; string blindValueActual = "";    blindChannelsList = (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames(); foreach(blindChannel, blindChannelsList){   if((dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL")){     blindValueActual = (dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEV
L").Value()#" "#blindValueActual;   }   blindValueActual = (blindValueActual.StrValueByIndex(" ", 0)).ToFloat(); } WriteLine(blindChannelsList); WriteLine(blindValueActual); [ExecError():iseESPexec.cpp:12664]
Apr 15 20:57:24 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: string blindName = "Ankleidezimmer Fenster Rollladen";  string blindChannelsList = ""; string blindChannel; string blindValueActual = "";    blindChannelsList = (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames(); foreach(blindChannel, blindChannelsList){   if((dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL")){     blindValueActual = (dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEV
L").Value()#" "#blindValueActual;   }   blindValueActual = (blindValueActual.StrValueByIndex(" ", 0)).ToFloat(); } WriteLine(blindChannelsList); WriteLine(blindValueActual); [ExecError():iseESPexec.cpp:12664]
Apr 15 20:59:18 homematic-raspi daemon.info cuxd[617]: rename '/tmp/cuxdlog.txt' -> '/tmp/cuxdlog.txt.0'
Apr 15 20:59:18 homematic-raspi daemon.info cuxd[30469]: move '/tmp/cuxdlog.txt.0' -> '/tmp/cuxdlog.txt.20190415-2059'
Ich bin ratlos.

Gruß
Martin
RaspberryMatic-3.45.5.20190330 auf TinkerBoard S, CUxD 2.20, XML-1.20, ioBroker unter Debian 9, Alexa mit ioBroker, VitoComfort 200

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“