ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Kabellose und kabelgebundene Sender und Empfänger der klassischen Homematic-Serie

Moderator: Co-Administratoren

RicoA
Beiträge: 23
Registriert: 17.01.2016, 19:14

ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Beitrag von RicoA » 25.07.2017, 20:47

Hallo Leute,

ich bin noch totaler Anfänger in der Programmierung von Scripts.
Nun habe ich versucht, meine Garagentorsteuerung, die per HM-LC-Sw1-Pl-CT-R1 gefahren wird, mit einem Script zu aktivieren. Leider ohne Erfolg (sonst würde ich ja hier nicht schreiben :D )

Ich komme vor allem mit dem ON_TIME Befehl nicht klar. Hier im Forum habe ich schon gefunden, dass man es mit folgenden Scriptzeilen umsetzen kann:

Code: Alles auswählen

var garagerechts = dom.GetObject("Garagentor rechts Lagensensor1");
var garagenoffnerrechts = dom.GetObject("Garagentoröffner rechts1");
if (garagerechts.State()==false) 
    { dom.GetObject("garagenoffnerrechts.ON_TIME").State(0.4);
      dom.GetObject("garagenoffnerrechts.STATE").State(true); }
Die Garage soll also fahren, wenn das Tor geöffnet ist. Die Abfrage etc. funktioniert. Aber das Tor will einfach nicht fahren. Der Fehler liegt definitiv in den Zeilen, die sich mit der ON_TIME Anweisung befassen.

Kann mir bitte jemand helfen? Ich stehe echt auf dem Schlauch.

Bis bald,
Rico

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

Re: ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Beitrag von alchy » 25.07.2017, 21:33

Wieso mit einen Script, klicke dir genau das was du willst zusammen !

Hier im Forum habe ich schon gefunden, dass man es mit folgenden Scriptzeilen umsetzen kann:
WO hast du denn das gefunden :?: :?:
Wenn du auf Scriptlösung bestehst:

Das wird so nicht funktionieren, da dein Object(e) mit Namen garagenoffnerrechts.ON_TIME & garagenoffnerrechts.STATE nicht vorhanden sind.
Das ist Kauderwelsch, schau mal in die Scriptdoku (siehe Signatur) oder lies auch mal >> H I E R <<

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.

RicoA
Beiträge: 23
Registriert: 17.01.2016, 19:14

Re: ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Beitrag von RicoA » 25.07.2017, 22:44

Hallo Alchy,

ich weiß nicht mehr genau, wo ich es gelesen habe. Vermutlich war es nur ein Schnipsel. Aber wie gesagt: Ich bin leider blutiger Anfänger. Aus der Docu zu Homematic Script, die ich mir von der Homematic HP geladen habe, werde ich nicht so 100%ig schlau. Aber ich werde mich dann eben weiter durch den Dschungel wühlen.
Vielen Dank auf jeden Fall für Deinen Kommentar und die Links.

Bis bald,
Rico

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

Re: ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Beitrag von alchy » 25.07.2017, 23:00

na, o.k. mach ich mal den Erklärbär.


Wenn du die Seriennummern den folgenden Scriptschnipsel anpasst, sollte sich das Teil für 30 Sekunden einschalten

Code: Alles auswählen

(dom.GetObject(ID_DATAPOINTS)).Get("BidCos-RF.HEQ0157604:1.ON_TIME").State(30);
(dom.GetObject(ID_DATAPOINTS)).Get("BidCos-RF.HEQ0157604:1.STATE").State(true);

die 2. Variante, die genau dasselbe macht wäre dann diese hier:

Code: Alles auswählen

(dom.GetObject(ID_CHANNELS).Get("KANALNAME")).DPByHssDP("ON_TIME").State(30);
(dom.GetObject(ID_CHANNELS).Get("KANALNAME")).DPByHssDP("STATE").State(true);
und hier müsstes du das Wort KANALNAME durch den Kanalnamen deiner Steckdose ersetzen.

Ich favorisiere die Möglichkeit 1


Alchy
Zuletzt geändert von alchy am 25.07.2017, 23:07, insgesamt 1-mal geändert.
Grund: Möglichkeit 2 hinzugefügt

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.

RicoA
Beiträge: 23
Registriert: 17.01.2016, 19:14

Re: ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Beitrag von RicoA » 25.07.2017, 23:04

Hallo nochmal,

ich werde das morgen mal testen. Vielen Dank auf jeden Fall schon mal für Deine Mühe...

Schönen Abend noch,
Rico

RicoA
Beiträge: 23
Registriert: 17.01.2016, 19:14

Re: ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Beitrag von RicoA » 26.07.2017, 11:49

Hallo Alchy,

ich habe die Möglichkeit 2 eingesetzt und es funktioniert wunderbar. Ich danke Dir vielmals, dass Du Licht in mein Kauderwelsch gebracht hast.
Jetzt drücke ich Abends vor dem Zubettgehen auf eine Taste auf meinem Bedienpanel und neben einigen Lichtern und anderen Prüfungen gehen nun auch meine Garagen zu, sollten Sie noch offen sein.
Ich bin total begeistert und hoffe, mich auch anhand Deiner Links weiter in die Programmierung vertiefen zu können, damit solche dummen Fehler mir in Zukunft nicht mehr passieren.

Bis bald,
Rico

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

Re: ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Beitrag von alchy » 26.07.2017, 11:58

Wichtig dabei ist, das du etwas gelernt hast und nicht nur kopierst.

Aber nochmal die Frage, warum per Script?
Das was du machst geht auch per Programm oder sogar per Direktverknüpfung lösen.

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.

Aquaplex
Beiträge: 300
Registriert: 16.11.2011, 18:16
System: CCU und Access Point
Hat sich bedankt: 26 Mal
Danksagung erhalten: 8 Mal

Re: ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Beitrag von Aquaplex » 21.09.2021, 08:10

Ist zwar ein alter Thread, aber da thematisch passend, hole ich ihn noch mal hoch...

Wenn man ON_TIME in Skripten verwendet, welche Verzögerung zum Anschalten mit STATE ist ratsam, damit die CCU den Wert auch wirklich verinnerlicht hat? Hintergrund: ich verwende ON_TIME eigentlich, um einen Aktor sicher auszuschalten, aber gelegentlich (selten) kommt es vor, dass der Aktor trotzdem dauerhaft an bleibt. Meine Vermutung: ON_TIME braucht eine gewisse Zeit, bis sie in der CCU dem Aktor zugeordnet wurde. In der WebUI würde man da eine Verzögerung von 1s setzen. Im Skript habe ich den STATE-Befehl jetzt mit einem Delay von 1000ms gesetzt. Kann jemand aus Erfahrung sagen, dass diese Verzögerung sicher ausreicht, damit auch wirklich der ON_TIME-Wert zum Aktor übertragen wird?
HmIP auf Pi3B+ mit RaspberryMatic und neuem Funk-Modul sowie 3 HAPs / Etwa 150 IP-Geräte

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Beitrag von jp112sdl » 21.09.2021, 08:40

Skripte werden synchron Zeile für Zeile seriell abgearbeitet.

Die aus WebUI Programmen empfohlene Schaltverzögerung nach Setzen der Einschaltdauer ist hier somit eigentlich unnötig.

"ON_TIME" wird auch nicht als einzelnes Funktelegramm an den Aktor gesendet, sondern im RFD flüchtig vorgehalten und beim Senden des Einschaltbefehls mit ans Telegramm angehängt (Byte 14).
Aquaplex hat geschrieben:
21.09.2021, 08:10
dass der Aktor trotzdem dauerhaft an bleibt.
Gibt es evtl. andere Programme, die den Aktor auch EIN schalten, jedoch ohne Einschaltdauer?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Aquaplex
Beiträge: 300
Registriert: 16.11.2011, 18:16
System: CCU und Access Point
Hat sich bedankt: 26 Mal
Danksagung erhalten: 8 Mal

Re: ON_TIME im Script für HM-LC-Sw1-Pl-CT-R1

Beitrag von Aquaplex » 21.09.2021, 08:46

jp112sdl hat geschrieben:
21.09.2021, 08:40
Gibt es evtl. andere Programme, die den Aktor auch EIN schalten, jedoch ohne Einschaltdauer?
Nein, gibt es nicht. Und in den meisten Fällen funktioniert das mit der ON_TIME auch einwandfrei. Aber z.B. gestern nicht, da war der Aktor einfach dauerhaft an. Lässt sich bei mir auch leicht nachvollziehen, da (nur) die Automatik-Steuerung auf VK1 des Aktors zugreift. Manuelle Betätigungen würden VK2 ansteuern und dessen Zeitstempel ist lange nicht geändert worden.
HmIP auf Pi3B+ mit RaspberryMatic und neuem Funk-Modul sowie 3 HAPs / Etwa 150 IP-Geräte

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren (klassisch)“