Skript Hilfe

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Tyfys
Beiträge: 551
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: Skript Hilfe

Beitrag von Tyfys » 24.11.2022, 07:58

man muss auch alles lesen.

Code: Alles auswählen

!ich meinte, du hättest diese Zeile  erweitert :  
var h = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Touareg_Restladezeit").Value();           ! auf
var h = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Touareg_Restladezeit").Value().ToInteger();
Das da das .Value() weg war ist mir gar nicht aufgefallen
Gruß
Harry

Manuel.P
Beiträge: 296
Registriert: 13.12.2015, 14:04
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Skript Hilfe

Beitrag von Manuel.P » 24.11.2022, 20:17

Ich blick gleich garnicht mehr durch,... also das ist jetzt mein aktuelle Stand, leider immer noch mit dem Ergebnis 0

Code: Alles auswählen

!Touareg Restladezeit errechnen Minuten in Stunden 

var min = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Touareg_Restladezeit").Value().ToInteger();
string h = ((min*60)-3600).ToTime().Format("%H:%M h");
WriteLine(h);

dom.GetObject(ID_SYSTEM_VARIABLES).Get("Touareg_Restladezeit_h").State(h);

MichaelN
Beiträge: 9679
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1626 Mal

Re: Skript Hilfe

Beitrag von MichaelN » 24.11.2022, 20:18

Mach s doch in einzelne Schritte mit WriteLine dazwischen, dann kannst du das besser nachvollziehen.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

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

Re: Skript Hilfe

Beitrag von Black » 24.11.2022, 21:12

Manuel.P hat geschrieben:
24.11.2022, 20:17
Ich blick gleich garnicht mehr durch,... also das ist jetzt mein aktuelle Stand, leider immer noch mit dem Ergebnis 0
irgendwas ist da arg komisch bei dir..
ich habs bei mir mal laufen lassen (mit "650" in der Systemvairbalen)
t1.PNG
t1.PNG (12.67 KiB) 232 mal betrachtet

kurz zur abklärung welchen Typ haben deine beiden Systemvariablen ?
Zeichenkette ? zahl ? aufzählung ?

mit Zeichenkette sollte das gehen

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

Benutzeravatar
Henke
Beiträge: 1524
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Skript Hilfe

Beitrag von Henke » 24.11.2022, 21:43

Code: Alles auswählen

!Touareg Restladezeit errechnen Minuten in Stunden 

var min = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Touareg_Restladezeit").Value().ToInteger();
var min = 25; ! Zeile löschen, wenn es läuft
WriteLine ( min );

string zeit= ((min-system.TimeZoneOffset())*60).ToTime().Format("%H:%M h");
WriteLine(zeit);

dom.GetObject(ID_SYSTEM_VARIABLES).Get("Touareg_Restladezeit_h").State(zeit);
Teste das mal.

Edit: Value rein, nicht getestet
Zuletzt geändert von Henke am 24.11.2022, 22:28, insgesamt 1-mal geändert.

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Skript Hilfe

Beitrag von alchy » 24.11.2022, 21:51

Henke hat geschrieben:
24.11.2022, 21:43

Code: Alles auswählen

var min = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Touareg_Restladezeit").ToInteger();
.....
Teste das mal.
das fehlende .Value() gab es schon
Matsch hat geschrieben:
23.11.2022, 23:32
Du kannst den Verweis auf ein Objekt nicht in integer verwandeln, nur den Wert aus dem Datenpunkt.
.Value() fehlt.
und wurde beseitigt. Nicht wieder ins Spiel bringen. :wink:
Sonst geht das hier noch ewig weiter :mrgreen:

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Tyfys
Beiträge: 551
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: Skript Hilfe

Beitrag von Tyfys » 24.11.2022, 22:07

Wenn diese Frage beantwortet ist, kann's erst weiter gehen:
Black hat geschrieben:
24.11.2022, 21:12
welchen Typ haben deine beiden Systemvariablen ?
Gruß
Harry

Antworten

Zurück zu „HomeMatic allgemein“