Uncaught Homegear\HomegearException


#1

Hi @sathya,

ich bekomme folgende Exception, wenn ich ein putParamset() in homegear absetze:

PHP Fatal error: Uncaught Homegear\HomegearException: Could not write config to device's eeprom. in /var/lib/homegear/scripts/inline.php:7

homegear (version 0.8.0-2346).

Was ich versucht habe ist die Konfiguration eines Rollladenaktor (HMW-LC-Bl1-DR) zu ändern.

$hg->putParamset(11, 3, array("REFERENCE_RUNNING_TIME_BOTTOM_TOP" => 20));

Das merkwürdig ist, der Wert als solches ist im Aktor gespeichert (getParamset() zeigt die Änderung). Ich bin mir nicht sicher ob dies wirklich persistiert ist oder nicht. Daher hab ich jetzt mal diesen Thread auf gemacht und die ganze Geschichte im Log Level 6 mit geschnitten.

Debug - Mitschnitt
10/09/18 12:16:02.592 IPC Server: Info: Client number 16 is calling RPC method: cliGeneralCommand
(String) rc "$hg->putParamset(11, 3, array("REFERENCE_RUNNING_TIME_BOTTOM_TOP" => 20));"
10/09/18 12:16:02.592 IPC Server: Debug: CLI client 16 is executing command: rc "$hg->putParamset(11, 3, array("REFERENCE_RUNNING_TIME_BOTTOM_TOP" => 20));"
10/09/18 12:16:02.593 Script Engine Server: Info: Starting script "/var/lib/homegear/scripts/inline.php" with id 2853.
10/09/18 12:16:02.603 Script Engine Server: Info: Client number 0 is calling RPC method: putParamset
(Integer) 11
(Integer) 3
(Struct length=1)
{
  [REFERENCE_RUNNING_TIME_BOTTOM_TOP]
  {
    (Integer) 20
  }
}
10/09/18 12:16:02.604 Module HomeMatic Wired: Info: Parameter REFERENCE_RUNNING_TIME_BOTTOM_TOP of peer 11 was set to 0xC800.
10/09/18 12:16:02.604 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Info: Sending (SH-HMW-LGW): 0001605B1E0000000157000010FF1400000001FFFFFFFFFFFF0500C800
10/09/18 12:16:02.604 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Sending (Port 1000): FD207553C80001605B1E0000000157000010FF1400000001FFFFFFFFFFFF0500C800
10/09/18 12:16:03.235 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Packet received on port 1000. Raw data:
A29554CA18
10/09/18 12:16:03.235 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Packet received from HMW-LGW on port 1000: FD03756101
10/09/18 12:16:03.236 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: ACK response received on port 1000.
10/09/18 12:16:03.236 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Sending (Port 1000): FD02764B
10/09/18 12:16:03.236 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Packet received on port 1000. Raw data:
7EABFFF4AA
10/09/18 12:16:03.236 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Packet received from HMW-LGW on port 1000: FD03766100
10/09/18 12:16:03.236 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Keep alive response received on port 1000.
10/09/18 12:16:03.305 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Error: No response received to packet: FD207553C80001605B1E0000000157000010FF1400000001FFFFFFFFFFFF0500C800
10/09/18 12:16:03.305 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Sending (Port 1000): FD207753C80001605B1E0000000157000010FF1400000001FFFFFFFFFFFF0500C800
10/09/18 12:16:03.935 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Packet received on port 1000. Raw data:
083D92665D
10/09/18 12:16:03.936 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Packet received from HMW-LGW on port 1000: FD03776101
10/09/18 12:16:03.936 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: ACK response received on port 1000.
10/09/18 12:16:04.005 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Error: No response received to packet: FD207753C80001605B1E0000000157000010FF1400000001FFFFFFFFFFFF0500C800
10/09/18 12:16:04.005 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Sending (Port 1000): FD207853C80001605B1E0000000157000010FF1400000001FFFFFFFFFFFF0500C800
10/09/18 12:16:04.636 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Packet received on port 1000. Raw data:
10025A516D
10/09/18 12:16:04.637 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Packet received from HMW-LGW on port 1000: FD03786101
10/09/18 12:16:04.637 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: ACK response received on port 1000.
10/09/18 12:16:04.706 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Error: No response received to packet: FD207853C80001605B1E0000000157000010FF1400000001FFFFFFFFFFFF0500C800
10/09/18 12:16:04.706 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Info: No response from HMW-LGW to packet 0001605B1E0000000157000010FF1400000001FFFFFFFFFFFF0500C800
10/09/18 12:16:04.907 Module HomeMatic Wired: Error: Could not write config to device's eeprom.
10/09/18 12:16:04.907 Script Engine Server: Response:
(Struct length=2)
{
  [faultCode]
  {
    (Integer) -32500
  }
  [faultString]
  {
    (String) Could not write config to device's eeprom.
  }
}
10/09/18 12:16:04.908 Script Engine Server: Info: Client number 0 is calling RPC method: scriptOutput
(String) PHP Fatal error:  Uncaught Homegear\HomegearException: Could not write config to device's eeprom. in /var/lib/homegear/scripts/inline.php:7
Stack trace:
#0 /var/lib/homegear/scripts/inline.php(7): Homegear\Homegear->__call('putParamset', Array)
#1 {main}
  thrown in /var/lib/homegear/scripts/inline.php on line 7
(Boolean) 1
10/09/18 12:16:04.909 Script Engine Server: Response:
(void)
10/09/18 12:16:04.914 Info: Script with id 2853 finished with exit code 255
10/09/18 12:16:04.915 IPC Server: Response:
(Struct length=1)
{
  [exitCode]
  {
    (Integer) 255
  }
}

Auch finde ich es komisch das ein anderer Rollladenaktor reibungslos mit dem putParamset() ohne Exception durch lief. Ist das jetzt ein Bug im Homegear oder hab ich irgendwas falsch gemacht?

VG Sven


#2

Hallo @morphax2k,

ich sehe auf Anhieb keine Ursache für das Problem. Das Gerät scheint einfach nicht zu antworten. Hast du zufällig noch einen Logausschnitt von einem funktionierenden putParamset? Der Vergleich zeigt vielleicht, wo das Problem liegt. Ich bin gerade im Urlaub und habe keine Wired-Installation weit und breit, daher habe ich keine Möglichkeit, das Problem hier zu reproduzieren.

Viele Grüße

Sathya


#3

Hallo @sathya

danke das du dich der Sache annimmst, trotz deines wohl-verdienten Urlaub’s.

Sicher das ist eine einfache Übung :wink:

(String) rc "$hg->putParamset(1, 3, array("REFERENCE_RUNNING_TIME_BOTTOM_TOP" => 18));"
10/19/18 14:54:26.271 IPC Server: Debug: CLI client 29 is executing command: rc "$hg->putParamset(1, 3, array("REFERENCE_RUNNING_TIME_BOTTOM_TOP" => 18));"
10/19/18 14:54:26.272 Script Engine Server: Info: Starting script "/var/lib/homegear/scripts/inline.php" with id 4622.
10/19/18 14:54:26.277 Script Engine Server: Info: Client number 0 is calling RPC method: putParamset
(Integer) 1
(Integer) 3
(Struct length=1)
{
  [REFERENCE_RUNNING_TIME_BOTTOM_TOP]
  {
    (Integer) 18
  }
}
10/19/18 14:54:26.278 Module HomeMatic Wired: Info: Parameter REFERENCE_RUNNING_TIME_BOTTOM_TOP of peer 1 was set to 0xB400.
10/19/18 14:54:26.278 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Info: Sending (SH-HMW-LGW): 0001622B1A0000000157000010FF1400000001FFFFFFFFFFFF0500B400
10/19/18 14:54:26.278 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Sending (Port 1000): FD20B753C80001622B1A0000000157000010FF1400000001FFFFFFFFFFFF0500B400
10/19/18 14:54:26.315 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Packet received on port 1000. Raw data:
0D4C6E76E2
10/19/18 14:54:26.315 Module HomeMatic Wired: HMW-LGW "SH-HMW-LGW": Debug: Packet received from HMW-LGW on port 1000: FD03B77239
10/19/18 14:54:26.315 Debug (SH-HMW-LGW): Packet FD00000001390001622B0277B6 enters raisePacketReceived.
10/19/18 14:54:26.315 Debug (SH-HMW-LGW): Packet FD00000001390001622B0277B6 is now passed to the EventHandler.
10/19/18 14:54:26.315 HomeMatic Wired packet received: FD00000001390001622B0277B6
10/19/18 14:54:26.315 Debug (SH-HMW-LGW): Packet processing of packet FD00000001390001622B0277B6 took 0 ms.
10/19/18 14:54:26.320 Script Engine Server: Response:
(void)
10/19/18 14:54:26.323 Info: Script with id 4622 finished with exit code 0

Das wäre der Auszug eines funktionierenden Rollladen Modules.

VG Sven


#4

Hallo @morphax2k,

was einem auffällt: Beim nicht funktionierenden putParamset() vergehen 600 ms bis zum ACK. Der Pakettyp ist zudem 0x61 und nicht 0x72. Letzteres sorgt für die Fehlermeldung. Die gesendeten Pakete sind bis auf den unterschiedlichen Zahlenwert identisch. Ich würde also mal behaupten, es liegt am Gerät. Hast du mal probiert, den nicht funktionierenden Rollladenaktor auf den Werkszustand zurückzusetzen? Vielleicht hilft das. Ich habe das Ganze aber mal zum Anlass genommen, ein paar kleine Verbesserungen in die HMW-LGW-Kommunikation einzubauen, welche im nächsten Nightly enthalten sind.

Viele Grüße

Sathya


#5

Moin moin @sathya,

entschuldige bitte das es so lange gedauert hat, aber ich habe erst noch mal die Ganze Umgebung neu aufgesetzt. Ich benutze jetzt keinen Raspberry mehr sondern bin auf eine VM mit Ubuntu Server umgestiegen.

Lange Rede kurzer Sinn: nach dem ich nun ein neues Nightly installiert habe und auch noch mal ein Factory Reset gemacht habe, läuft alles wie erwartet

root@ubuntu:/home/sven# homegear -v
Homegear version 0.8.0-2374
Copyright (c) 2013-2018 Homegear GmbH

Dieser Thread kann meinetwegen geschlossen werden.

Vielen Dank noch mal an dieser Stelle für deine Tatkräftige Unterstützung.

Frohes Schaffen und bis zum nächsten Mal :wink:


#6