Systemvariablen CCU2 und HP CL Studio

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Antworten
Verwired
Beiträge: 108
Registriert: 15.11.2013, 17:32
System: CCU
Wohnort: Rheinland Pfalz

Systemvariablen CCU2 und HP CL Studio

Beitrag von Verwired » 01.08.2014, 11:05

Hallo zusammen, ich beschäftige mich derzeit mit Befehlen in HPCL (z.B. GETCCUSYSVAR) die es erlauben von HPCL Studio auf Systemvariablen der CCU 2 zuzugreifen.

Da ich nur mit HPCL arbeite und dort mit virtuellen Objekten alle möglichen Szenarien erzeugen kann erschließt sich mir derzeit nicht, wofür man Systemvariablen in Kombination mit HPCL überhaupt benötigt.

Ich habe neben den bereits vorhandenen Systemvariablen über das WEB UI eine weitere zu Testzwecken angelegt, kann aber nichts damit anfangen.

Wie man z.B. die Anwesenheitssystemvariable auf der CCU2 nutzen (bzw. beeinflussen) kann, das erschließt sich mir nicht. Bei mir steht diese immer auf "anwesend".

Wer kann mir eine einfache Anwendung beschreiben, für die man die Werte für eine Systemvariable in HP CL mit "GETCCUSYSVAR" einliest ?

Vielen Dank vorab.
HM Wired + HM Funk >800 Kanäle, CCU2 ( 2.25.15 ), HPCL Studio

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Systemvariablen CCU2 und HP CL Studio

Beitrag von Familienvater » 01.08.2014, 11:43

Hi,

mangels CCU2 fällt mir für die CCU2 nichts ein, bei meiner CCU1 kann ich damit z.B. bei einen Stromausfall die verbleibende Batteriekapazität der CCU1-Batterien mit HPCL ermitteln (Weil ein WebUI-Programm die Batteriekapazität in eine Systemvariable überträgt). Auf diese "wichtigen" Vitalwerte der CCU1 hat man mit HPCL nämlich normalerweise keinen Zugriff.

Wenn Du eh alles in HPCL mit Programmen erschlagen hast, gibt es wirklich wenig Anwendungsfälle, die mir einfallen.

Doch einer fällt mir noch ein:
Um z.B. die Werte von Geräten, die mit cuxd an der CCU1/2 hängen, wie z.B. 1-wire Sensoren müssten sich so über eine Systemvariable auch in HPCL nutzen lassen. Aber das mit dem regelmäßigen Auslesen mit GetCCUSysVar und kurzen Intervallen ist zumindest etwas, was man auf der CCU1 vermeiden sollte.

Und evtl. noch ein paar ganz exotische Dinge, wenn man sehr "hardware-nah" an den Sensoren/Aktoren programmiert, und sich manche Dinge nicht mit SetzeWert erschlagen lassen, dann könnte das auch eine Möglichkeit sein, da noch drumrumzuarbeiten.
Aber mit ein bisschen Low-Level-Zauberei (Ausführen von Shell-Skripten aus HPCL) geht doch wieder mehr als bei der Nutzung von WebUI. Aber das ist alles theoretisch für Leute die wirklich 110% rausholen möchten.

Schönes Wochenende!

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

Re: Systemvariablen CCU2 und HP CL Studio

Beitrag von Tobias78 » 02.08.2014, 13:41

Hallo Verwired,
ich nutze die Funktion sehr rege. Folgende Beispiele habe ich auf Lager:

1) Apps auf dem iPhone und Adroid Handy können in der Regel nicht die Variablen von Homeputer darstellen, sehr wohl aber Systemvariablen. Ich steuere mein Haus nicht per Windows PC sondern mit PocketControl und Homestatus. (Einzige rühmliche Ausnahme: PocketControl CL kann auch Homeputer Variablen darstellen...). Systemvariablen die ich regelmäßig per Handy Steuere: Jalousiemodus (Urlaub/manuell/automatik), Alarmanlage, Heizungsautomatik...

1b) "HomeStatus" und "EasyDisplay" sind 2 Anzeigeapps bzw. Systeme, die nur Systemvariablen darstellen können.

2) GeoFencing funktioniert mit Systemvariablen recht zuverlässig, ich nutze zum automatischen setzten der Anwesenheit widerum PocketControl. Viele nutzen GeoFency - sind also zwingend auf Sysemvariablen angewiesen. PocketControl setzt den "zu Hause" Status über eine Systemvariable. Die Systemvariable heißt z.B. "Zone xy iPhone" nicht "Anwesend". Diese sonderbare Variable ist seeeehr speziell. Im Forum findest Du vieles über das "Bootverhalten" dieser Variablen.

3) TCL Skripte lassen sich über die WebUI recht gut und schnell ausführen - das Ergebnis dieser Skripte muss nun irgendwo hin für die Weiterverarbeitung in Homeputer. Ein Beispiel-TCL Skript ist das Wetter Skript. Es holt das aktuelle Wetter von einer beliebigen Wetterseite und schreibt es in entsprechende Variablen. "Starteprogramm" unter Homeputer kann auch TCL Skripte ausführen, allerdings leider nur mit 1/10 der Geschwindigkeit. Die Wetterseitenabfrage dauert gern mal 1-2 Minuten!

4) Das Beispiel mit CUxD wurde schon genannt. Ich nutze hier den PING Adapter und frage mit getccusysvar das CUxD Gerät ab. Der Befehl funktioniert nämlich nicht nur bei Systemvariablen sondern auch bei Kanälen.

Gruß,
Tobias.

P.S.: Habe gerade mal nachgezählt: Ich nutze die Funktion in 14 Makros.
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

ubecker
Beiträge: 569
Registriert: 31.01.2014, 22:53
Wohnort: Duisburg

Re: Systemvariablen CCU2 und HP CL Studio

Beitrag von ubecker » 02.08.2014, 16:16

Hallo,
wenn man die WebUi für externen Zugriff nutzt z.B. über Homestatus dann braucht man wie Tobias78 schreibt die Systemvariablen und die Funktionen getsysvar und setsysvar. Wenn man aber den Externen Zugriff auf den WebServerCL beschränkt braucht man das nicht. Ich nutze die Funktionen nicht, weil ich sie nicht benötige und mein externer Zugriff über WebServerCL mir vollkommen ausreicht. Ich brauche keine bunten Bildchen, mir reicht die eigentliche Funktion.
gruß Udo

Verwired
Beiträge: 108
Registriert: 15.11.2013, 17:32
System: CCU
Wohnort: Rheinland Pfalz

Re: Systemvariablen CCU2 und HP CL Studio

Beitrag von Verwired » 04.08.2014, 18:54

Vielen Dank für Eure zahlreichen Antworten.

Gehen wir nun davon aus, dass ich eine der hier unten stehenden Systemvariablen der CCU 2 aus HPCL einlesen möchte:
HM_SYS.JPG
Wie kann man eine solche Systemvariable einlesen, wie heißen diese Variablen und wo stehen diese?

Diese Werte hier sind z.B. von der Wetterstation, dargestellt im WEB-UI wie folgt:
HM_SYS_WET.JPG
Wie kommt man aus HPCL an diese Werte z.B. mit GETCCUSYSVAR und wie genau heißen diese Variablen ? :?

@ Tobias: Ich nutze das Pocket Control CL. Ich habe mir virtuelle Objekte definiert, die es erlauben, einen entsprechenden Status einzustellen. Welchen Vorteil hat es, so etwas über eine Systemvariable zu machen?



Vielen Dank.
HM Wired + HM Funk >800 Kanäle, CCU2 ( 2.25.15 ), HPCL Studio

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: Systemvariablen CCU2 und HP CL Studio

Beitrag von Herbert_Testmann » 04.08.2014, 20:24

Hallo

hast Du mal die (nicht schlechte) Hilfe in HP Studio aufgerufen und gelesen ??

Code: Alles auswählen

GetCCUSysVar("Regenmenge aktueller Tag",RegenmengeHP,"127.0.0.1"
Wobei der Typ der Variable in der CCU und in HP übereinstimmen sollte.
Bei der CCU SysVar würde ich auf Leerzeichen verzichten oder durch "_" ersetzen.

Ich gehe mal davon aus, dass die Wetterstation wie jedes andere Modul in HP importiert wird. Habe aber selbst keine.
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Verwired
Beiträge: 108
Registriert: 15.11.2013, 17:32
System: CCU
Wohnort: Rheinland Pfalz

Re: Systemvariablen CCU2 und HP CL Studio

Beitrag von Verwired » 04.08.2014, 21:34

Hallo Herbert, danke für die Info. Die Hilfe habe ich sicher rauf und runter gelesen, da kommt man nicht wirklich drum herum. Man fragt sich dann doch wo die Namen herkommen und wo diese stehen.
Es wollte bis dto. nicht klappen, eine Variable mit dem Befehl einzulesen, ich muss da dann noch einmal ran.
Gruß Verwired
HM Wired + HM Funk >800 Kanäle, CCU2 ( 2.25.15 ), HPCL Studio

mikewolf99
Beiträge: 1322
Registriert: 13.08.2008, 20:57
Wohnort: Österreich nähe Wien
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: Systemvariablen CCU2 und HP CL Studio

Beitrag von mikewolf99 » 04.08.2014, 22:30

Hallo ich hole mir alle 5 Minuten folgende Sys Variablen von der CCU2
das ganze sieht dann so aus

das ganze steht in einen Makro welches im Intervall von 5 Minuten ausgeführt wird

Code: Alles auswählen

GetCCUSysVar("ardo1",Ardo1,"192.168.123.130")
GetCCUSysVar("ardo2",Ardo2,"192.168.123.130")
GetCCUSysVar("ardo3",Ardo3,"192.168.123.130")
GetCCUSysVar("ardo4",Ardo4,"192.168.123.130")
GetCCUSysVar("ardo5",Ardo5,"192.168.123.130")
GetCCUSysVar("ardo6",Ardo6,"192.168.123.130")
GetCCUSysVar("ardo7",Ardo7,"192.168.123.130")
GetCCUSysVar("ardo8",Ardo8,"192.168.123.130")
GetCCUSysVar("ardo9",Ardo9,"192.168.123.130")
GetCCUSysVar("WaermepumpeStati",WaermepumpeStatus,"192.168.123.130")
ardo1 ist die Variable auf der CCU2 (typ Zahl)
Ardo1 ist das Objekt in HPCL (typ Zahl)
Waemepumpe.... ist in der CCU2 ein Logic wert und in HPCL ein Objekt vom Typ Schalter
192.168.123.130 ist die IP Adresse meiner CCU2
Achtung immer exakt auf die Schreibweise achten !!!
Wenn`s nicht geht einfach SYSvariable nochmals neu anlegen ,
kommt schon mal vor das es nicht gleich funktioniert -----Schreibe aus Erfahrung


mfg
mikewolf

PS aller Anfang ist schwer !! :D
CCU2 mit Cuxd und HP CLX ,3 x FHZ2000,2 Funkgateway (eckig),und 2 Funkgateway (rund),RS LanGate
ca 590 Komponenten gemischt HM und FS20 90/10)`CCU auf Cubie LXCCU,CCU auf RPi3 Pivccu,Iobroker auf HPgen8,
Tinker,orangepi,Odroid .....,Sonoffs,Xiaomi und ne Menge esp8266

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Systemvariablen CCU2 und HP CL Studio

Beitrag von Familienvater » 05.08.2014, 00:43

Hi,

gerade die Werte der HM-Wetterstation brauchst Du doch eigentlich gar nicht per GetCCUSysVar einlesen, es ist ein HM-Gerät, und die Werte stehen Dir auch in HPCL so zur Verfügung, wenn Du die Wetterstation in HPCL importierst.

Das Aufsummieren der Regenmengen macht auch HPCL, vielleicht etwas "holpriger" bei einem Neustart. Die Systemvariablen, die in der WebUi dafür bei mir (und auch bei Dir, Dein erster Screenshot, linke Spalte, da wo Name drüber stehen würde) auf der CCU angelegt wurden, sind die "Regen gestern" und "Regen heute", die am besten in eine Zahl in HPCL eingelesen werden sollten, die mit 0,00 oder so als Startwert vorbelegt wurde.

Code: Alles auswählen


GetCCUSysVar("Regen gestern",RegenmengeHP,"localhost")

Es gab hier schon Diskussionen, was man am besten als Host-Namen zur Abfrage nutzt, ob localhost, 127.0.0.1, oder die IP-Adresse der CCU im LAN, ich nutze localhost.


Aber noch mal zum direkten Weg:
Das ist das Analogsensor-Unterfenster von der importierten Wetterstation, mit allen Kanälen, auch der Regenmenge.
HPCL-WS-Modul.png
Und auf Nachfrage beim Importieren in HPCL wird man gefragt, ob automatisch Makros angelegt werden sollen, das sind die AStunde/LStunde/ATag und LTAG-Objekte,
HPCL-WS-Makros.png
die entsprechend die Regenmengen (nach entsprechender Laufzeit von HPCL) enthalten. Nach einem Neustart dauert es leider bis zu 48h, bis auch der LTag wieder stimmt.

Der Familienvater

Harry12
Beiträge: 12
Registriert: 28.01.2017, 16:29

Re: Systemvariablen CCU2 und HP CL Studio

Beitrag von Harry12 » 05.04.2017, 21:43

Hallo zusammen,
ich habe mit großem Interesse diesen Beitrag gelesen, weil ich das gleiche Problem habe. Ich möchte mir die "Regendaten" vom OC3-Kombisensor in HP CL darstellen (und später auch damit rechnen). Beim Import habe ich, wie beschrieben auch die 4 Makros "RegenMenge_AStunde", "RegenMenge_ATag" usw. anlegen lassen. Diese sind ja wie "RegenMenge" nun als Objekte aufgeführt. Unter Bearbeiten und dann Visualisierung kann ich sie mir in einer Ansicht z. B. als Zahlenfenster anzeigen lassen. Das klappt aber nur bei den Objekten Feuchte, Hell, Regen, RegenMenge, Sonnenscheindauer usw., nicht aber bei den 4 o. g. Objekten. Im WebUI wird natürlich "Regen heute" und "Regen gestern" (und auch die Regenmenge) korrekt angezeigt. Nur in der HP CL nicht. Hier bleibt der Zahlenwwert auf 0,0.
(Ich habe dann auch noch versucht über den Weg mit dem Befehl GetCCUSysVar zu gehen, aber dabei habe ich sicher etwas falsch gemacht).
Meine HP CL-Software habe ich gestern auch aktualisiert, ist also auf dem aktuellen Stand.
Kann mir jemand einen Tipp geben?

Viele Grüße
Harry

Antworten

Zurück zu „homeputer CL“