Sécurité enfant et cmd binaire

Bonjour,

J’ai un four connecter Bosch que j’ai pu intégrer au plug-in.
J’ai un souci sur le pilotage à distance du vérouillage de la porte.
L’info et la commande sécurité enfant est bien créée.
Lorsque la porte est verrouillée, un click sur le bouton « Sécurité enfant » dévérouille bien la porte et le statut se met à jour en passant de true à false. Parfait.

Par contre lorsque je reclique sur le bouton « Sécurité enfant » la porte ne se verrouille pas. Cela fonctionne pourtant avec l’appli Bosh.

En regardant un peu les logs, je voie que l’état de « Info Sécurité enfant » soit true comme false, un click sur le bouton « Sécurité enfant » envoie toujours le même payload :

[2022-04-13 23:11:02][DEBUG] : Paramètres de la requête pour exécuter la commande :
[2022-04-13 23:11:02][DEBUG] : Method : PUT
[2022-04-13 23:11:02][DEBUG] : Url : /api/homeappliances/BOSCH-HBG676EB6-xxxxxxxxxxxx/settings/BSH.Common.Setting.ChildLock
[2022-04-13 23:11:02][DEBUG] : Payload : {"data":{"key":"BSH.Common.Setting.ChildLock","value":false}}

Quand BSH.Common.Setting.ChildLock = true
Payload : {"data":{"key":"BSH.Common.Setting.ChildLock","value":false}}
et effectivement cela déverrouille.

Quand BSH.Common.Setting.ChildLock = false
Payload : {"data":{"key":"BSH.Common.Setting.ChildLock","value":false}}
j’aurais bien vu un "value":true pour que cela marche.

Avez vous le même comportement ?

en complement si cela peut aider à m’aider :slight_smile: :

Bonjour,
Normalement ce cas est pris en compte par le code :

					if (is_bool($this->getConfiguration('value'))) {
						if ($this->getValue() != '') {
							$cmdValue = cmd::byId($this->getValue());
							if (is_object($cmdValue)) {
								$parameters['data']['value'] = !$cmdValue->execCmd();
							}
						} else {
							$parameters['data']['value'] = $this->getConfiguration('value');
						}
					} else {
						$parameters['data']['value'] = str_replace(array_keys($replace),$replace,$this->getConfiguration('value', ''));
					}

Donc il faudrait voir ce qui fait que pour ta commande action çà ne marche pas :
Regarde si ta commande info binary Sécurité enfants GET::BSH.Common.Setting.ChildLock existe bien et si elle prend bien les 2 valeurs false et true suivant que tu active ou non la sécurité enfants
Ensuite regarde si la commande action other est bien associée à la précédente :


Et si dans sa configuration tu as bien

{"path":"settings\/BSH.Common.Setting.ChildLock","key":"BSH.Common.Setting.ChildLock","category":"Setting","value":true}

De mon côté je vais tester pour voir si çà marche chez moi mais pas demain c’est trop chargé

Bonjour,

Lorsque je désactive sur le four la sécurité enfant j’ai dans les log :

[2022-04-14 22:03:20][DEBUG] : Mise à jour setting : GET::BSH.Common.Setting.ChildLock - Valeur :false

Et quand je l’active sur le four la sécurité enfant j’ai dans les log :

022-04-14 22:03:53][DEBUG] : Mise à jour setting : GET::BSH.Common.Setting.ChildLock - Valeur :true

Donc c’est bon à ce niveau. Le widget affiche aussi le bon état.

Ensuite j’ai la config suivante sur la commande :

Capture d’écran 2022-04-14 à 21.59.51

Capture d’écran 2022-04-14 à 22.00.10

parcontre pour l’action dans information j’ai un truc avec des choses en plus :

{"path":"settings\/BSH.Common.Setting.ChildLock","key":"BSH.Common.Setting.ChildLock","category":"Setting","minValue":"","maxValue":"","timeline::enable":"0","timeline::folder":"","interact::auto::disable":"0","actionConfirm":"0","actionCodeAccess":"","actionCheckCmd":[],"jeedomPreExecCmd":[],"jeedomPostExecCmd":[],"value":true}

Jeedom : 4,2,14
HomeConnect : version beta du 2022-04-09 09:21:51

Le dernier point m’a turlupiné et le fait que info sécurité enfants soit du type string au lieu de binary comme le laisse entendre ton bout de code fait que j’ai supprimé l’info et l’action.
J’ai ensuite relancé un synchro forcée pour les recréer et effectivement c’est un peu différent maintenant :
Capture d’écran 2022-04-14 à 22.42.17

{"path":"settings\/BSH.Common.Setting.ChildLock","key":"BSH.Common.Setting.ChildLock","category":"Setting","value":true,"minValue":"","maxValue":""}

et du coup la commande fonctionne :slight_smile:

une commande peut-être mal créée à l’origine pas une vielle version du plug in ou une fausse manip de ma part…peu import au final.

Je te remercie pour ton intervention et surtout pour le partage de ce superbe plugin. :+1:

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