Skript Zähler

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

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

Re: Skript Zähler

Beitrag von alchy » 15.01.2017, 13:11

Systemvaraible Typ Zahl anlegen, Name im Beispielscript: ZaehlSysVariableVomTypZahl

Im Dann des Programmes folgendes Script einfügen (also dort, wo du was zählen willst):

Code: Alles auswählen

if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("ZaehlSysVariableVomTypZahl")) { (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("ZaehlSysVariableVomTypZahl").State( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("ZaehlSysVariableVomTypZahl").Value()+1);}
Das erhöht die Variable jeweils um 1 .

Das Zurücksetzen kannst du mit einem einfachem Klickibuntiprogramm machen.
Wenn Zeitintervall Taglich 00:01, dann ZaehlSysVariableVomTypZahl auf Wert 0

Diagramm ist dann eine Anforderung an Zusatzsoftware, z.B. CUxD-Highcharts

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.

Denver
Beiträge: 14
Registriert: 04.01.2017, 10:41

Re: Skript Zähler

Beitrag von Denver » 15.01.2017, 15:42

Danke Alchy,
das habe ich mir gleich mal so zusammengebastelt - vielen Dank dafür!

Liebe Grüße, Denver.

Denver
Beiträge: 14
Registriert: 04.01.2017, 10:41

Re: Skript Zähler

Beitrag von Denver » 18.01.2017, 15:53

Alchy,

dein Zählskript funzt wunderbar und setzt mir die Systemvariable jedes Mal um einen hoch, wenn die Tür geöffnet wird.

Wie lese ich jedoch mit dem Highchart Tool eine Systemvariable aus? Ich habe nur hinbekommen, ein bestimmtes Gerät mittels Seriennummer auszulesen - aber eine Variable? :?:

Viele Grüße,

Denver.

Benutzeravatar
Black
Beiträge: 5480
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: Skript Zähler

Beitrag von Black » 18.01.2017, 16:01

ich denk ja mal, hast CuxD wenn du Hichart hast:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("DAS IST DER TEXT;"#dom.GetObject ("DasIstDeineSysvar").State () );
greetz, Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Denver
Beiträge: 14
Registriert: 04.01.2017, 10:41

Re: Skript Zähler

Beitrag von Denver » 18.01.2017, 16:21

Hi Black, das klingt ja "einfach" :lol: (für mich als Nicht-Skript-Sprechender...)

Ich nehme an "Das ist der Text" soll dann in Hichart dargestellt warden? Oder was genau schreibe ich hier rein? Und lege ich dafür ein extra Programm an oder packe ich das einfach mit an meine Türöffnungszählung?

So eine "einfache" Idee halt dann doch länger auf als geplant... :?

Gruß, Denver.

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

Re: Skript Zähler

Beitrag von alchy » 18.01.2017, 18:05

Das loggen von Werten aus Systemvariablen ist relativ einfach erledigt.
Sollte im Handbuch zu CUxD nachzulesen sein, oder auch >> H I E R << und weitere.

Grundsätzlich ist nicht wirklich viel zu tun, außer an das Obige Script einfach noch einen Anhang zu machen, welcher den Namen und den Wert an den LOGIT Datenpunkt übergibt.

[EDIT]

Das würde dann sehr unübersichtlich, jedoch mit halbwegs Fehlerabfangung und vor allem ohne jegliche Skriptvariable ungefähr so aussehen:

Code: Alles auswählen

!Zählen und loggen by Alchy ohne Skriptvariablen mit Errorhandling
if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("ZaehlSysVariableVomTypZahl")) { (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("ZaehlSysVariableVomTypZahl").State( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("ZaehlSysVariableVomTypZahl").Value()+1);
if ( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.LOGIT")) { (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.LOGIT").State("ZaehlSysVariableVomTypZahl;"#(dom.GetObject(ID_SYSTEM_VARIABLES).Get("ZaehlSysVariableVomTypZahl").Value()+1) );}}
[/EDIT]

Einfach jedes Vorkommen von ZaehlSysVariableVomTypZahl mit dem Namen deiner Systemvariable ersetzen, in welcher du die Zählung speicherst. Falls du Erklärungen dazu brauchst, kann ich auch eine Variablen verschwenderische Version posten. :lol:

Alchy
Zuletzt geändert von alchy am 18.01.2017, 18:16, insgesamt 1-mal geändert.
Grund: siehe Edit

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.

Denver
Beiträge: 14
Registriert: 04.01.2017, 10:41

Re: Skript Zähler

Beitrag von Denver » 18.01.2017, 21:27

Danke - das werde ich morgen mal ausprobieren. Ich experimentiere gerade mit meiner Einbruchmeldeanlage herum....ich befürchte, das wird ein eigener Post... Aber vielleicht schaff' ich's ja noch :o

Erstmal einen schönen Abend und danke für die Hilfe an euch alle!!

Denver
Beiträge: 14
Registriert: 04.01.2017, 10:41

Re: Skript Zähler

Beitrag von Denver » 18.01.2017, 21:34

Sorry, doch noch eine Frage: was trage ich im CUxD Setup in der Zeile "LOGIT=" ein?

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

Re: Skript Zähler

Beitrag von alchy » 18.01.2017, 21:45

Entweder einzelne Datenpunkte oder zum "log mal alles"

Code: Alles auswählen

LOGIT=: 
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.

Denver
Beiträge: 14
Registriert: 04.01.2017, 10:41

Re: Skript Zähler

Beitrag von Denver » 18.01.2017, 21:48

:idea:

Danke!

Antworten

Zurück zu „HomeMatic allgemein“