Seriennummer aus Werteliste

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
BDO
Beiträge: 68
Registriert: 14.07.2017, 13:27
Hat sich bedankt: 24 Mal
Danksagung erhalten: 1 Mal

Seriennummer aus Werteliste

Beitrag von BDO » 16.10.2021, 12:56

Hi Profis,
ich möchte einer Systemvariablen per Script die Seriennummer von jeweils einem von 3 Aktoren (HM-LC-Sw4-WM) zuweisen. Dieses soll in Abhängigkeit des Wertes einer weiteren Variablen (i) erfolgen.

Ich stelle mir eine Systemvariable “SV_SerNrn“ als Werteliste mit diesen Seriennummern vor:
QEQ1334176;QEQ1334367;QEQ1334324
Jetzt würde ich gerne z.B. bei i=2 einer weiteren Systemvariablen “SV_SN“ den Wert der zweiten Seriennummer (QEQ1334367) als String zuweisen, um so dann mit

dom.GetObject("HM-LC-SW4-SM.”# SV_SN #”:1.STATE").State(true);

das passende Relais zu schalten.
Hat jemand eine Lösung? Ich tue mich mit der Syntax immer noch ziemlich schwer, insbesondere mit der Werteliste. Im Forum habe ich etwas Passendes nicht gefunden. Etwas “Script-Beistand“ wäre super!
Danke im Voraus…
Gruß Boris

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Seriennummer aus Werteliste

Beitrag von Black » 16.10.2021, 13:05

hattest du nicht schon hier:

viewtopic.php?f=27&t=70060&p=682833#p682833

ein ähnlich geartetes Problem gepostet und von Tyfys auch den Lösungsansatz gezeigt bekommen ?

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Tyfys
Beiträge: 531
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 26 Mal
Danksagung erhalten: 121 Mal

Re: Seriennummer aus Werteliste

Beitrag von Tyfys » 16.10.2021, 23:18

BDO hat geschrieben:
16.10.2021, 12:56
Jetzt würde ich gerne z.B. bei i=2 einer weiteren Systemvariablen “SV_SN“ den Wert der zweiten Seriennummer (QEQ1334367) als String zuweisen
Index einer Werteliste startet bei 0.

Daher wäre in deinem Fall für QEQ1334367 der Index auf 1 zu setzen:

Code: Alles auswählen

var SV_SerNrn = "QEQ1334176;QEQ1334367;QEQ1334324"; 
integer i = 1.0; 
var sep=";";
var SV_SN = "HM-LC-SW4-SM." # SV_SerNrn.StrValueByIndex(sep, i);
WriteLine(SV_SN);
Im von Black angesprochen Beispiel setzen des Satus eines Kanal ohne den Zwischenschritt über eine Variablen gezeigt.


Gruß
Harry
Gruß
Harry

BDO
Beiträge: 68
Registriert: 14.07.2017, 13:27
Hat sich bedankt: 24 Mal
Danksagung erhalten: 1 Mal

Re: Seriennummer aus Werteliste

Beitrag von BDO » 17.10.2021, 14:33

Hallo Black und Harry,
die erste Rückmeldung von Harry hatte mich leider nicht erreicht - also danke für den Hinweis und den Link!
Die Lösung mit dem "StrValueByIndex" war des Nagels Kopf :D
VIELEN DANK DAFÜR!
Euch einen schönen Restsonntag.
Gruß Boris

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“