Fehler bei peer create

Hi,
ich habe schon im Enocean-Bereich einen Thread offen, aber das gehört IMHO eher in diesen Fehler-Bereich hier.
Auch ein “peer create” direkt auf der CLI schlägt fehl:

homegear -e rc ‘print_v($hg->createDevice(“15”, hexdec(“A53801”),"" , hexdec(“FFB39400”), 0));’
PHP Fatal error: Uncaught Homegear\HomegearException: Type error. in /var/lib/homegear/scripts/inline.php:7
Stack trace:
#0 /var/lib/homegear/scripts/inline.php(7): Homegear\Homegear->__call(‘createDevice’, Array)
#1 {main}
thrown in /var/lib/homegear/scripts/inline.php on line 7

Homegear version 0.8.0-2380
Copyright © 2013-2018 Homegear GmbH

Git commit SHA of libhomegear-base: -
Git branch of libhomegear-base: -
Git commit SHA of Homegear: -
Git branch of Homegear: -

Die Interface ID fehlt im Befehl (Name deines Interfaces in der enocean.conf)
https://doc.homegear.eu/data/homegear-enocean/adding_devices.html#create-device

Hi,
lt. Doku muss die Interface-ID nur mitgegeben werden, wenn man mehrere Module hat.
Es macht aber auch damit keinen Unterschied.

homegear -e rc ‘print_v($hg->createDevice(15, hexdec(“A53801”), “”, hexdec(“FFB39400”), 0, “My-EnOcean-Interface”));’
PHP Fatal error: Uncaught Homegear\HomegearException: Type error. in /var/lib/homegear/scripts/inline.php:7
Stack trace:
#0 /var/lib/homegear/scripts/inline.php(7): Homegear\Homegear->__call(‘createDevice’, Array)
#1 {main}
thrown in /var/lib/homegear/scripts/inline.php on line 7

Das hat ja auch früher schon geklappt, ich habe ca. 10 EO-Devices registriert und die laufen auch.

Aber trotzdem Danke, langsam zweifle ich nämlich an mir :thinking:

Nur eine Idee, da die Fehlermeldung ja auf “type error” hinweist:
Kannst Du mal die hexdec(…) durch Zahlenwerte ersetzen und das nochmals probieren?
Hintergrund: hexdex( ) hat einen Returnwert vom Typ number und erwartet wird ein Integer. Auch wenn es offensichtlich ist, was gemeint ist, wäre es möglich dass die Typüberprüfung hier einen Fehler liefert,

Die Idee klingt gut, hat aber leider nichts gebracht. Habe alle Hex-Werte umgerechnet, mal mit “” mal ohne, immer der gleiche type-error

Hast du es mit folgender Schreibweise in der CLI schon probiert?
fs 15
pc <InterfaceID> 0xA53801 0xFFB39400

Ja,
das hatte ich in meinem Ursprungs-Thread (leider im nicht so passenden Forum) dokumentiert: https://forum.homegear.eu/t/enocean-pc-kaputt-nightly-080-2374/2485

Kann jemand bitte mal mit einem relativ neuen Nightly prüfen, ob das Anlegen bei anderen Familien funktioniert ? Dann könnte man eingrenzen, ob es nur die 15er Familie betrifft. Ich habe nur Enocean, daher kann ich das selber nicht testen.

Danke,
-Markus

Ich habe eben mal probiert deinen Aktor in der CLI anzulegen.

Family 15> pc USB300 0xA53801 0xFFB39400 Added peer 115 with address 0x00000000 and serial number EOD00000000.

Dann am Anfang der Enocean ID FF durch 00 ersetzt.

Family 15> pc USB300 0xA53801 0x00B39400 Added peer 116 with address 0x00B39400 and serial number EOD00B39400. Family 15>

Homegear schmeckt die Enocean ID irgendwie nicht.
Was ist das für ein Gerät?

Das ist ein Eltako FSSA-230V (Funksteckdose).

Ich habe aber in der Vergangenheit schon einige Devices ohne Probleme mit einer “FF” und “FE” am Anfang registriert und habe die auch aktuell am Laufen (einen FSR14).

Da es ja bei Dir auch nicht funktioniert, denke ich, dass sich irgendwann in die Enocean-nightlies ein Bug eingeschlichen hat bzgl. des Parsens der EO-Adresse beim Anlegen neuer Peers.

Leider ist der Teil ja nicht open-source und @sathya scheint zur Zeit anderweitig beschäftigt.

Ich habe mal verschiede Nightlies ausprobiert. Eine mit Build-datum 1.10.2018 und der homegear-Version 2362 enthält den Fehler noch nicht, und ich kann meinen Peer registrieren.

Wenn ich nachher noch mal Zeit habe, probiere ich spätere Nightlies aus, um die Version zu finden ab der es kaputt ist.

-Markus

Der Fehler tritt auf ab Build 1.11.2018, Version 2366, die 3 Versionen dazwischen habe ich jetzt nicht mehr ausprobiert.

-Markus

2 Likes

Hallo @MarkusD,

der Fehler war im quelloffenen Teil in der Zahlenkonvertierung und trat nur auf 32-Bit-Systemen auf. In der nächsten Version ist das Problem behoben.

Viele Grüße

Sathya

1 Like