HM-OU-LED16 - Statusanzeige in Scripten nutzen

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

Moderator: Co-Administratoren

manuelwesser
Beiträge: 29
Registriert: 16.05.2012, 10:35
Danksagung erhalten: 2 Mal

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.
--------------------------------------------
390 Kanäle in 113 Geräten
--------------------------------------------

Benutzeravatar
Columbus
Beiträge: 10
Registriert: 04.11.2010, 23:56
Hat sich bedankt: 1 Mal

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

Beitrag von Columbus » 27.03.2014, 10: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: 29
Registriert: 16.05.2012, 10:35
Danksagung erhalten: 2 Mal

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 :-)
--------------------------------------------
390 Kanäle in 113 Geräten
--------------------------------------------

mademyday
Beiträge: 268
Registriert: 03.10.2014, 12:46
System: CCU
Wohnort: Enzkreis
Hat sich bedankt: 3 Mal
Danksagung erhalten: 43 Mal

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: 1113
Registriert: 17.11.2013, 01:54
System: CCU
Hat sich bedankt: 36 Mal
Danksagung erhalten: 3 Mal

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

Beitrag von homey21 » 01.11.2014, 18: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: 29
Registriert: 16.05.2012, 10:35
Danksagung erhalten: 2 Mal

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

Beitrag von manuelwesser » 23.12.2014, 17: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.
--------------------------------------------
390 Kanäle in 113 Geräten
--------------------------------------------

Benutzeravatar
Roland M.
Beiträge: 9738
Registriert: 08.12.2012, 15:53
System: CCU
Wohnort: Graz, Österreich
Hat sich bedankt: 251 Mal
Danksagung erhalten: 1357 Mal

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

Beitrag von Roland M. » 23.12.2014, 18: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-... bzw. HmIP-...) 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!

-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...

womber
Beiträge: 256
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: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

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

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.

womber
Beiträge: 256
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!“