[Modul] Homematic Extended (Systemvariablen, Programme, Powermeter, u.v.m.)

Ich habe auch alles voll von diesen Einträgen

Verliert bei dir der HMSocket auch fast zeitgleich die Verbindung?
Du kannst sonst einmal auf die Beta wechseln, dort wird ein paar mehr Checks eingebaut.
Michael

Das muss ich prüfen. Bin nun erst mal auf die beta

Gesendet von iPad mit Tapatalk

Ich habe übrigens seit der Umstellung auf die Beta aktuell keinen Fehler mehr.
Ins Log bezüglich HM konnte ich noch nicht schauen.

Gesendet von iPhone XS mit Tapatalk

Funktioniert es denn auch?
Hast du Mal den Rückgabewert ausgewertet ob da true oder false zurück kommt?
Michael

Sorry, ich bin zur Zeit ein undankbarer Nutzer.
Ich mache zur Zeit nur das Nötigste am System.
Im Falle Deines Moduls dient es mir lediglich dazu, auf dem E-Ink Display des Schalters im Flur am Hauseingang festzustellen, ob alle Lichter aus und alle Fenster zu sind.

Ich gelobe Besserung und schaue mal rein.

Gesendet von iPhone XS mit Tapatalk

Alles gut, ich brauche auch immer meine Zeit :smiley:
Michael

Hallo,

gibt es eine Möglichkeit das Auslesen der HM Variablen in dem Homematic Extended Modul zu deaktivieren?

Hintergrund: ich habe aktuell Netzwerkprobleme zwischen IPS und CCU - die nicht so schnell zu lösen sind.

Das führt zu vielen solcher Meldungen:

01/22/2020, 01:35:30 AM | KernelMT | InstanceManager: Error for Instance #47705, Message IM_CHANGESETTINGS: Error on read PowerMeter data.

Da mir das nicht nur mein Log flutet, sondern auch PHP Prozesse blockiert, würde ich gerne die Instanzen (am besten zentral) deaktivieren - habe aber keine Möglichkeit gefunden.

VG Thorsten

Sie deaktiviert sich, sobald der CCU Socket geschlossen ist.
Alternativ Timer ausschalten, sofern benutzt.
Oder Variable für Push aus der Konfig der Instanz löschen.
Michael

Hallo,
bei mir haben sich die HM Systemvariablen und teilweise die Maßeinheiten geändert. Wie kann ich die refreshen, ohne das die ID sich ändert?
Gruß
Marc

Du kannst das dazugehörige Variablenprofil löschen, es wird dann neu angelegt mit den aktuellen Daten.
Siehe Doku:
IPSHomematicExtended/Systemvariablen at master · Nall-chan/IPSHomematicExtended · GitHub
Michael

Hallo Michael.
Ich arbeite derzeit nur über die WebUI von meiner Synology. Kann ich mit den dargestellten Bildern noch keinen Bezug zur WebUI aufbauen, da ich blutigster Anfänger bin. Sei doch so nett und sage mir (evtl. mit Screenshot) wo ich das Variablenprofil löschen kann. In der Anleitung finde ich diesen Begriff schon nicht.
Gruß
Marc

WebUi?
Syno?

Meinst du die Konsole von Symcon?
Dann bitte selber die Grundlagen aus der Doku (oder die YouTube Webinare) durcharbeiten.
Das kann ich nicht als Support anbieten.

Symcon Doku Variablenprofile:
https://www.symcon.de/service/dokumentation/konzepte/variablen/variablenprofile/
Symcon YouTube:
IP-Symcon Grundlagen Webinar - YouTube
Michael

Ich kenne jetzt nur dieses. Kann man Symcon auch von einem Programm aus programmieren? Ich dachte, dass man das nur dort bearbeiten kann, wo symcon auch installiert ist?

WebUI = CCU
WebFront = Visualisierung von Symcon
Konsole = webbasierte Konfiguration von Symcon
(veraltete) legacy Konsole = externes Windows Programm.

Somit ist die Konsole natürlich dort erreichbar wo Symcon installiert ist.
Aber das hat alles nix mehr mit dem Modul hier zu tun.
Michael

Sorry, dann meinte ich die Konsole. Bei mir sieht die Darstellung anders aus, wie in der Anleitung. Da sind halt die Windowsfenster und ich kann halt nur über das Webbrowser-Interface zugreifen, welches ich WebUI genannt hatte.
Nun weiß ich aber immer noch nicht, was du mit „Variablenprofil“ meinst. Das würde ich ja gerne ausarbeiten, finde den Begriff aber nicht in der verlinkten Doku.

Die Screenshots in der Symcon Doku sind noch nicht unbedingt alle auf die aktuelle Konsole korrigiert.
Aber mein Link zeigt genau auf die korrekte Seite in der Doku.
Du wirst nicht drumherum kommen, dir den Teilbaum Grundlagen aus der Doku komplett anzusehen. Sonst fehlen dir Grundlagen und grundlegende Zusammenhänge.
Michael

Ok. Mich hatte schon das andere Aussehen irritiert und will da keine Fehler machen.
Danke bis hierhin.

Ich habe den Fehler gefunden. Ich hatte die HomeMatic Systemvariablen nicht unterhalb des HomeMatic Socket angeordnet. Jetzt funktioniert es.

Hallo Michael,

auf der CCU wird bei jeder Abfrage einer Systemvariable ein Fehler geworfen.

Mar 7 13:25:14 HomeMatic-CCU local0.warn ReGaHss: WARNING: incorrect use of Variable() (use AlType()): Name=dom.GetObject(8583).Name(); ValueType=dom.GetObject(8583).ValueType(); integer Type=dom.GetObject(8583).Type(); WriteLine(dom.GetObject(8583).Variable()); Timestamp=dom.GetObject(8583).Timestamp(); [ExecAlarmDP():iseESPexec.cpp:10251]
Mar 7 13:25:14 HomeMatic-CCU local0.err ReGaHss: ERROR: ScriptRuntimeError: Name=dom.GetObject(8583).Name(); ValueType=dom.GetObject(8583).ValueType(); integer Type=dom.GetObject(8583).Type(); WriteLine(dom.GetObject(8583).Variable()); Timestamp=dom.GetObject(8583).Timestamp(); [ExecError():iseESPexec.cpp:12798]

Der Grund liegt in diesem Befehl

WriteLine(dom.GetObject(8583).Variable());

in IPSHomematicExtended/Systemvariablen/module.php, Zeile 995 ff

            $HMScript = 'Name=dom.GetObject(' . $SysVar . ').Name();' . PHP_EOL
                    . 'ValueType=dom.GetObject(' . $SysVar . ').ValueType();' . PHP_EOL
                    . 'integer Type=dom.GetObject(' . $SysVar . ').Type();' . PHP_EOL
                    //. 'WriteLine(dom.GetObject(' . $SysVar . ').Value());' . PHP_EOL
                    . 'WriteLine(dom.GetObject(' . $SysVar . ').Variable());' . PHP_EOL
                    //. 'WriteLine(dom.GetObject(' . $SysVar . ').LastValue());' . PHP_EOL
                    . 'Timestamp=dom.GetObject(' . $SysVar . ').Timestamp();' . PHP_EOL;

Ich verstehe leider viel zu wenig von der HM-Scriptsprache um abschätzen zu können, was diese Befehle bewirken sollen.

Der Fehler wird bei allen 3 Variablen vom Type „Alarm“ gemeldet; die Meldung kommt, egal, ob ich in der Instanz-Konfiguration den Schalter „Alarm-Variablen aktiv“ setze oder nicht.

Wenn ich

‚WriteLine(dom.GetObject(‘ . $SysVar . ‚).Variable());‘

durch

‚WriteLine(dom.GetObject(‘ . $SysVar . ‚).Value());‘

ersetze ist der Fehler weg, aber wie gesagt, ich habe keine Ahnung, was damit gezweckt wird … die Alarm-Werte werden auch nicht aktualisiert.

Eine weitere Merkwürdigkeit kann man in dem Swap sehen:

Ich nehme an, das die Werte ${sysVar…} eigentlich Platzhalter sind, die durch einen Werte ersetzt werden sollten.

Das ist für mich kein Problem, weil ich diese Variablen überhaupt nicht benutze, aber so richtig scheint mir das nicht zu sein (?).

Die Fehlermeldung im Log ist schon ziemlich lästig. Wenn Du mich da auf eine Spur setzen könntest wäre das super.

Danke
demel