Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

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

Moderator: Co-Administratoren

MartinBr
Beiträge: 393
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin
Hat sich bedankt: 3 Mal
Danksagung erhalten: 8 Mal

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.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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) 42-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;
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: 393
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin
Hat sich bedankt: 3 Mal
Danksagung erhalten: 8 Mal

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.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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;
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: 393
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin
Hat sich bedankt: 3 Mal
Danksagung erhalten: 8 Mal

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.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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;
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: 393
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin
Hat sich bedankt: 3 Mal
Danksagung erhalten: 8 Mal

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.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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

Beitrag von dtp » 15.04.2019, 22:05

Welchen Namen hat denn der Aktor im Ankleidezimmer genau? Also nicht die einzelnen Kanäle, sondern das Gerät?

Ist das Ankleidezimmer der einzige Raum mit einem HmIP-BROLL? Falls nicht, teste das Skript bitte doch noch mal für einen anderen BROLL.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
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: 393
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin
Hat sich bedankt: 3 Mal
Danksagung erhalten: 8 Mal

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

Beitrag von MartinBr » 16.04.2019, 06:57

Hallo Thorsten,
der Autor heißt "Ankleidezimmer Fenster Rollladen". Alle Kanäle heißen genauso mit angehängter Kanalnummer (siehe letzten Post).
Das ist der einzige BROLL, alle anderen Rollo-Aktoren sind EnOcean.

Wäre es denkbar, in dem Script den Namen mit angehängter Kanalnummer einzugeben?
Also <Ankleidezimmer Fenster Rollladen:4> und <HWR Fenster Rollladen:1>?

Gruß
Martin
RaspberryMatic-3.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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

Beitrag von dtp » 16.04.2019, 07:19

MartinBr hat geschrieben:
16.04.2019, 06:57
Wäre es denkbar, in dem Script den Namen mit angehängter Kanalnummer einzugeben?
Also <Ankleidezimmer Fenster Rollladen:4> und <HWR Fenster Rollladen:1>?
Das würde dann den automatischen Zugriff auf die Tür- und Fenstersensoren verkomplizieren, da jeder seinen Kanälen andere Namen gibt. Ich z.B. bevorzuge ein "Kanal" statt dem Doppelpunkt.

Ich schaue noch mal, woran es hakt.

Du hattest vor kurzem mal geschrieben, dass du mit dem nachfolgenden Skript deine Aktoren erfolgreich ansteuern konntest:

Code: Alles auswählen

string blindName = "Name des Beschattungsaktors";
string channel;

foreach(channel, (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames()){
  WriteLine(channel);
  if((dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL")){
    (dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL").State(0.4);
  }
}
Dann sollte es mit diesem Skript eigentlich auch funktionieren:

Code: Alles auswählen

string blindName = "Name des Beschattungsaktors";
real blindValue = 40.0;
string blindChannelsList; string blindChannel;

blindChannelsList = (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames();
foreach(blindChannel, blindChannelsList){
  if((dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL")){
    (dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL").State(blindValue/100);
  }
}
Wenn du magst, kannst du es auch noch mal mit der 2.0.5beta testen. Damit sollten zumindest die Fehlermeldungen im Syslog nicht mehr auftreten. Zudem gibt dir diese Version nun eine Meldung per Push-Nachricht aus, wenn ein Gerät unter dem entsprechenden Namen nicht gefunden werden kann. Gibt es keinen entsprechenden Fenstersensor zum Rollladenaktor, wird der zugehörige Beschattungswert nun weiß dargestellt.

Ich befürchte, ich muss mir doch noch einen HmIP-BROLL kaufen. :roll: Sonst wird das hier im Thread ein zu langes Hin und Her. 8) Oder hat jemand im Raum Stuttgart zufällig einen übrig, den er mir testweise zur Verfügung stellen kann. Möchte ungerne einen bei Amazon kaufen, um ihn dann nach zwei Wochen wieder zurückzugeben. Denn brauchen tue ich den Aktor nicht wirklich.

Gruß,

Thorsten
Zuletzt geändert von dtp am 17.04.2019, 16:43, insgesamt 1-mal geändert.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Antworten

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