Debian 12 - erreur PHP : Non-static method gsh_scene::doAction()

Bonjour,

Après quelques test avec GSH sur un PI5, Lorsque je tente de lancer des scénarios Jeedom via des scènes depuis Google Home, il me dit qu’une erreur inconnue s’est produite.

En regardant les log http.error, je constate l’erreur php suivante :

erreur PHP : Non-static method gsh_scene::doAction()

page santé :

plugin gsh :

log gsh :

	0026|[2024-05-08 10:57:55] DEBUG  : Request : {"action":"exec","apikey »: »xxxxxxxx », »data":{"callback":null,"auth":null,"requestId »: »xxxxxx », »commands":[{"devices":[{"customData":{"local_execution::apikey »: »xxxx »x}, »id":"scene::174"}],"execution":[{"command":"action.devices.commands.ActivateScene","params":{"deactivate":false}}]}],"error":null}}
0027|[2024-05-08 10:57:55] DEBUG  : XXX.XXX.XXX.XX => {"action":"exec","apikey »: »xxxx », »data":{"callback":null,"auth":null,"requestId":"xxxxx","commands":[{"devices":[{"customData":{"local_execution::apikey »: »xxxx »}, »id":"scene::174"}],"execution":[{"command":"action.devices.commands.ActivateScene","params":{"deactivate":false}}]}],"error":null}}

log http.error :

0002|[Wed May 08 10:57:55.017996 2024] [php:error] [pid XXXXXXX] [client XXX.XXX.XXX.XX:X] PHP Fatal error:  Uncaught Error: Non-static method gsh_scene::doAction() cannot be called statically in /var/www/html/plugins/gsh/core/class/gsh_scene.class.php:54\nStack trace:\n#0 /var/www/html/plugins/gsh/core/class/gsh.class.php(703): gsh_scene::exec()\n#1 /var/www/html/plugins/gsh/core/class/gsh.class.php(372): gsh_devices->exec()\n#2 /var/www/html/plugins/gsh/core/php/jeeGsh.php(133): gsh::exec()\n#3 {main}\n  thrown in /var/www/html/plugins/gsh/core/class/gsh_scene.class.php on line 54
0003|[Wed May 08 10:57:55.306918 2024] [php:error] [pid XXXXXXX] [client XXX.XXX.XXX.XX:X] PHP Fatal error:  Uncaught Error: Non-static method gsh_scene::doAction() cannot be called statically in /var/www/html/plugins/gsh/core/class/gsh_scene.class.php:54\nStack trace:\n#0 /var/www/html/plugins/gsh/core/class/gsh.class.php(703): gsh_scene::exec()\n#1 /var/www/html/plugins/gsh/core/class/gsh.class.php(372): gsh_devices->exec()\n#2 /var/www/html/plugins/gsh/core/php/jeeGsh.php(133): gsh::exec()\n#3 {main}\n  thrown in /var/www/html/plugins/gsh/core/class/gsh_scene.class.php on line 54

en modifiant la ligne 71 du fichier
/var/www/html/plugins/gsh/core/class/gsh_scene.class.php

Ligne 71 :

public static function doAction($_device, $_action) { 

au lieu de

public function doAction($_device, $_action) {

Je retrouve un fonctionnement correct des scènes lancées. Après, je ne sais pas si c’est très « propre » :sweat_smile:

Merci pour vos retours :slight_smile:

Bonjour,

La modification est correcte. Le plugin doit être corrigé en conséquence.

PR fait: make gsh_scene::doAction static by Mips2648 · Pull Request #86 · jeedom/plugin-gsh · GitHub

j’en ai profité pour corriger quelques autres bugs trouvés:

1 « J'aime »

Merci pour le retour @Mips :+1:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.