nischram / E3dcGui

E3DC S10 / HomeMatic Daten abfragen, darstellen oder senden
36 stars 14 forks source link

Fehlende aktuelle Werte #85

Closed holgerkch closed 1 year ago

holgerkch commented 1 year ago

Seit ein paar Tagen (evtl. seit dem letzten E3DC Update?) werden auf der GUI die aktuellen Werte nicht mehr angezeigt. Die Tagessummen kommen an, die Livedaten (Produktion, Verbrauch, Ladestand...) fehlen

IMG_3077

Habt ihr eine Idee, was da passiert ist und wie ich das beheben kann ?

nischram commented 1 year ago

Hey, ich habe bei meinem System ein Update aus 2023 drauf somit denke ich das es auch neu ist, bei mir läuft alles. Da die HistoryValues noch kommen denke ich, es liegt nicht am Update. Ich gehe mal davon aus dass du das Display schon neu gestartet hast. Um das Einzugrenzen musst du dich wohl per Putty oder Konsole im Pi einloggen Dort als erstes prüfen ob die Applikation RscpMain läuft. Mit diesem Befehl prüfst du was aktiv ist: pstree Nun solltest du die Applikation RscpMain mal separat starteten und mir einen Log schicken was du da für Meldungen bekommst. Sollte die Verbindung klappen schau doch mal im Ordner RAMDisk nach ob die Dateien angelegt werden und auch gefüllt werden. ls /mnt/RAMDisk dann solltest u.a. du diese Dateien bekommen:

Mit den Informationen können wir weiter überlegen warum es nicht geht.

VG Nico

holgerkch commented 1 year ago

Danke für die schnelle Rückmeldung!Ich werde mal schauen, wie ich das hinkriege, hab ja null Ahnung vom pi und das damals mit vielen Anleitungen auch irgendwie hinbekommen mit der Installation ;-)Leider hab ich den damaligen PC nicht mehr und muss erstmal die Tools und die Verbindung irgendwie wieder hinkriegen. Kann also ein paar Tage dauern, aber ich melde mich auf jeden Fall sobald wie möglich Holger

holgerkch commented 1 year ago

Hi Nico,ich konnte mich nun mit ssh anmeldenRscpMain scheint nicht zu laufen und ich kann es auch nicht starten (Kommando nicht gefunden) obwohl es eine Datei selbigen Namens im Verzeichnis E3DCGui gibtIn der Datei, siehe unten, stehen durchaus plausible Werte @.***:~/E3dcGui $ cat /mnt/RAMDisk/E3dcRscpData.txt8170447-3709919955000100000010720000000002000000751

nischram commented 1 year ago

Hey, vielleicht kannst du hier im Github antworten, denn bei den Antworten per Mail werden die Zeilenumbrüche entfernt und ich kann die Ausgaben nicht so gut erkennen. In diesem Fall reicht es aber.

Das Kommando um die RscpMain zu starten wäre: ./RscpMain Dann könntest du die anderen zwei Dateien noch ansehen mit: cat /mnt/RAMDisk/E3dcGuiData.txt oder cat /mnt/RAMDisk/E3dcCache.txt

Gruß

holgerkch commented 1 year ago

Ups, sorry, das mit der Mail wusste ich nicht Befehl habe ich ausgeführt, Resultat (und vielleicht ein Indiz in der letzten Zeile): pi@raspberrypi:~/E3dcGui $ ./RscpMain Connecting to server 192.168.1.146:5033 Connected successfully

Request authentication RSCP authentitication level 10


Request cyclic data Serial-Number is P10-752204000109 System Time is 11.05.2023_20:53:46 System Unix-Time is 1683831226 System Timezone is +0200 PV Power is 0 W Battery Power is -1491 W House Power is 1475 W Grid Power is -16 W Battery SOC is 95 % Wallbox Power All is 0 W Wallbox Power Solar is 0 W Wallbox Power Grid is 0 W Wallbox discharge until 75 % Wallbox Battery at Mix-Mode 1 Autarky is 99.5 % Self Consumption is 99.5 % Monday: Ladesperre inaktiv (01:00 - 21:00) Speicherzugriffsfehler

Und dann noch pi@raspberrypi:~/E3dcGui $ cat /mnt/RAMDisk/E3dcGuiData.txt 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 7200 0 0 0 0 0 0 0 2 0 0 0 0 0 0 75 1

1 5 1

und pi@raspberrypi:~/E3dcGui $ cat /mnt/RAMDisk/E3dcCache.txt 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 7200 0 0 0 0 0 0 0 2 0 0 0 0 0 0 75 1

1 5 1

nischram commented 1 year ago

Hallo Holger,

Ok die Information hilft weiter. Und zwar bei der RscpMain Ausgabe der letzte Eintrag. "Speicherzugriffsfehler" in Zusammenhang mit der vorletzten Zeile.

Es wird nur die eine Sperrzeit für Montag ausgegeben, i.d.R. sollten da für jeden Tag eine Zeile auftauchen. Ich hatte am Display in der neuen Software schon gesehen, dass das Menü der Sperrzeiten anders aussieht.

Soweit ich gesehen habe kann man jetzt mehrere Zeiten je Tag eintragen, vielleicht kommt meine Software damit nicht zurecht. Ich muss es nächsten Tage mal testen. Vielleicht kann ich den Fehler bei mir nachstellen.

Aber bis dahin könntest du versuchen ob du den Fehler bei dir umgehen kannst. Dafür könntest du folgende einbauen: Datei RscpMain.cpp bearbeiten (ähnlich wie du die parameter.h bearbeitet hast).

Zeile 119 mit "//" auskommentieren. vorher:

        if(readTo(PosToIdlePeriod)){
          protocol.appendValue(&rootValue, TAG_EMS_REQ_GET_IDLE_PERIODS);
          writeTo(PosToIdlePeriod, 0);
        }

Auskommentiert sieht es so aus:

        if(readTo(PosToIdlePeriod)){
          //protocol.appendValue(&rootValue, TAG_EMS_REQ_GET_IDLE_PERIODS);
          writeTo(PosToIdlePeriod, 0);
        }

Danach musst du die Datei neu kompilieren, mit diesem Befehl:

make RscpMain

Du könntest zudem einmal am Speicher prüfen welche Einstellung der Sperrzeiten du eingestellt und aktiv hast. Und wenn du schon am Display bist schau doch mal welches Software du drauf hast? Ich habe P10_2023_02 am Gerät und meine Software gibt P10_2023_022 aus (das die letzte Zahl am Gerät fehlt war mir schon öfter aufgefallen).

Mein deinen weiteren Infos und meinen Tests am Gerät werden sicher helfen den Fehler zu finden. Viele Grüße Nico

holgerkch commented 1 year ago

Hi Nico, ich merke schon, du weisst was du da tust, im Gegensatz zu mir :-) Also dein Workaround hat schon mal geholfen, nach auskommentieren tut es das Display jetzt wieder und zeigt alle Werte an

Mein Release ist P10_2022_04, kann es sein, dass für mein S10E Pro Compact noch kein neueres ausgeliefert wurde ? Zumindest findet es auch bei manueller Suche nichts aktuelleres.

Mit den Sperrzeiten kann es in sofern zusammen hängen, als dass ich da vor ein paar Tagen erstmals testweise etwas eingetragen habe, ich glaube für den Dienstag. Dies weil meine Module 14.8 kwP haben und ich sehen wollte, ob es dann zu Peakzeiten mehr als 12 kw hergibt, wenn die Batterie noch Platz hat. Dies ist wohl tatsächlich so. Ich habe vorhin alle Sperrzeiten rausgenommen, aber es ging trotzdem nicht (auch nicht nach Neustart des raspi) bis ich die Zeile auskommentiert hatte

Also im Moment tut es wie es soll, vielen Dank ! Und wenn du eine andere Version hast, kann ich diese ja ggf. einspielen und testen

Grüsse aus der Schweiz Holger

nischram commented 1 year ago

Hallo Holger, ich habe auch nur klein Angefangen und mich langsam in so ein Zeugs hier eingearbeitet 😉

Das mit dem Update ist interessant, du hast noch die Version aus 2022, dort war noch keine Änderung an den Sperrzeiten und somit sollte das von mir oben Beschriebene gar nicht zutreffen. Bei mir hat es mit dem 2022er Update alles sehr gut geklappt. das neue 2023er habe ich jetzt auch getestet und keinerlei Problem es läuft auch wenn ich mehrere Sperrzeiten an einem Tag setzte, nur bekommt man bei meiner SW nur die erste angezeigt keine zwei für einen Tag.

Somit musste ich weiterüberlegen was der Grund sein kann. Ich habe in dem Zuge mal meine Versionen und letzten Änderungen durchgeschaut. Und ich glaube ich bin fündig geworden. In der Datei Rscp/RWData.h habe ich in der Version 2.18 eine Änderung vorgenommen die einen Fehler beheben soll. Der Fehler wurde im Homematic Forum gemeldete HM-Forum Bei den Mitgliedern werde der make nicht beendet. aber ich weiß das zu Teil ein Kompiliere diesen Fehler auch ignoriert und das könnte bei dir der Fall sein und dann schlägt aber der Ablauf im Programm fehl.

Somit solltest du nun deine Version von meiner Software prüfen und ganz besonders auf die Datei Rscp/RWData.h achten. Die Software sollte 2.18 oder neuer sein. Aktuell ist die 2.20. Eigentlich sollte es klappen wenn du mit dem Befehl

git pull

Mein Version aktualisierst, hier in der Anleitung beschrieben: nischram/E3dcGui#informationen-zum-update

Sollte meine Vermutung zutreffen hast du die Version 2.17 am laufen. Ich bin gespannt...

Viele Grüße Nico

holgerkch commented 1 year ago

Hi Nico, ja es war 2.17 und ist jetzt 2.20 Hat geklappt mit git pull Ich nehme an ich könnte jetzt die auskommentierte Zeile rausnehmen und neu kompilieren, sonst sehe ich wohl nicht ob es geholfen hat? Fehlt mir irgendwas durch die Auskommentierung? Sonst kann ich natürlich auch einfach lassen wie es ist

nischram commented 1 year ago

Hey,

sehr schön! Die Zeile sollte schon wieder aktiv sein durch das Update nur kompilieren musst du erneut. Das sich etwas mehr geändert hat solltest du komplett kompilieren mir make aber zum schnellen testen kannst du auch nur die RscpMain kompilieren mit make RscpMain

Zur Info, solltest die Auskommentiereung drin bleiben würde auf dem Display das Menü für die Sperrzeiten nicht funktionieren. VG Nico

holgerkch commented 1 year ago

Hallo Nico,

so, nun habe ich auch alles neu kompiliert und es läuft (erwartungsgemäss) alles bestens. Vielen Dank also nochmal für deine Hilfe. Man kann sich an so ein Display im Wohnzimmer eben doch mächtig gewöhnen und ich habe den Raspberry ja letztlich auch nur zu genau dem Zweck angeschafft Nebenher habe ich auch noch den Tip gesehen, den Watchdog zu killen, der offenbar für die viel zu häufigen Restarts verantwortlich war. Jetzt läuft er einfach so vor sich hin :-)

Weiter eine gute Zeit und Grüsse aus der Schweiz Holger

nischram commented 1 year ago

Hallo zurück in die Schweiz,

freut mich, dass es geklappt hat und jetzt alles läuft.

Der Watchdog hat vorher mitbekommen, dass RscpMain nicht lief und deswegen immer wieder neu gestartet. So wünsche ich weiter viel Spaß mit dem Speicher und natürlich dem Display!

Viele Grüße aus Norddeutschland Nico