[GELÖST] Systemvariablen im Script
Moderatoren: jmaus, Co-Administratoren
-
- Beiträge: 100
- Registriert: 07.05.2017, 19:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: nähe Münster
[GELÖST] Systemvariablen im Script
Hallo,
ich habe beim Versuch, die Scripte von der CCu2 nach Raspberrymatic zu übernehmen festgestellt, dass sich die Methoden unterschiedlich verhalten. Beispiel:
var sysvar;
sysvar=dom.GetObject("Test");
WriteLine(sysvar.Value());
sysvar.Value(0);
WriteLine(sysvar.Value());
"Test" ist eine boolsche Variable.
Auf der CCU ist alles ok (Ausgabe ist true o. false), auf dem Raspberry nicht (ist 0 und wird nicht geändert)!
Mache ich etwas falsch oder übersehe ich etwas, da dieses Thema hier nicht zu finden ist?
In beiden Systemen ist jeweils der aktuellste Stand eingespielt.
Übrigens - Vielen Dank an alle hier im Forum! Ohne die User hier hätte ich vieles nicht so umsetzen können!
ich habe beim Versuch, die Scripte von der CCu2 nach Raspberrymatic zu übernehmen festgestellt, dass sich die Methoden unterschiedlich verhalten. Beispiel:
var sysvar;
sysvar=dom.GetObject("Test");
WriteLine(sysvar.Value());
sysvar.Value(0);
WriteLine(sysvar.Value());
"Test" ist eine boolsche Variable.
Auf der CCU ist alles ok (Ausgabe ist true o. false), auf dem Raspberry nicht (ist 0 und wird nicht geändert)!
Mache ich etwas falsch oder übersehe ich etwas, da dieses Thema hier nicht zu finden ist?
In beiden Systemen ist jeweils der aktuellste Stand eingespielt.
Übrigens - Vielen Dank an alle hier im Forum! Ohne die User hier hätte ich vieles nicht so umsetzen können!
CCU2 seit 2014 (Echtbetrieb mit ca.73 Geräten)
Raspi seit 2017 (Testbetrieb mit 5 Geräten)
CCU2 im Büro, Uptime 324 Tage
Raspi seit 30.10.2017 (Echtbetrieb mit mehr als 78 Geräten, 140 Programme, 18 Scripte), längste Uptime 184 Tage
Raspi seit 30.10.2017 (Testbetrieb mit als 5 Geräten und Backup-System)
Einige Homematic IP-Geräte sowohl im Echt- als auch Testbetrieb
CuxD, E-Mail, CuxD Highcharts
CCU-Historian seit dem 09.04.2019
Raspi seit 2017 (Testbetrieb mit 5 Geräten)
CCU2 im Büro, Uptime 324 Tage
Raspi seit 30.10.2017 (Echtbetrieb mit mehr als 78 Geräten, 140 Programme, 18 Scripte), längste Uptime 184 Tage
Raspi seit 30.10.2017 (Testbetrieb mit als 5 Geräten und Backup-System)
Einige Homematic IP-Geräte sowohl im Echt- als auch Testbetrieb
CuxD, E-Mail, CuxD Highcharts
CCU-Historian seit dem 09.04.2019
-
- Beiträge: 100
- Registriert: 07.05.2017, 19:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: nähe Münster
Re: Systemvariablen im Script
dieterdorn hat geschrieben:Hallo,
ich habe beim Versuch, die Scripte von der CCu2 nach Raspberrymatic zu übernehmen festgestellt, dass sich die Methoden unterschiedlich verhalten. Beispiel:
var sysvar;
sysvar=dom.GetObject("Test");
WriteLine(sysvar.Value());
sysvar.Value(0);
WriteLine(sysvar.Value());
"Test" ist eine boolsche Variable.
Auf der CCU ist alles ok (Ausgabe ist true o. false), auf dem Raspberry nicht (ist 0 und wird nicht geändert)!
Mache ich etwas falsch oder übersehe ich etwas, da dieses Thema hier nicht zu finden ist?
In beiden Systemen ist jeweils der aktuellste Stand eingespielt.
Übrigens - Vielen Dank an alle hier im Forum! Ohne die User hier hätte ich vieles nicht so umsetzen können!
Hallo,
ich kann mir nicht vorstellen, dass keiner von denen, die auf Raspberry umgestiegen sind, keine Scripte mit Systemvariablen verwenden. Da aber keine Beiträge zu dem Thema gepostet werden, gehe ich mal davon aus, dass ich irgendetwas falsch mache oder zu blöd bin.
Kann mir denn wenigstens jemand sagen, dass das Setzem (Verändern) von Systemvariablen in Scripten unter Raspberrymatic definitiv funktioniert? Denn solange ich das nicht hinbekomme, kann ich nicht von der CCU2 weg und umstellen. Es wäre also schon wichtig, darüber etwas zu erfahren.
Vielen Dank im Voraus!
Gruß
CCU2 seit 2014 (Echtbetrieb mit ca.73 Geräten)
Raspi seit 2017 (Testbetrieb mit 5 Geräten)
CCU2 im Büro, Uptime 324 Tage
Raspi seit 30.10.2017 (Echtbetrieb mit mehr als 78 Geräten, 140 Programme, 18 Scripte), längste Uptime 184 Tage
Raspi seit 30.10.2017 (Testbetrieb mit als 5 Geräten und Backup-System)
Einige Homematic IP-Geräte sowohl im Echt- als auch Testbetrieb
CuxD, E-Mail, CuxD Highcharts
CCU-Historian seit dem 09.04.2019
Raspi seit 2017 (Testbetrieb mit 5 Geräten)
CCU2 im Büro, Uptime 324 Tage
Raspi seit 30.10.2017 (Echtbetrieb mit mehr als 78 Geräten, 140 Programme, 18 Scripte), längste Uptime 184 Tage
Raspi seit 30.10.2017 (Testbetrieb mit als 5 Geräten und Backup-System)
Einige Homematic IP-Geräte sowohl im Echt- als auch Testbetrieb
CuxD, E-Mail, CuxD Highcharts
CCU-Historian seit dem 09.04.2019
-
- Beiträge: 3302
- Registriert: 07.01.2015, 23:26
- Wohnort: Scheeßel
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 11 Mal
Re: Systemvariablen im Script
Tru/FAlse SysVar frage ich so ab, das funktioniert super:
Und setzen tu ich die wenn gewollt mit:
Code: Alles auswählen
var xxx = dom.GetObject('KameraFLAlarm').State();
WriteLine(xxx);
Code: Alles auswählen
dom.GetObject('KameraFLAlarm').State(true);
- blackhole
- Beiträge: 3730
- Registriert: 21.07.2015, 14:03
- System: CCU
- Hat sich bedankt: 184 Mal
- Danksagung erhalten: 587 Mal
Re: Systemvariablen im Script
Du solltest dir angewöhnen Abfragen möglichst mittels .Value() durchzuführen, auch wenn das bei Systemvariablen eine eher untergeordnete Rolle spielt.nicolas-eric hat geschrieben:... frage ich so ab ... :
Code: Alles auswählen
... .State() ...
Spätestens bei Zustandsabfragen von HM-Devices/Datenpunkten werden es dir jedoch der DC, die Batterielebensdauer, die Geldbörse und die Umwelt danken.
-
- Beiträge: 3302
- Registriert: 07.01.2015, 23:26
- Wohnort: Scheeßel
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 11 Mal
- blackhole
- Beiträge: 3730
- Registriert: 21.07.2015, 14:03
- System: CCU
- Hat sich bedankt: 184 Mal
- Danksagung erhalten: 587 Mal
Re: Systemvariablen im Script
Leute die das hier nur abgucken und auf andere Dinge übertragen (funktioniert ja super) machen das sicherlich nicht.
Daher besser den sauberen Weg veröffentlichen.
Wirklich super wird es erst dann, wenn man neben Value() noch die zugehörige Methode Get() benutzt.
Daher besser den sauberen Weg veröffentlichen.
Wirklich super wird es erst dann, wenn man neben Value() noch die zugehörige Methode Get() benutzt.
-
- Beiträge: 100
- Registriert: 07.05.2017, 19:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: nähe Münster
Re: Systemvariablen im Script
Vielen Dank für die Antwort!nicolas-eric hat geschrieben:Tru/FAlse SysVar frage ich so ab, das funktioniert super:
Und setzen tu ich die wenn gewollt mit:Code: Alles auswählen
var xxx = dom.GetObject('KameraFLAlarm').State(); WriteLine(xxx);
Code: Alles auswählen
dom.GetObject('KameraFLAlarm').State(true);
Aber genau das klappt bei mit nicht mit Raspberry, mit der CCU2 habe ich keine Probleme. Ich kann das Beispiel kopieren und auf der CCU2 geht's, aber nicht auf dem Raspi!
Ich habe übrigen eine Zählvariabler (integer) - mit der habe ich auch keine Probleme, ich drucke den Wert (.Value()) und kann ihn verändern (mit .State(x)) und alles ist so, wie es sein soll, auch auf dem Raspi.
Mein Beispiel in der ersten Anfrage ist nicht ganz vollständig, denn ich ändere einen Bool-Wert natürlich mit .State(true) oder .State(false)! Aber der Wert ändert sich eben nicht, und WriteLine ergibt nichts oder eine "0", auch wenn der Wert True ist.
Code: Alles auswählen
var xxx = dom.GetObject('Test');
WriteLine(xxx.Value());
WriteLine("xxx"+xxx.State(true));
WriteLine(xxx.Value());
Code: Alles auswählen
0
xxx
0
Vielleicht hat ja jemand eine Idee, was da falsch läuft (oder ich falsch mache).
Vielen Dank!
CCU2 seit 2014 (Echtbetrieb mit ca.73 Geräten)
Raspi seit 2017 (Testbetrieb mit 5 Geräten)
CCU2 im Büro, Uptime 324 Tage
Raspi seit 30.10.2017 (Echtbetrieb mit mehr als 78 Geräten, 140 Programme, 18 Scripte), längste Uptime 184 Tage
Raspi seit 30.10.2017 (Testbetrieb mit als 5 Geräten und Backup-System)
Einige Homematic IP-Geräte sowohl im Echt- als auch Testbetrieb
CuxD, E-Mail, CuxD Highcharts
CCU-Historian seit dem 09.04.2019
Raspi seit 2017 (Testbetrieb mit 5 Geräten)
CCU2 im Büro, Uptime 324 Tage
Raspi seit 30.10.2017 (Echtbetrieb mit mehr als 78 Geräten, 140 Programme, 18 Scripte), längste Uptime 184 Tage
Raspi seit 30.10.2017 (Testbetrieb mit als 5 Geräten und Backup-System)
Einige Homematic IP-Geräte sowohl im Echt- als auch Testbetrieb
CuxD, E-Mail, CuxD Highcharts
CCU-Historian seit dem 09.04.2019
- jmaus
- Beiträge: 9862
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1880 Mal
- Kontaktdaten:
Re: Systemvariablen im Script
Also bei mir funktioniert dein Beispiel:dieterdorn hat geschrieben:[...]
Mein Beispiel in der ersten Anfrage ist nicht ganz vollständig, denn ich ändere einen Bool-Wert natürlich mit .State(true) oder .State(false)! Aber der Wert ändert sich eben nicht, und WriteLine ergibt nichts oder eine "0", auch wenn der Wert True ist.
Ausgabe:Code: Alles auswählen
var xxx = dom.GetObject('Test'); WriteLine(xxx.Value()); WriteLine("xxx"+xxx.State(true)); WriteLine(xxx.Value());
Ist das ein generelles Problem im Umgang mit boolsdchen Variablen unter dem Raspi?Code: Alles auswählen
0 xxx 0
Vielleicht hat ja jemand eine Idee, was da falsch läuft (oder ich falsch mache).
Code: Alles auswählen
var xxx = dom.GetObject('Test');
WriteLine(xxx.Value());
WriteLine("xxx" # xxx.State(false));
WriteLine(xxx.Value());
Code: Alles auswählen
false
xxxtrue
false
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
-
- Beiträge: 100
- Registriert: 07.05.2017, 19:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: nähe Münster
Re: [GELÖST] Systemvariablen im Script
Vielen Dank an alle, die sich mit meinem Problem auseinander gesetzt haben. Es hat mich echt zur Verzweifelung getrieben. Aber nachdem ich hier den Eindruck gewonnen habe, dass es KEIN prinzipielles Problem mit dem Raspberry ist (Gott sei Dank!).
Also habe ich das gemacht, was man denn so tut in hoffnungslosen Fällen: man fängt bei Null an, sprich: alles neu aufgesetzt und siehe da, alles geht so, wie es soll!
Ich fände ja ein etwas fehlertoleranteres System (Rega defekt?) oder zumindest eine Reparaturmöglichkeit ganz gut, denn mein Echtsystem hat ja laut diversen Gesprächen auf dem Usertreffen auch eine beschädigte Rega.
Und irgendwie scheine ich mit meinen diversen und planlosen Versuchen und Tests irgendwas zerschossen zu haben - sollte eigentlich nicht sein, aber...
Nochmals Vielen Dank, denn die Info, dass es eigentlich laufen müsste, hilft dann eben auch viel )
Also habe ich das gemacht, was man denn so tut in hoffnungslosen Fällen: man fängt bei Null an, sprich: alles neu aufgesetzt und siehe da, alles geht so, wie es soll!
Ich fände ja ein etwas fehlertoleranteres System (Rega defekt?) oder zumindest eine Reparaturmöglichkeit ganz gut, denn mein Echtsystem hat ja laut diversen Gesprächen auf dem Usertreffen auch eine beschädigte Rega.
Und irgendwie scheine ich mit meinen diversen und planlosen Versuchen und Tests irgendwas zerschossen zu haben - sollte eigentlich nicht sein, aber...
Nochmals Vielen Dank, denn die Info, dass es eigentlich laufen müsste, hilft dann eben auch viel )
CCU2 seit 2014 (Echtbetrieb mit ca.73 Geräten)
Raspi seit 2017 (Testbetrieb mit 5 Geräten)
CCU2 im Büro, Uptime 324 Tage
Raspi seit 30.10.2017 (Echtbetrieb mit mehr als 78 Geräten, 140 Programme, 18 Scripte), längste Uptime 184 Tage
Raspi seit 30.10.2017 (Testbetrieb mit als 5 Geräten und Backup-System)
Einige Homematic IP-Geräte sowohl im Echt- als auch Testbetrieb
CuxD, E-Mail, CuxD Highcharts
CCU-Historian seit dem 09.04.2019
Raspi seit 2017 (Testbetrieb mit 5 Geräten)
CCU2 im Büro, Uptime 324 Tage
Raspi seit 30.10.2017 (Echtbetrieb mit mehr als 78 Geräten, 140 Programme, 18 Scripte), längste Uptime 184 Tage
Raspi seit 30.10.2017 (Testbetrieb mit als 5 Geräten und Backup-System)
Einige Homematic IP-Geräte sowohl im Echt- als auch Testbetrieb
CuxD, E-Mail, CuxD Highcharts
CCU-Historian seit dem 09.04.2019