HM-OU-LED16 - Statusanzeige in Scripten nutzen

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

manuelwesser
Beiträge: 26
Registriert: 16.05.2012, 10:35

HM-OU-LED16 - Statusanzeige in Scripten nutzen

Beitrag von manuelwesser » 10.10.2013, 23:05

Verteilt über viele verschiedene Beiträge findet man wirklich schon fast jedes erdenkliche Beispiel für die Nutzung dieser netten Anzeige.

Über ein tcl Script kann man mithilfe der Astrofunktion wunderbar die Helligkeit der LEDs anpassen:

Code: Alles auswählen

system.Exec("tclsh /usr/local/setparam.tcl JEQXXXXXXX DISPLAY_BRIGHTNESS int 1",&stdout,&stderr);
Den Wert 1 benutze ich für den Zeitraum nach Sonnenuntergang und 13 reicht mir für den Tag.

Hauptgrund für mich diesen Beitrag zu verfassen ist eine Eigenart der LED16 an meiner CCU2 mit 4 LAN Adaptern, wenn man die Tastfunktion der LED16 nutzt.

Wird über den Taster ein Programm auf der CCU2 gestartet, das selbst wiederum sofort versucht den Status der zu dem Taster gehörenden LED zu verändern (Farbwechsel von ROT auf GRÜN zum Beispiel), kommt es zu einer Servicemeldung in der CCU2, weil die Kommunikation zum LED16 gestört sei.

Das Programm wird jedoch richtig aufgerufen und der Status der angesteuerten LED wird auch korrekt gesetzt.

Dieses Verhalten kann man vermeiden, indem man den Status der LED 1 Sekunde verzögert setzen lässt. Ansonsten darf ein aufgerufenes Programm schlicht nicht den Status der LED setzen.

Da es für die Systemlast der CCU2 und erst recht der CCU1 nicht gut ist, den Status der LEDs durch die Überwachung von Zustandsänderungen an den Aktoren auszulösen, sollte man solche Konstruktionen (Kaskade von sich durch Zustandsänderungen gegenseitig auslösenden Programmen) eher vermeiden, auch wenn damit das Problem nicht auftreten dürfte.

Gerade solche Kleinigkeiten scheinen für die Stabilität und Zuverlässigkeit von Homematic sehr wichtig zu sein.
--------------------------------------------
235 Kanäle in 93 Geräten
--------------------------------------------

Benutzeravatar
Columbus
Beiträge: 8
Registriert: 05.11.2010, 00:56

Re: HM-OU-LED16 - Statusanzeige in Scripten nutzen

Beitrag von Columbus » 27.03.2014, 11:22

Hallo manuelwesser,

kannst Du mir bitte näher beschreiben, wie das Programm / der Script auf der CCU2 aussehen muss, damit man die Helligkeit steuern kann.
Deine eine angegebene Codezeile kann ja so noch nicht reichen, damit es funktioniert.
Ich komme per WinSCP auf die Zentrale.

Gruß Columbus

manuelwesser
Beiträge: 26
Registriert: 16.05.2012, 10:35

Re: HM-OU-LED16 - Statusanzeige in Scripten nutzen

Beitrag von manuelwesser » 24.05.2014, 10:37

Hallo Columbus,

http://homematic-forum.de/forum/viewtopic.php?t=5621

Dieses TCL Script von owagner dient als Grundlage, ich habe es unverändert genutzt. Den Link hätte ich besser gleich mit in den Artikel aufnehmen sollen :-)
--------------------------------------------
235 Kanäle in 93 Geräten
--------------------------------------------

mademyday
Beiträge: 70
Registriert: 03.10.2014, 12:46

Re: HM-OU-LED16 - Statusanzeige in Scripten nutzen

Beitrag von mademyday » 20.10.2014, 14:00

manuelwesser hat geschrieben: Über ein tcl Script kann man mithilfe der Astrofunktion wunderbar die Helligkeit der LEDs anpassen:

Code: Alles auswählen

system.Exec("tclsh /usr/local/setparam.tcl JEQXXXXXXX DISPLAY_BRIGHTNESS int 1",&stdout,&stderr);
Gibt es das auch für die Einstellung "Die Anzeige schaltet sich aus nach ... s (0.0 - 255.0)"?

--> hat sich erledigt, Tante Edith hat es gefunden:

Code: Alles auswählen

tclsh set_param.tcl JEQxxx DISPLAY_ENERGYOPTIONS string 120.0

homey21
Beiträge: 975
Registriert: 17.11.2013, 02:54

Re: HM-OU-LED16 - Statusanzeige in Scripten nutzen

Beitrag von homey21 » 01.11.2014, 19:24

Hi, rufst Du das auch mit system.exec auf? Ich würde lieber diesen Befehl nicht nutzen, weil davon meine CCU immer einfriert. Gibt es da eine Alternative?

manuelwesser
Beiträge: 26
Registriert: 16.05.2012, 10:35

Re: HM-OU-LED16 - Statusanzeige in Scripten nutzen

Beitrag von manuelwesser » 23.12.2014, 18:36

Bisher ist mir keine Alternative zu System.exec bekannt, immerhin ist das auch eine nicht offiziell verfügbare Funktion, die Helligkeit kann sonst ja nur dauerhaft über die WebGui gesetzt werden.

Da dies aktuell der einzige Einsatzfall von System.exec ist, kann ich nichts zur Stabilität sagen - bei mir läuft es.
--------------------------------------------
235 Kanäle in 93 Geräten
--------------------------------------------

Benutzeravatar
Roland M.
Beiträge: 4102
Registriert: 08.12.2012, 16:53
Wohnort: Graz, Österreich

Re: HM-OU-LED16 - Statusanzeige in Scripten nutzen

Beitrag von Roland M. » 23.12.2014, 19:02

Hallo!
manuelwesser hat geschrieben:Bisher ist mir keine Alternative zu System.exec bekannt,
CUxD!

Funktioniert zuverlässig und ohne Absturz!


Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
  • Bezeichnung (HM-...) der betroffenen Geräte angeben (nicht Artikelnummer)
  • Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
  • Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
  • Fehlermeldungen genau abschreiben, besser noch...
  • Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!

-----------------------------------------------------------------------
CCU2 mit 90+ Geräten
CCU2 per VPN mit 20+ Geräten
CCU1, Test-CCU2, Raspi mit Funkmodul,...

womber
Beiträge: 254
Registriert: 18.05.2014, 14:42

Re: HM-OU-LED16 - Statusanzeige in Scripten nutzen

Beitrag von womber » 13.09.2018, 10:20

Hallo,

Also muss ich das Script so wie es da steht ganz oben auf der anderen Seite auf die ccu speichern, die Textzeile als Programm - astrofunktion tagsüber starten. Und das Display wird dunkler?
Wie muss das Ganze als CuxD aussehen?

Viele Grüße,
Alex
CCU2 * CCU.IO + DashUI + CCUHistorian auf Raspi 1 und 2 * * iPad 2 als Wandtablet * PocketControl HM (iPhone 6 + iPad Pro) * CUxD * Apple watch mit PocketControl HM * * 4x Amazon Alexa mit Homematic Steuerung

alchy
Beiträge: 7300
Registriert: 24.02.2011, 02:34

Re: HM-OU-LED16 - Statusanzeige in Scripten nutzen

Beitrag von alchy » 13.09.2018, 13:46

Jein.
Das oben aufgeführte Script ruft ein TCL Script in Form einer Datei setparam.tcl im Pfad /usr/local/ der CCU auf.
Sofern du die passende Datei dort liegen hast, kannst du den Aufruf so bewerkstelligen.
Der Aufruf über CUD.Exec sollte > H I E R < beschrieben sein.

Alchy

.................... 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.

womber
Beiträge: 254
Registriert: 18.05.2014, 14:42

Re: HM-OU-LED16 - Statusanzeige in Scripten nutzen

Beitrag von womber » 14.09.2018, 07:22

SUPER! Vielen Dank für die Hilfe @alchy.
Mit system.Exec funktioniert es schon mal. Sehe ich das richtig, dass der Aufruf über CUxD dann so heissen muss

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State system.Exec("tclsh /usr/local/setparam.tcl JEQXXXXXXX DISPLAY_BRIGHTNESS int 1",&stdout,&stderr);
Oder habe ich da einen Denkfehler?

VG,
Alex
CCU2 * CCU.IO + DashUI + CCUHistorian auf Raspi 1 und 2 * * iPad 2 als Wandtablet * PocketControl HM (iPhone 6 + iPad Pro) * CUxD * Apple watch mit PocketControl HM * * 4x Amazon Alexa mit Homematic Steuerung

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“