[GELÖST] HMIP Geräte mit 3.41 träge / teils ohne Funktion

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

NickHM
Beiträge: 2434
Registriert: 23.09.2017, 12:04

Re: HMIP Geräte mit 3.41 träge / teils ohne Funktion

Beitrag von NickHM » 01.01.2019, 19:18

Hallo

es gibt mehrere mögliche Gründe
und was sind "diverse andere Ordner"?

- Du musst das Dateisystem erst /rw mounten sonst ist es komplett schreibgeschützt
- Du kannst die Datei nicht überschreiben, wenn diese in Gebrauch ist. Also HMIP Server beenden, oder die SD Karte in einem Kartenleser beschreiben.

nicolas-eric
Beiträge: 2798
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel

Re: HMIP Geräte mit 3.41 träge / teils ohne Funktion

Beitrag von nicolas-eric » 01.01.2019, 19:40

Damit meine ich z. B. den Addon oder User Ordner.

Ich weiß leider nicht, wie ich das Dateisystem RW remounten und den HMIP Server beenden kann.
Mit welchen Befehlen geht das, wenn ich mich per Terminal als Root an der RaspiMatic anmelde?

Benutzeravatar
jmaus
Beiträge: 4214
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Kontaktdaten:

Re: HMIP Geräte mit 3.41 träge / teils ohne Funktion

Beitrag von jmaus » 01.01.2019, 20:42

Das liegt ganz sicher daran das zu der Zeit der HMIPServer bei dir noch lief und dann ist die jar datei natürlich noch gelockt. Du misst den HMIPServer erst einmal mit folgendem Befehl stoppen:

Code: Alles auswählen

/etc/init.d/S62HMServer stop
und dann sollte sich das jar ersetzen/umbenennen lassen und dann kannst du es ersetzen und die CCU danach neustarten.
RaspberryMatic 3.43.15.20190223 @ TinkerS mit ~150 HomeMatic Geräten + ioBroker – GitHubPayPal

nicolas-eric
Beiträge: 2798
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel

Re: HMIP Geräte mit 3.41 träge / teils ohne Funktion

Beitrag von nicolas-eric » 01.01.2019, 21:43

Hallo Jens,

obwohl der Befehl mit "Stopping HMIPServer: OK" quittiert wurde, kann ich in das Verzeichnis leider nichts reinkopieren, etwas umbenennen oder gar eine Datei überschreiben.
Ich kann übers Info Feld nichtmal die Rechte ändern, all das geht in nahezu allen anderen Verzeichnissen der RaspiMatic.
Eventuell liegt das wirklich an den Rechten, oder wie das Dateisystem gemountet wurde (wie NickHM schon schrieb)?
Wie bringe ich das Dateisystem dazu, dass ich diese Datei ersetzten kann?

nicolas-eric
Beiträge: 2798
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel

Re: HMIP Geräte mit 3.41 träge / teils ohne Funktion

Beitrag von nicolas-eric » 01.01.2019, 21:57

Hab grad bissle gegoogelt und nach dem Befehl
"mount -o rw,remount /" liess sich die "HMIPServer.jar" der CCU3 Firmware rüber kopieren.

Nach einem Neustart des Raspi ist HMIP aber noch immer so lahm wie vorher, das hat also leider nichts gebracht.
Woran könnte das denn noch liegen?
Es muss wohl bezüglich HMIP nich andere Unterschiede zwischen CCU3 Firmware und RaspiMatic geben.
Denn mit der CCU3 FW geht es ja.

comtel2000
Beiträge: 10
Registriert: 21.02.2018, 10:53

Re: HMIP Geräte mit 3.41 träge / teils ohne Funktion

Beitrag von comtel2000 » 02.01.2019, 12:34

kann es sein, dass deine Probleme mit einer defekten bzw. langsamen SD Card zusammen hängen?
Die Überlastung des des HmIPServer scheint durch das verzögerte Schreiben der logs ausgelöst zu werden:

Code: Alles auswählen

        at de.eq3.lib.measurement.MeasurementService.writeLogValues(MeasurementService.java:835)
Unabhängig davon sollten 'java.util.ConcurrentModificationException' nie auftreten, was aber leicht korrigierbar ist.
Leider ist der Java Teil kein OpenSource, oder liege ich da falsch?

Familienvater
Beiträge: 6973
Registriert: 31.12.2006, 15:18
Wohnort: Rhein-Main

Re: HMIP Geräte mit 3.41 träge / teils ohne Funktion

Beitrag von Familienvater » 02.01.2019, 13:43

Hi,
comtel2000 hat geschrieben:
02.01.2019, 12:34
kann es sein, dass deine Probleme mit einer defekten bzw. langsamen SD Card zusammen hängen?
Die Überlastung des des HmIPServer scheint durch das verzögerte Schreiben der logs ausgelöst zu werden:

Code: Alles auswählen

        at de.eq3.lib.measurement.MeasurementService.writeLogValues(MeasurementService.java:835)
Zumindest bei einer CCU2 werden die Logs absichtlich NICHT auf die SD-Karte, sondern in das tempFs geschrieben, da sollte es niemals Performance-Probleme geben.
comtel2000 hat geschrieben:
02.01.2019, 12:34
Unabhängig davon sollten 'java.util.ConcurrentModificationException' nie auftreten, was aber leicht korrigierbar ist.
Leider ist der Java Teil kein OpenSource, oder liege ich da falsch?
Ich bin kein java-Kenner, aber nach dem ich auch die Fehlermeldung mal gegoogelt hatte, scheint das ein gern gemachter Fehler zu sein, während man durch eine Liste iteriert, das aktuelle Element "falsch" von der Liste zu nehmen, dabei kommt es dann angeblich zu solchen Fehlern.

Der Java-Teil ist wie Du schon festgestellt hast, kein OpenSource, allerdings man java wohl wunderbar "dekompilieren", und bekommt fast den Original-Quellcode, wenn da kein Obsfuscator vorher drauf angewendet wurde (und evtl. hat der java-Compiler Dinge optimiert, und z.B. Kommentare sind natürlich auch keine mehr vorhanden).

Der Familienvater

comtel2000
Beiträge: 10
Registriert: 21.02.2018, 10:53

Re: HMIP Geräte mit 3.41 träge / teils ohne Funktion

Beitrag von comtel2000 » 02.01.2019, 16:47

die im eq3 MeasurementService eingesetzte ArrayList ist nicht Threadsafe und die ConcurrentModificationException tritt immer dann auf, wenn von unterschiedlichen Threads Änderungen bzw. Lese-und Schreibzugriffe zeitgleich erfolgen. Das steckt ja mehr oder weniger im Namen CME schon drin.
Das ganze kann, muss aber nicht das Problem auslösen und für ein decompilieren von closed source wäre mir ehrlich gesagt meine Zeit zu schade (ganz abgesehen von rechtl. Problemen mit eq3)
Das eigentliche Problem sind der Beschreibung nach Performance Probleme und da würde ich immer zuerst bei langsamen I/O Operationen wie filesystem/socket/database Kommunikation suchen und da wäre meiner Meinung nach die SDCard zu tauschen einen Versuch wert.

nicolas-eric
Beiträge: 2798
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel

Re: HMIP Geräte mit 3.41 träge / teils ohne Funktion

Beitrag von nicolas-eric » 02.01.2019, 17:06

Die Karte ist eher nicht das Problem.
Habe mehrere ausprobiert.
Und über ein träge laufendes RaspiMatic habe ich direkt die CCU3 Firmware installiert und damit lief es wieder.

Bulli
Beiträge: 464
Registriert: 29.04.2014, 18:38

Re: HMIP Geräte mit 3.41 träge / teils ohne Funktion

Beitrag von Bulli » 02.01.2019, 19:46

Hallo
könnten bitte mal die User mit Problem das Loglevel auf debug stellen. So ist es doch wieder mal nur Fischen im trüben.
Das nichts verloren geht gleich mal nach /usr/local/hmserver.log loggen. Vorsicht 2GB große Datei möglich. Sollte aber kein Problem sein als Raspi User.

ssh befehle oder halt mit winscp oder xyz machen.
Sichern von /etc/config/log4j.xml

Code: Alles auswählen

cp /etc/config/log4j.xml /etc/config/log4j.xml_org
Datei ändern

Code: Alles auswählen

vi /etc/config/log4j.xml 
Neuer Inhalt

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
        <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
                <param name="File" value="/usr/local/hmserver.log"/>
                <param name="MaxFileSize" value="2048MB" />
                <layout class="org.apache.log4j.PatternLayout">
                        <param name="ConversionPattern" value="%d{MMM d HH:mm:ss} %c %-5p [%t] %m %n"/>
                </layout>
        </appender>

        <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
                <param name="SyslogHost" value="127.0.0.1"/>
                <param name="Facility" value="LOCAL0"/>
                <param name="FacilityPrinting" value="true"/>
                <layout class="org.apache.log4j.PatternLayout">
                        <param name="ConversionPattern" value="%c %-5p [%t] %m %n"/>
                </layout>
        </appender>

        <category name="de.eq3">
                <priority value="DEBUG" />
        </category>
        <category name="org">
                <priority value="DEBUG" />
        </category>
        <category name="com">
                <priority value="DEBUG" />
        </category>

        <root>
                <priority value="DEBUG" />
                <appender-ref ref="FILE" />
                <appender-ref ref="SYSLOG" />
        </root>

</log4j:configuration>
HmServer neu starten

Code: Alles auswählen

/etc/init.d/S62HMServer stop

Code: Alles auswählen

/etc/init.d/S62HMServer start
Und schon hat man unter /usr/local/hmserver.log ein Log das viel mehr Infos/Debug Ausgaben bringt. Dadurch könnte man vielleicht als Java Profi (ich nicht) das Problem finden.

Gesundes neues Jahr
Bulli

Edit >> 2 Vorsicht Backup könnte natürlich auch sehr groß werden.
Zuletzt geändert von Bulli am 02.01.2019, 20:06, insgesamt 1-mal geändert.

Antworten

Zurück zu „RaspberryMatic“