Per Skript Systemvariable Typ Werteliste ändern

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Adrian-01
Beiträge: 26
Registriert: 01.09.2016, 21:28

Re: Per Skript Systemvariable Typ Werteliste ändern

Beitrag von Adrian-01 » 09.12.2017, 17:29

Ja genau, ich habe das dort eingetragen jedoch ändert sich der Wert dann leider nicht mit dem von mir verwendeten Skript das ich oben gepostet habe :/


Vielen Dank für die vielen Hilfen. ;)

Cash
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

Beitrag von Cash » 09.12.2017, 18:24

Letzter Versuch was liefert denn:

Code: Alles auswählen

var RBPower = dom.GetObject("HVL.R_368b1cf:19.POWERSTATE").Value();
var tmpA = dom.GetObject("R_Badezimmer:Power").Value();
WriteLine(RBPower);
WriteLine(tmpA);

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Per Skript Systemvariable Typ Werteliste ändern

Beitrag von paul53 » 09.12.2017, 18:32

Adrian-01 hat geschrieben:jedoch ändert sich der Wert dann leider nicht mit dem von mir verwendeten Skript das ich oben gepostet habe :/
In diesem Skript schreibst Du einen String in eine SV vom Typ "Werteliste". Man kann aber nur Integer-Werte (0, 1, 2, ...) in eine Werteliste schreiben.

Code: Alles auswählen

var RBPower = dom.GetObject("HVL.R_368b1cf:19.POWERSTATE").Value();
var wert = 0;
if(RBPower == "Manual_Standby") {
   wert = 1;
}
dom.GetObject("R_Badezimmer:Power").State(wert);
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

Benutzeravatar
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

Beitrag von anli » 09.12.2017, 19:33

paul53 hat geschrieben:
Adrian-01 hat geschrieben:jedoch ändert sich der Wert dann leider nicht mit dem von mir verwendeten Skript das ich oben gepostet habe :/
In diesem Skript schreibst Du einen String in eine SV vom Typ "Werteliste". Man kann aber nur Integer-Werte (0, 1, 2, ...) in eine Werteliste schreiben.
Habe ich ja auch schon gesagt, aber anscheinend hats nix geholfen :roll:
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-Hilfeerweiterter Skript-Parser

Cash
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

Beitrag von Cash » 09.12.2017, 19:56

Bin hier dann mal raus. Der Thread Starter versteht mich ja anscheinend nicht

Adrian-01
Beiträge: 26
Registriert: 01.09.2016, 21:28

Re: Per Skript Systemvariable Typ Werteliste ändern

Beitrag von Adrian-01 » 09.12.2017, 21:28

Vielen lieben dank euch allen...
@paul53 jetzt hab Ichs geschnallt, genau das habe ich nicht gleich verstanden...

Wenn ich jetzt z.B. mehrere Werte habe angenommen 3

dann müsste es so aussehen:

Code: Alles auswählen

var RBPower = dom.GetObject("HVL.R_368b1cf:19.POWERSTATE").Value();
var wert = 0;
if(RBPower == "Manual_Standby") {
   wert = 1;
}
dom.GetObject("R_Badezimmer:Power").State(wert);

if(RBPower == "Neuer_WERT3") {
   wert = 2;
}
dom.GetObject("R_Badezimmer:Power").State(wert);

Ist hier mein Gedanke der richtige?
Also ich muss im Skript immer definieren wenn vom gerät der Status Manual_Standby kommt muss in der Systemvariable der Wert 2 gesetzt werden?

Vielen vielen Dank euch!

Gruß,

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Per Skript Systemvariable Typ Werteliste ändern

Beitrag von paul53 » 09.12.2017, 22:09

So setzt Du die SV erst auf 0 und gleich anschließend auf 2, wenn RBPower == "Neuer_WERT3" zutrifft. Deshalb besser so:

Code: Alles auswählen

    ar RBPower = dom.GetObject("HVL.R_368b1cf:19.POWERSTATE").Value();
    var wert = 0;
    if(RBPower == "Manual_Standby") {
       wert = 1;
    }
    if(RBPower == "Neuer_WERT3") {
       wert = 2;
    }
    dom.GetObject("R_Badezimmer:Power").State(wert);
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“