Laufzeit eines Gerätes per Systemvariable festlegen
Moderator: Co-Administratoren
- NilsG
- Beiträge: 1692
- Registriert: 09.08.2013, 23:44
- System: CCU
- Hat sich bedankt: 383 Mal
- Danksagung erhalten: 30 Mal
- Kontaktdaten:
Laufzeit eines Gerätes per Systemvariable festlegen
Moin zusammen!
Aktuell habe ich bei meinem Sprimgbrunnen eine feste Zeit eingestellt, die er läuft, wenn er eingeschaltet wird.
Jetzt kam mir die Idee, diese feste Zeit durch eine freie definierbare zu ersetzen, oder durch z.B. 4-5 feste Werte, die ich dann auswählen kann.
Ich denke, das richtige Stichwort ist CuXD-Timer und/oder Script?!
Könnte mir da jemand mal helfen?
Danke!
Aktuell habe ich bei meinem Sprimgbrunnen eine feste Zeit eingestellt, die er läuft, wenn er eingeschaltet wird.
Jetzt kam mir die Idee, diese feste Zeit durch eine freie definierbare zu ersetzen, oder durch z.B. 4-5 feste Werte, die ich dann auswählen kann.
Ich denke, das richtige Stichwort ist CuXD-Timer und/oder Script?!
Könnte mir da jemand mal helfen?
Danke!
Grüße und DANKE!
Nils
-----------------------------------------
CCU3 + 2x LAN-Gateway
Nils
-----------------------------------------
CCU3 + 2x LAN-Gateway
-
- Beiträge: 5424
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 734 Mal
Re: Laufzeit eines Gerätes per Systemvariable festlegen
Mit Script doch kein Problem. Hier wird eine SV für die Dauer gesetzt.
Annahme:
- Dauer in SV_Time
- Zu schaltendes Object SV_Status
Annahme:
- Dauer in SV_Time
- Zu schaltendes Object SV_Status
Code: Alles auswählen
object oStatus = dom.GetObject("SV_Status");
var time = dom.GetObject("SV_Time").Value(); ! Zeit in Millisekunden, andernfalls auf ms umrechnen
oStatus.State(true);
oStatus.State(false, time); ! Timer retriggernd
- NilsG
- Beiträge: 1692
- Registriert: 09.08.2013, 23:44
- System: CCU
- Hat sich bedankt: 383 Mal
- Danksagung erhalten: 30 Mal
- Kontaktdaten:
Re: Laufzeit eines Gerätes per Systemvariable festlegen
Danke, guck ich mir an
Scripts sind für mich leider böhmische Wälder
Scripts sind für mich leider böhmische Wälder
Grüße und DANKE!
Nils
-----------------------------------------
CCU3 + 2x LAN-Gateway
Nils
-----------------------------------------
CCU3 + 2x LAN-Gateway
-
- Beiträge: 9650
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 697 Mal
- Danksagung erhalten: 1617 Mal
Re: Laufzeit eines Gerätes per Systemvariable festlegen
Das geht ohne Skript
Du musst den "weißen Zettel" Trick anwenden. Viele Programmierer sind sauer über diesen Trick. Klicke hier um zu sehen wie es funktioniert.
Sorry. War gerade zulange auf Facebook.
Aber den Trick gibt es wirklich
Dort wo du sonst die Einschaltdauer fest vorgibt, gibt es ein Icon "weißer Zettel". Anklicken, System Zustand auswählen und dann kannst du eine Systemvariable auswählen. Die musst du natürlich vorher anlegen. Und der Wert, der da drin steht wird zukünftig als Einschalt Dauer genommen.
Du musst den "weißen Zettel" Trick anwenden. Viele Programmierer sind sauer über diesen Trick. Klicke hier um zu sehen wie es funktioniert.
Sorry. War gerade zulange auf Facebook.
Aber den Trick gibt es wirklich
Dort wo du sonst die Einschaltdauer fest vorgibt, gibt es ein Icon "weißer Zettel". Anklicken, System Zustand auswählen und dann kannst du eine Systemvariable auswählen. Die musst du natürlich vorher anlegen. Und der Wert, der da drin steht wird zukünftig als Einschalt Dauer genommen.
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 +++
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 +++
- NilsG
- Beiträge: 1692
- Registriert: 09.08.2013, 23:44
- System: CCU
- Hat sich bedankt: 383 Mal
- Danksagung erhalten: 30 Mal
- Kontaktdaten:
Re: Laufzeit eines Gerätes per Systemvariable festlegen
Gucke ich mir an. Noch nie was von gehört.
Hast Du ggf nen Screenshot?!
Danke
Hast Du ggf nen Screenshot?!
Danke
Grüße und DANKE!
Nils
-----------------------------------------
CCU3 + 2x LAN-Gateway
Nils
-----------------------------------------
CCU3 + 2x LAN-Gateway
-
- Beiträge: 5424
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 734 Mal
Re: Laufzeit eines Gerätes per Systemvariable festlegen
Sch... stimmt, hast wieder mal Recht, geht auch im Programm. Aber hat jeder Aktor auch den Datenpunkt Einschaltdauer?
Dabei beachten, dass erst die Einschaltdauer festgelegt werden und verzögert (!) danach der Einschaltbefehl erfolgen muß.
Dabei beachten, dass erst die Einschaltdauer festgelegt werden und verzögert (!) danach der Einschaltbefehl erfolgen muß.
-
- Beiträge: 544
- Registriert: 17.04.2021, 17:12
- System: CCU
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 123 Mal
Re: Laufzeit eines Gerätes per Systemvariable festlegen
Und funktioniert auch nur bei Systemvariablen vom Typ Zahl.
Bei Werteliste wird dort leider nur der Index übergeben.
Bei Werteliste wird dort leider nur der Index übergeben.
Gruß
Harry
Harry
- NilsG
- Beiträge: 1692
- Registriert: 09.08.2013, 23:44
- System: CCU
- Hat sich bedankt: 383 Mal
- Danksagung erhalten: 30 Mal
- Kontaktdaten:
Re: Laufzeit eines Gerätes per Systemvariable festlegen
Ach schade, hatte grad überlegt mit 4-5 festen Werten zu probieren
Grüße und DANKE!
Nils
-----------------------------------------
CCU3 + 2x LAN-Gateway
Nils
-----------------------------------------
CCU3 + 2x LAN-Gateway
-
- Beiträge: 9650
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 697 Mal
- Danksagung erhalten: 1617 Mal
Re: Laufzeit eines Gerätes per Systemvariable festlegen
Die müsstest du ja eh irgendwie einstellen. Und dann kannst du auch den Umweg über ein 2.Programm gehen
Wenn Werteliste X dann Systemvariable Dauer y
Den weißen Zettel findest du sogar im Handbuch. Mach doch einfach mal ein Programm, dann siehst du den schon.
Wenn Werteliste X dann Systemvariable Dauer y
Den weißen Zettel findest du sogar im Handbuch. Mach doch einfach mal ein Programm, dann siehst du den schon.
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 +++
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 +++
-
- Beiträge: 544
- Registriert: 17.04.2021, 17:12
- System: CCU
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 123 Mal
Re: Laufzeit eines Gerätes per Systemvariable festlegen
dann könntest du das mit einer mit von diversen Skriptlösungen versuchen:
ist aber auch nur (m)ein Vorschlag
Code: Alles auswählen
!Variable vom Typ WerteListe
!aktuellen Wert holen und z.B. Minuten in Sekunden umrechnen
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get("Springbrunnen_Minuten")) {
var MinutesList = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Springbrunnen_Minuten").ValueList();
var ListIndex = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Springbrunnen_Minuten").Value();
var RunSeconds = (MinutesList.StrValueByIndex(";", ListIndex).ToInteger() * 60.0);
}
!Gerät für Springbrunnen schalten
!dom.GetObject('INTERFACE.SERIENNUMMER:KANAL.DATENPUNKT').Value();
if (dom.GetObject("INTERFACE.SERIENNUMMER:KANAL.STATE")) {
dom.GetObject("INTERFACE.SERIENNUMMER:KANAL.ON_TIME").State(RunSeconds);
!Einschaltbefehl verzögert senden um 500 Millisekunden
dom.GetObject("INTERFACE.SERIENNUMMER:KANAL.STATE").State(true, 500);
}
Gruß
Harry
Harry