Perte des remontées d'information MyHome SCS

Bonjour

J’ai continué mon debug et il semblerait que le problème vienne bien du Socket.

Du coup j’ai modifié la configuration réseau comme, ci-dessous et je récupère à nouveau les remontées d’information.

  • désactivé la gestion du réseau par jeedom
  • enlevé les addresses interne/externe
  • redémarrer jeedom + le plugin MyHomeSCS

J’espère que ceci peut aussi résoudre votre problème.

A noter que lorsque la remontée d’information est perdue, je peux toujours continuer à commander les actionneurs tant bien même que le Daemon est NOK.

Bon courage !
Cyril

Merci pour l’info. Cependant j’ai bien déjà désactivé la gestion du réseau par Jeedom, j’ai donc juste nettoyé les adresses int/ext (en espérant qu’il n’y ai pas d’impact pour jeemate ou autre plugin).
Toujours le même problème au bout d’un certain temps, je perds les remontés d’infos (mais je peux également toujours commander mes actionneurs).
C’est stable maintenant de ton côté ?
A suivre si d’autres pistes :slight_smile:

Bon, toujours pas de retours des variables du Webserver :

0012|[2022-02-15 10:55:53]DEBUG : Jeemyhomescs_Equipement : Array (     [trame] => *#13**0*10*54*49*001##     [format] => DIMENSION_REQUEST_RESPONSE     [mode] => UNKNOWN     [media] => SCS     [type] => Management     [value] => 10*54*49*001     [dimension] => TIME     [param] =>      [A] =>      [PL] =>      [date] => 2022-02-15 10:55:53 )
0013|[2022-02-15 10:55:53]DEBUG : Jeemyhomescs_Aucun équipement trouvé pour :  Création de l'equipement
0014|[2022-02-15 10:55:53]DEBUG : Jeemyhomescs_Aucun équipement trouvé pour :  Erreur lors de la création de l'équipement

Je récupère bien les infos via la requête : [value] => 10*54*49*001* , mais c’est l’objet qu’il n’arrive pas à mettre à jour (d’où le message d’erreur).

J’ai donc compris que c’était la fonction updateStatus($decrypted_trame) qui n’est pas appelée car je ne vois par exemple pas de log correspondant à log::add('myhomescs','debug',"Update Status Management") alors que j’ai bien [type] => Management … (Et j’avais bien pour Light par exemple).
J’ai alors regardé dans le fichier jeemyhomescs.php, et j’ai vu que c’est parce qu’il n’arrive pas à me mapper sur l’objet avec $myhomescs = myhomescs::byLogicalId($tramedecrypt["A"].$tramedecrypt["PL"], 'myhomescs'); mais c’est normal car ces champs A et PL sont vides dans la réponse de ma GW (en tout cas pour l’objet de type Management).

J’ai donc modifié la ligne
$myhomescs = myhomescs::byLogicalId($tramedecrypt["A"].$tramedecrypt["PL"], 'myhomescs');
Par

                if ($tramedecrypt["type"] == 'Management')
                        $id = "WEBSERVER";
                else
                        $id = $tramedecrypt["A"].$tramedecrypt["PL"];
                $myhomescs = myhomescs::byLogicalId($id, 'myhomescs');

Et ça marche ! :slight_smile:

Par curiosité, pourquoi avoir fait plusieurs if/elseif plutôt qu’un Switch pour le $dimension (comme pour les autres devices) ?

Bonjour

Oui c’est stable de mon coté. Je pense que le soucis venait de la configuration de l’adresse locale, car comme je suis sur un docker elle doit être en 172… pour l’adresse externe, j’utilise mon ip publique.

J’ai aussi eu une perte des remontées d’informations sur quelques capteurs, du coup je suis reparti sur une installe neuve et depuis plus de soucis.

Je pense que ta modification est déjà prise en compte dans les fichiers php que j’ai récupéré sur le forum.
https://community.jeedom.com/t/nouvelles-fonctionalites-pour-myhomescs/8222/95?u=cyrilc

J’ai fusionné les modifications de cet autre post pour le shutter:
https://community.jeedom.com/t/perte-des-remontees-dinformation-myhome-scs/15768/16?u=cyrilc

Les fichiers php fusionnés sont attachés ci-joint. Tu peux aussi récupérer les fichiers de configuration dans les post mentionnés ci dessus.
jeemyhomescs.php.log (3,6 Ko)
myhomescs.class.php.log (73,6 Ko)

Pour ma part, j’ai travaillé sur la centrale de pilotage du chauffage et les scenarios. Si quelqu’un est intéressé je peux partager les configurations.

à bientôt

Merci pour ton retour @cyrilc :slight_smile:

Cependant, je vois bien l’exception pour « Heating », mais pas pour « Management » (et je ne les vois pas dans tes forks non plus).

Dans mon cas je n’ai pas d’information de A ou PL lors des réponses sur des requêtes « Management », c’est pour ça que j’ai ajouté une allocation de ces variables lorsque le type est « Management » et mon object WEBSERVER fonctionne trés bien depuis (ce qui m’a permis de mettre en place le workaround en monitorant la variable Time, et avec un reboot du process myhomescs quand je n’ai plus les updates).

Je ne sais pas si c’est comme ça aussi pour les autres ? ce qui pourrait expliquer que j’ai dû mettre en place ce bout de code pour résoudre le problème (que tu n’as pas de ton côté ?)

As-tu un exemple de retour de requêtes management pour comparer ?

Merci par avance.

Bonjour,

J’ai effectivement modifié le jeemyhomescs pour les aux mais je n’ai rien fait pour les trames de management.
C’est normal que A et PL soient vide pour ces trames.
J’ai par contre bloqué l’ID pour les trames management dans le fichier myhomeclass ligne 767 $myhomescs = myhomescs::byLogicalId("WEBSERVER", 'myhomescs');

Tant mieux si tu as trouvé une solution pour que cela fonctionne.
C’est bien pratique d’utiliser l’heure pour le workaround même s’il y a d’autre solution :wink:.

Concernant ta question " Par curiosité, pourquoi avoir fait plusieurs if/elseif plutôt qu’un Switch pour le $dimension (comme pour les autres devices) ?"
Je ne sais pas te répondre surement parce que je suis électrotechnicien et que c’est la première fois que je touchais du PHP et du code en général.
J’ai fait les ajouts par analogie…

Excellente journée.

1 « J'aime »

Bonjour,

Je me permets de revenir car même si le workaround avec le test sur la variable TIME fonctionne (toutes les 2 min…), j’aimerais comprendre.
Régulièrement le service semble tomber, j’ai ces logs :

***Fonctionnement OK***
2022-08-25 11:50:08,321 - Thread-1 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZY1ZZ'}
2022-08-25 11:50:08,335 - Thread-2 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZY1ZZ'}
2022-08-25 11:52:02,444 - Thread-3 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZ13YY0Y10Y49Y40Y001ZZ'}
2022-08-25 11:52:21,908 - Thread-4 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZ13YYZ1Y04Y25Y08Y2022ZZ'}
2022-08-25 11:52:21,923 - Thread-5 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZ13YYZ0Y10Y50Y00Y001ZZ'}
2022-08-25 11:54:02,433 - Thread-6 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZ13YY0Y10Y51Y40Y001ZZ'}
2022-08-25 11:54:16,700 - Thread-7 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZ13YY0Y10Y51Y55Y001ZZ'}
2022-08-25 11:54:38,607 - Thread-8 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZ13YY0Y10Y52Y17Y001ZZ'}
2022-08-25 11:54:48,009 - Thread-9 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZ13YY0Y10Y52Y26Y001ZZ'}
2022-08-25 11:55:58,898 - Thread-10 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZ13YY0Y10Y53Y37Y001ZZ'}
2022-08-25 11:57:02,221 - Thread-11 - myhomescs_command:42 - DEBUG - Received data : http://127.0.0.1:80/plugins/myhomescs/core/php/jeemyhomescs.php => {'packettype': '00', 'apikey': 'xxx', 'trame': 'YZ13YY0Y10Y54Y40Y001ZZ'}
***Reception Signal 15 ? --> Arrêt propre malgré tout ***
2022-08-25 11:58:23,110 - MainThread - myhomescsevent:162 - DEBUG - Signal 15 caught, exiting...
2022-08-25 11:58:23,110 - MainThread - myhomescsevent:148 - DEBUG - Shutdown
2022-08-25 11:58:23,110 - MainThread - myhomescsevent:151 - DEBUG - Removing PID Event file /tmp/myhomescs.pid
2022-08-25 11:58:23,110 - MainThread - myhomescsevent:154 - DEBUG - Exit 0
***Redémarrage du script (suite au test de la variable TIME)***
2022-08-25 11:58:23,614 - MainThread - myhomescsevent:448 - DEBUG - Python version: 2.7.16
2022-08-25 11:58:23,614 - MainThread - myhomescsevent:449 - DEBUG - MYHOMESCSEVENT Version: 0.1
2022-08-25 11:58:23,614 - MainThread - myhomescsevent:450 - DEBUG - Date: 2017-02-02 20:33:10 +0200

Merci pour votre aide.
Guillaume

Bonjour,

Quelqu’un a-t-il essayé le plugin en 4.1 ou 4.3 ?

Bien cordialement,

Bonjour @Romdev

Je suis en 4.3 et cela fonctionne trés bien.

Cordialement

1 « J'aime »

Pareil, je n’ai pas eu l’occasion de constater de régression.

Super!
Merci pour vos retours

Bonjour,
J’ai remarqué que dans le plugin myhomscs on ne peut plus lier une action à une info.
Exemple dans un équipement d’éclairage lier les commande on et off à l’info état. Il y a uniquement « aucune » de sélectionnable.
Pourriez vous confirmer ce comportement svp?
Merci.