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 (c) 2013-2018 Homegear GmbH
Git commit SHA of libhomegear-base: -
Git branch of libhomegear-base: -
Git commit SHA of Homegear: -
Git branch of Homegear: -
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,
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.
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.