undokumentierte Script-Befehle

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: undokumentierte Script-Befehle

Beitrag von anli » 15.06.2011, 12:03

Hallo.
teddy278 hat geschrieben:Hallo allerseits,

es gibt zwar jetzt endlich die Script-Doku, aber vollständig ist sie nicht. Falls jemand Interesse hat - das hier habe ich aus dem systeminternen Script zur Wetterstation gefischt:

Code: Alles auswählen

                object prg=dom.GetObject($this$);
                object src_dp=dom.GetObject($src$);
                if( src_dp.Type() == 393281 ) {
                  object rule=prg.Rule();
                  object cond=rule.RuleCondition(0);
                  object dest=rule.RuleDestination();
                  object dp_yesterday=dom.GetObject(dest.DestSingleDestination(0).DestinationDP());
                  object dp_today=dom.GetObject(dest.DestSingleDestination(1).DestinationDP());
                  if ( src_dp.LastTimestamp() ) {
                    var diff=src_dp.Value()-src_dp.LastValue();
                    if ( diff < 0.0 ) {
                      diff = diff + src_dp.ValueMax();
                    }
                    dp_today.State(dp_today.Value() + diff);
                  } else {
                    dp_today.State(0.0);
                    dp_yesterday.State(0.0);
                  }
                }
 

Anscheinend kann man damit auf Regeln und Datenpunkte des aufrufenden Programms zugreifen. Könnte vielleicht mal nützlich sein...

Vielleicht können wir ja mal sammeln, was es so alles an undokumentiertem Zeug gibt?


Grüße!
teddy
Danke für den Hinweis!
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

WAdler 68
Beiträge: 1426
Registriert: 09.11.2008, 16:29
Hat sich bedankt: 2 Mal

Re: HTF is Peter Müller?

Beitrag von WAdler 68 » 14.10.2011, 23:26

kaju74 hat geschrieben:Hallo!

Witzig: Wenn ich bei mir

Code: Alles auswählen

string debug = system.Dump();
eingebe, bekomme ich "Peter Müller" zurück....Wer ist das?

Gruß,
kaju
bei mir klappt das auch. war am ende der einzigste mitarbeiter, der was von der hm verstanden hatte .... eh man ihn entließ.

Roland816
Beiträge: 89
Registriert: 26.01.2019, 14:29
System: CCU und Access Point
Wohnort: Friedrichshafen
Hat sich bedankt: 30 Mal
Danksagung erhalten: 4 Mal

Re: undokumentierte Script-Befehle

Beitrag von Roland816 » 29.07.2019, 19:44

Bei mir und der CCU3 mit Version 3.47.15 funktioniert es nicht mehr.

string debug = system.Dump();
WriteLine("Hallo Welt!" # debug);

gibt nichts mehr aus.
CCU3, RaspberryMatic, Heizungssteuerung mittels Heizkörperthermostate, Rolladensteuerung und Haussicherheit. Programme, Skripte

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: undokumentierte Script-Befehle

Beitrag von jp112sdl » 29.07.2019, 21:06

Roland816 hat geschrieben:
29.07.2019, 19:44
Bei mir und der CCU3 mit Version 3.47.15 funktioniert es nicht mehr.

string debug = system.Dump();
WriteLine("Hallo Welt!" # debug);

gibt nichts mehr aus.
Aber

Code: Alles auswählen

WriteLine( system.User() );
gibt immer noch

Code: Alles auswählen

Peter Müller
aus.

Interessant ist auch, wenn man sich mit strings mal die ReGaHss binary anschaut:

Code: Alles auswählen

# strings /bin/ReGaHss |grep -i knx
IseAddKnxDP
KNX data point
IseAddKnxDP failed!
knx-enable
knx-comm-port
knx-comm-port-W32
knx-ind-addr
8IseKnxDP
../Platform/DOM/iseDOMdpKnx.cpp
knx-dp
KNXDP
knxdpmap
KNXAddress
ExecKnxDP
incorrect use of Variable() (use KNXAddress()): 
OT_KNXDP
KnxTLAckTimer
KnxTLConnTimer
../Platform/KNX/EibDeviceTransportLayerImpl.cpp
UpdateKnxDpByAddr
12KnxDpUpdater
../Platform/RT/iseRTKnx.cpp
Sieht für mich ganz so aus, als wenn da a) mal die direkte Implementierung von KNX geplant war oder b) der ReGa Kern von ISE für andere Smarthome-Kunden die selbe Grundlage bildet.

VG,
Jérôme ☕️

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

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“