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

Problem wenn ich auf Debug in der Systemvariable klicke steht nichts drin, sobald ich in der Systemvariable den reiter Systemvariable öffne schmiert die console ab :frowning: Würde gerne die benötigten INFOs posten damit ich weiter komme und Symcon mehr verstehe. (Lerning by Doing)

Im Debug steht nur dann etwas, wenn ein Wert zur CCU geschrieben oder von ihr gelesen wird.
Das die Console bei den Statusvariablen (das meinst du oder?) abstürzt, hatte ich noch nie.
Hast du noch mehr Systemvariablen auf der CCU?
Mach bitte mal ein Screenshot von denen auf der CCU.
Und vielleicht was im Debug steht, wenn du auf CCU auslesen klickst.
Michael

Alles gut. Fehler war mein eigener :frowning:

Die INSTANZ war die Falsche.

Bei mir taucht im Meldungsfenster auf


TimerPool | HomeMatic Systemvariablen (ReadHMSysVar): <br />
<b>Notice</b>:  CCU unreachable:500 in <b>D:\IP-Symcon\modules\IPSHomematicExtended\Systemvariablen\module.php</b> on line <b>803</b><br />

Eigentlich ist zumindest die CCU erreichbar also an sich nichts auffälliges. Irgend eine Idee was das sein könnte?

Entweder ist die CCU überlastet oder ein Fehler welchen ich noch nicht kenne.
Modul aktuell ?
CCU auch? Welche CCU?
Funktioniert es nach einem Neustart der CCU?
Ich sehe du nutzt den Intervall für die Aktualisierung. Welches Intervall hast du eingestellt?
Ich rate immer von dem Intervall ab und empfehle den Push per virtuelle RF Fernbedienung.
Michael

CCU 2 mit Firmware 2.29.23

:D, CCU ist Schuld, Fehler ist nach Neustart der CCU weg. Sollte man wohl immer machen bevor man die Ursache wo anders sucht ;).

Und wie muss ich das einstellen?
homematic extended.png
Da ist ja ans sich etwas eingetragen bei Trigger für Refresh, nur wie stelle ich dann das Update Intervall ab?

Hallo Fonzo,

einfach das Intervall auf Null, eine virtuelle Taste der CCU auswählen, ein CCU Programm anlegen, welches die Systemvariablen überprüft und dann bei Aktualisierung die virtuelle Taste auslöst, so dass die Daten an IPS gesendet werden :slight_smile:

Gruß
Hans

Hallo,
ich habe das Modul installiert (schon vor einiger Zeit) und hatte den ZWEIG auf TEST stehen.
Nachdem ich den Duty-cycle der CCU anzeigen wollte habe ich den Zweig auf Master gestellt, da der RF-Interface Splitter nicht verfügbar war.
Soweit funktioniert alles. Es werden mir aber nur die beiden LAN-Gateways angezeigt - die CCU fehlt (siehe Anhang).
Auch ist es verwunderlich, dass der DutyCycle permanent auf 0 steht, obwohl ich rund 30 HM-Geräte im Einsatz habe.
IPS 4.1 und CCU laufen auf einem PI 3.

Mit besten Grüßen aus Saarbrücken

Hast du den ein Funkmodul auf dem Pi?
Das mit den Werten ist aber auch merkwürdig. Schau bitte im Reiter Debug was da reinkommt in den Instanzen.
Michael

Danke für die schnelle Antwort.
Ich habe das HM-Funkmodul für den Raspberry.
Ich dachte bis zu deiner Frage, dass das Funkmodul zwingend notwendig ist.
Ich sehe die CCU auch in der Systemsteuerung unter LAN-Gateway-Konfiguration nicht.
Da kann ich bei der Zuordnung nur zwischen den beiden Gateways wählen.
Ich habe Yahm auf dem PI laufen - sollte ich da was falsch konfiguriert haben?

Sehr Merkwürdig.
Werden alle drei Interfaces denn in der WebUI angezeigt?
Ich muss aber gestehen das ich absolut keine Idee habe warum es fehlt und alle Werte bei Duty-Cycle auf 0 stehen.
Was nutzt du genau YAHM oder …?
Michael

Hallo Michael,
ich dachte es geht einfach eine sysvar in float per Ereignis pei Werteänderung von IPS an die CCU zu senden:

HM_WriteValueFloat2(34895, "1631", $_IPS['VALUE']);

Aber IPS macht „21,31“ und in der Sysvar steht „21.0“ drin.
Scheint also am „.“ zu liegen

frohe Weihnachten

Trag in den Code es Ereignisses zum testen bitte
var_dump($_IPS[‚VALUE‘]);
ein.

Was kommt da raus?
float mit Punkt oder String mit Komma?

Und funktioniert dies?
HM_WriteValueFloat2(34895, „1631“, (float)$_IPS[‚VALUE‘]);
Michael

HM_WriteValueFloat2(34895, "1631", (float)$_IPS['VALUE']);
var_dump((float)$_IPS['VALUE']);

ergiebt:

24.12.2017 13:40:05 | ScriptEngine | Ergebnis für Ereignis 15100
float(22,88)

in der pivccu steht :
13:38:14 24.12.2017 Temperatur Wohnen 22.000000 °C

Mal Morgen weitersuchen, fange gerade erst mit HM an.

Kann auch im Modul ein Fehler sein, weil der Wert irgendwann als String im XML eingebaut wird.
Jup wird ein Fehler sein.

Muss ich die Tage korrigieren.
Michael

Danke für die Info, Michael.

Hallo Michael,
habe es erst mal direkt mit einem HM Script auf der CCU gelöst, um an eine 1wire Temperatur am GPIO zu kommen.


 string cmdline = "cat /sys/bus/w1/devices/10-000802e43ab6/w1_slave";
 string stdout;
 string stderr;
 system.Exec(cmdline, &stdout, &stderr);
 string onewire = stdout;
! WriteLine(onewire); 
 integer laenge = onewire.Length();
 if (laenge == 0) {quit;}                !beenden , wenn laenge =0

    integer wort_position = onewire.Find("t=");
    onewire = onewire.Substr(wort_position+1, (laenge - wort_position-1));
    laenge = onewire.Length();
    string daten = onewire.Substr(1,7);
   ! WriteLine("daten:" + daten);
    real temp= daten.ToFloat()*0.001;
    WriteLine(temp);
    dom.GetObject("Temp.Wohnen").State(temp);


Ziel ist es, mit 1wire Raumtemperaturen zu erfassen, und direkt an den HM-Thermostaten zu geben.
Wie, weiß ich noch nicht, muss mich noch ein wenig in HM reinfuchsen.
Der Rückgabewert der Systemvariable(Temp.Wohnen) kommt in IPS als Float richtig an.

Tolles Modul.:slight_smile:

Update online.

Michael

PS: Falls jetzt ‚nur‘ die Anzeige in IPS falsch ist, einfach die Anzahl der Dezimalstellen im Profil anpassen :slight_smile:

Perfekt Michael,
geht hier.:slight_smile:

Hallo Michael,

beim hinzufügen der Instanz Programme bekomme ich folgende Fehlermeldung:
Fehlermeldung.jpg

Die Instanz wird auch nicht in den Ordner hinzugefügt wo ich es gerne möchte.

Dafür liegt im Root Verzeichnis diese Instanz:

Die Instanz kann ich öffnen, und wenn ich „CCU auslesen“ anklicke, bekomme ich diese Fehlermeldung:
Fehlermeldung2.jpg

Kannst Du mir weiterhelfen damit die Instanz installieren kann?

Hein09