Failed to handle message, error: 'NoneType' #6

Tags: #<Tag:0x00007f752253ef00>

Bonjour,
J’ai un portier VTO 2000A
Tout est OK (dépendance et Daemon) mais je retrouve ce message en boucle dans les logs :
[2021-07-30 18:22:37.651][ERROR] : Failed to handle message, error: ‹ NoneType › object has no attribute ‹ get ›, Line: 64

et bien sûr, ça ne fonctionne pas ;;-(

Bonjour @titi007,

Si tu veux avoir une chance d’obtenir des réponses et une aide tu devrais compléter ton message avec quelques infos (version jeedom, hardware,…) tel que conseillé dans l’article suivant :

Bonjour @FBAF

Merci d’avoir répondu. Effectivement, je n’ai pas été assez précis.
Donc j’ai jeedom installé depuis quelques années sur mon nuc via proxmox. Il fonctionne très bien.

J’ai un portier vidéo Dahua VTo 2000A.
Pour avoir l’information que quelqu’un sonne, au début, j’utilisais macrodroid sur ma tablette qui lorsque l’application dahua s’activait en notification, ça me déclenchait un virtuel (grosse usine a gaz mais ça marche).
Puis, j’ai vu qu’une personne avait développé un plugin.
Je l’ai donc installé le plugin dahuaVto et comme je disais, installation sans erreur, tout est ok.
image

Mais dans la log du daemon, j’ai cette erreur :

Failed to handle message, error: ‹ NoneType › object has no attribute ‹ get ›, Line: 64

je pense que mon portier ne doit pas remonter une donnée. Peut être que c’est juste une constante que l’on pourrait définir par défaut … mais je ne sais pas où chercher ?
J’ai aussi créer un ticket sur le github du plugin mais pas de réponse … (le développeur est peut être en vacances :yum: )

Voili voila, j’aimerai juste pouvoir faire fonctionner le plugin :innocent:

Bonjour @titi007,

En attendant le retour du développeur pour une correction pérenne, tu peux tenter de remplacer le fichier vto_client.py par celui-ci (remplacer l’extension .txt en .py):

vto_client.txt (7,0 Ko)

Le fichier se trouve dans plugins/dahuavto/resources/dahuavto (tu peux utiliser l’excellent plugin Jeexplorer pour faire la copie).

Le code modifié est le suivant :

def handle_login(self, params):
        # keep_alive_interval = params.get("keepAliveInterval")
        keep_alive_interval = 60

        if keep_alive_interval is not None:
            # self.keep_alive_interval = params.get("keepAliveInterval") - 5
            self.keep_alive_interval = 55

            Timer(self.keep_alive_interval, self.keep_alive).start()

            self.attach_event_manager()

En espérant que cela fonctionne.

Bon courage

1 J'aime

un grand MERCI :star_struck:
plus d’erreur et ça fonctionne.

1 J'aime

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