Hallo,
ich versuche gerade das Auslesen einer Heizungsanlage weiter zu entwickeln. Dafür verwende ich das Modul DevIo auf einem Raspberry Pi mit USB RS485 Adapter. Das Prinzip klappt soweit bestens.
Hier mein Problem:
Es wird eine sehr hohe CPU Auslastung erzeugt (perl > 70%).
Zu Testzwecken habe ich alles abgeklemmt, das Last erzeugen könnte. Z.B. auch das Lesen der Daten mit DevIo_SimpleRead()
Hier der aktuelle Report von apptime:
name function max count total average maxDly
Heizung KWB_Read 118 69 5433 78.74 0 HASH(Heizung)
FHEMWEB:10.0.0.12:60631 FW_Read 8 4 29 7.25 0 HASH(FHEMWEB:10.0.0.12:60631)
FHEMWEB:10.0.0.12:60633 FW_Read 8 2 16 8.00 0 HASH(FHEMWEB:10.0.0.12:60633)
FHEMWEB:10.0.0.12:60632 FW_Read 7 3 14 4.67 0 HASH(FHEMWEB:10.0.0.12:60632)
FHEMWEB:10.0.0.12:60634 FW_Read 7 1 7 7.00 0 HASH(FHEMWEB:10.0.0.12:60634)
FHEMWEB:10.0.0.12:60635 FW_Read 7 1 7 7.00 0 HASH(FHEMWEB:10.0.0.12:60635)
WEB FW_Read 3 5 11 2.20 0 HASH(WEB)
Im Log ist bei "attr global verbose 5" auch nichts zu finden. Das Modul DevIo.pm wird dabei offensichtlich nicht mehrfach aufgerufen. (Habe Logzeilen eingebaut.)
Kann es sein, dass das Serial USB Device von der FHEM Hauptschleife permanent abgefragt wird? Mir ist bekannt, dass an der Schnittstelle von der Heizung dauernd größere Datenmengen gesendet werden.
Gibt es eine Möglichkeit das zu beeinflussen?
Hat da jemand eine Idee?
JamesB