Per Skript Systemvariable Typ Werteliste ändern
Moderator: Co-Administratoren
Per Skript Systemvariable Typ Werteliste ändern
Guten Abend,
Ich habe mich mal etwas an das Skripten gewagt, nun möchte ich mir von einem HVL Device einen Wert in eine Systemvariable schreiben lassen.
Dazu habe ich folgendes Skript gebaut:
var RBPower = dom.GetObject("HVL.R_368b1cf:19.POWERSTATE").Value();
dom.GetObject("R_Badezimmer:Power").State(RBPower);
Das klappt an sich schon perfekt, die Systemvariable vom Typ "Zeichenkette" lässt sich so wunderbar befüllen, ich hätte jedoch gerne den Typ "Werteliste" ändere ich das einfach so um wird in der Systemvariable ganz egal welcher Zustand das HVL Device hat immer nur der erste Wert in der Liste ausgegeben.
Kann mir jemand sagen was ich hier Falsch mache? Muss ich im Skript noch die Möglichen Zustände berücksichtigen ?
Vielen dank schonmal für die Hilfe.
Gruß,
Ich habe mich mal etwas an das Skripten gewagt, nun möchte ich mir von einem HVL Device einen Wert in eine Systemvariable schreiben lassen.
Dazu habe ich folgendes Skript gebaut:
var RBPower = dom.GetObject("HVL.R_368b1cf:19.POWERSTATE").Value();
dom.GetObject("R_Badezimmer:Power").State(RBPower);
Das klappt an sich schon perfekt, die Systemvariable vom Typ "Zeichenkette" lässt sich so wunderbar befüllen, ich hätte jedoch gerne den Typ "Werteliste" ändere ich das einfach so um wird in der Systemvariable ganz egal welcher Zustand das HVL Device hat immer nur der erste Wert in der Liste ausgegeben.
Kann mir jemand sagen was ich hier Falsch mache? Muss ich im Skript noch die Möglichen Zustände berücksichtigen ?
Vielen dank schonmal für die Hilfe.
Gruß,
-
- Beiträge: 1184
- Registriert: 09.01.2016, 17:42
- Wohnort: Sauerland
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Per Skript Systemvariable Typ Werteliste ändern
Klar. Wertelisten werden als Zahl gesetzt. Der erste Eintrag ist dabei 0, der zweite 1 usw...
Siehst Du auch wenn Du den aktuellen Wert der Werteliste mit Value abfragst...
Siehst Du auch wenn Du den aktuellen Wert der Werteliste mit Value abfragst...
-
- Beiträge: 1184
- Registriert: 09.01.2016, 17:42
- Wohnort: Sauerland
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Per Skript Systemvariable Typ Werteliste ändern
Noch was heisst Deine Systemvariable wirklich R_Badezimmer:Powe? Ich bin mir unsicher aber ich glaube lt. Doku ist ein Doppelpunkt nicht erlaubt? Kann aber sein das ich mich jetzt mit Scriptvariablen vertue...
Re: Per Skript Systemvariable Typ Werteliste ändern
Ja, das ist mir klar aber was muss ich tun das ich den wert auf einen in der Werteliste bekannten setzen kann, also nicht nur auf den ersten?
- anli
- Beiträge: 4326
- Registriert: 10.06.2009, 14:01
- Wohnort: 20 Min. nördlich von Hannover und bei Bremen
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 23 Mal
- Kontaktdaten:
Re: Per Skript Systemvariable Typ Werteliste ändern
Welche Werte wurden denn in die Zeichenkette geschrieben? Eventuell macht der Variablentyp einen Unterschied: es kann sein, dass rbpower ein String ist, die Werteliste aber einen int erwartet. Dann musst du den Wert einmal in int konvertieren.
Herzliche Grüße, anli
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
Re: Per Skript Systemvariable Typ Werteliste ändern
Hey,
Ich habe folgendes in der Werteliste:
ACTIVE;MANUAL_STANDBY
Vielen Dank für die Hilfe.
Gruß,
Ich habe folgendes in der Werteliste:
ACTIVE;MANUAL_STANDBY
Vielen Dank für die Hilfe.
Gruß,
-
- Beiträge: 1184
- Registriert: 09.01.2016, 17:42
- Wohnort: Sauerland
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Per Skript Systemvariable Typ Werteliste ändern
Wie es geht hatte ich doch geschrieben. Hier ein Beispiel:
Meine Systemvariable heißt Heizprogramm. Die Werteliste: normer Tag, Feier oder Urlaubstag und eine Person zu Hause.
Entscheidet ist das .State(0) damit wird die Systemvariable auf normaer Tag gesetzt. Ich nutze hier schon die bessere Schreibweise mit dom.GetObejct(ID_SYSTEM_VARIABLES).Get...
Code: Alles auswählen
! Heizprogramm ermitteln
! 0 = normaler Tag
! 1 = Feier- oder Urlaubstag
! 2 = eine Person zu Hause
! im else-Teil keine Abfrage auf != 0 damit wenn das Programm 2 eingestellt ist, dieses nicht automatisch überschrieben wird
if((Feiertag) || (Urlaubstag)){if(dom.GetObject(ID_SYSTEM_VARIABLES).Get("SV Heizprogramm").Value() != 1){dom.GetObject(ID_SYSTEM_VARIABLES).Get("SV Heizprogramm").State(1);}}
else {if(dom.GetObject(ID_SYSTEM_VARIABLES).Get("SV Heizprogramm").Value() == 1){dom.GetObject(ID_SYSTEM_VARIABLES).Get("SV Heizprogramm").State(0);}}
Entscheidet ist das .State(0) damit wird die Systemvariable auf normaer Tag gesetzt. Ich nutze hier schon die bessere Schreibweise mit dom.GetObejct(ID_SYSTEM_VARIABLES).Get...
Re: Per Skript Systemvariable Typ Werteliste ändern
Sorry wie gesagt, relativ Neuland.
Ich kapier hier leider immer noch nicht wie ich die werteliste dann quasi befüllen soll.
Ich bekomme von dem HVL gerät den Status Active und Manual_Standby und diesen möchte ich in deine werteliste schreiben bzw. In eine systemvariable so das ich dann beim verwenden dieser Variable in einem Programm im Dropdown-Menü die Option habe Active oder eben Manual_Standby anzuwählen.
Ich kapier hier leider immer noch nicht wie ich die werteliste dann quasi befüllen soll.
Ich bekomme von dem HVL gerät den Status Active und Manual_Standby und diesen möchte ich in deine werteliste schreiben bzw. In eine systemvariable so das ich dann beim verwenden dieser Variable in einem Programm im Dropdown-Menü die Option habe Active oder eben Manual_Standby anzuwählen.
- anli
- Beiträge: 4326
- Registriert: 10.06.2009, 14:01
- Wohnort: 20 Min. nördlich von Hannover und bei Bremen
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 23 Mal
- Kontaktdaten:
Re: Per Skript Systemvariable Typ Werteliste ändern
Die Werte trägst Du direkt in der WebUI selbst ein (geht auch über Skript, aber das macht glaube ich hier keinen Sinn). Systemvariable -> bearbeiten. Unter Wertebezeichnung einfach deine möglichen Werte mit Semikolon getrennt einfügen.
Herzliche Grüße, anli
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
- klana
- Beiträge: 1099
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 27 Mal
Re: Per Skript Systemvariable Typ Werteliste ändern
Hallo Adrian-01,
schau doch mal hier....
https://www.blogging-it.com/code-snippe ... cript.html
das hat mir auch schon geholfen.
Gruß
Klana
schau doch mal hier....
https://www.blogging-it.com/code-snippe ... cript.html
das hat mir auch schon geholfen.
Gruß
Klana
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.