Freebox_OS::FreeboxPUT() : Unsupported operand types: string - string

Bonjour, je suis utilisateur d’une Freebox Delta, et donc d’une VM Jeedom qui tourne sur cette freebox delta, pour piloter ma domotique.
Suite au passage (Obligé message bloquant les maj si je restais en Debian 10.x) en Debian 11 et en version 4.5.2 de Jeedom, je me retrouve avec ce message lors de l’execution d’une commande de fermeture de volets Velux (IO Home Control) : Freebox_OS::FreeboxPUT() : Unsupported operand types: string - string.
Je ne sais pas comment la résoudre, suis-je le seul dans ce cas ?
Voici la fonction en question :

public static function FreeboxPUT()
{
	$action = cache::byKey("Freebox_OS::actionlist")->getValue();
	if (!is_array($action)) {
		return;
	}
	if (!isset($action[0])) {
		return;
	}
	if ($action[0] == '') {
		return;
	}
	$value_log = ' ';
	if ($action[0]['LogicalIdEqLogic'] == 'management') {
		switch ($action[0]['LogicalId']) {
			case 'host':
			case 'host_type':
			case 'method':
			case 'host_type_info':
				log::add('Freebox_OS', 'debug', '[testNotArray]' . ' ' .  $action[0]['Options']['select']);
				$value_log = ' : ' . $action[0]['Options']['select'] . ' - ';
				break;
			case 'primary_name_info':
				log::add('Freebox_OS', 'debug', '[testNotArray] - MESSAGE' . ' ' . $action[0]['Options']['message']);
				$value_log = ' : ' . $action[0]['Options']['message'] . ' - ';
				break;
			case 'start':
				$value_log = ' ';
			default:
				log::add('Freebox_OS', 'debug', '[testNotArray]' . ' ' . $action[0]['Options']['message']);
				$value_log = ' : ' . $action[0]['Options']['message'] . ' - ';
				break;
		}
	}


	log::add('Freebox_OS', 'debug', ':fg-info:Action pour l\'action : ' . ':/fg:' . $action[0]['Name'] . ' (' . $action[0]['LogicalId'] . ')' . $value_log . 'de l\'équipement : ' . $action[0]['NameEqLogic']);
	Free_Update::UpdateAction($action[0]['LogicalId'], $action[0]['SubType'], $action[0]['Name'], $action[0]['Value'], $action[0]['Config'], $action[0]['EqLogic'], $action[0]['Options'], $action[0]['This']);
	$action = cache::byKey("Freebox_OS::actionlist")->getValue();
	array_shift($action);
	cache::set("Freebox_OS::actionlist", $action);
}

Merci

Bonjour
Il faudrait les logs plutôt que la page du code cela permettrait de trouver l erreur

Merci, je vais regarder pour les partager mais même en debug la ligne d’erreur reste la même sans beaucoup plus d’informations.
Je pense que c’est un problème de conversion de valeur. Je vais faire plus de test et je partagerai le résultat de mes tests en plus des logs.

Oui
Il faut les logs car cela indique bien cette ligne mais l action ne se passe ici. Et sans l id de la commande je ne pourrais trouver le pb

Je tente quand de partager le log mais j’ai peur que celui-ci n’apporte pas grand chose :
******5358|[2026-01-21 11:30:09] DEBUG [Freebox Request Connexion] : GET sur la l’adresse : http://mafreebox.freebox.fr/api/v15/player/ 5359|[2026-01-21 11:30:09] DEBUG Action pour l’action : Consigne Ouverture (3) de l’équipement : Volet Gauthier 5360|[2026-01-21 11:30:09] DEBUG │ Option ETAT Inverser Curseur ACTIVE 5361|[2026-01-21 11:30:09] ERROR Erreur sur Freebox_OS::FreeboxPUT() : Unsupported operand types: string - string

Même la commande dans l’explorateur API : « consigne d’ouverture »


génére la même erreur et le même log toujours aussi pauvre
Sur la consigne tester il est demandé d’entrer une valeur:

Qui renvoie "Opération effectuée avec succés l’erreur : Erreur sur Freebox_OS::FreeboxPUT() : Unsupported operand types: string - string
Je viens de retester son mon ancienne Jeedom Debian (10.13), ça fonctionne sauf que pas la possibilité de passer en 4.5.2 update bloqué.

Bonjour
il faudrait aussi la ligne juste avant DEBUG [Freebox Request Connexion car il y a des paramètres important pour moi pour trouver dans le code
tu peux mettre les logs entre balise pour que se soit plus lisible stp

Exemple de log que je veux

0012|[2026-01-23 11:13:14] DEBUG  Action pour l'action : Lumininosité écran LCD (brightness_action) de l'équipement : Afficheur LCD
0013|[2026-01-23 11:13:14] DEBUG  ───▶︎ Type de requête : PUT
0014|[2026-01-23 11:13:14] DEBUG  [Freebox Request Connexion] : PUT sur la l'adresse : http://mafreebox.freebox.fr/api/v15/lcd/config{"brightness":62}
0015|[2026-01-23 11:13:14] DEBUG  [Freebox Request Result] : {"success":true,"result":{"hide_status_led":true,"hide_wifi_key":true,"brightness":62,"orientation":0,"orientation_forced":true}}
0016|[2026-01-23 11:13:14] DEBUG  ──────────▶︎ Mise à jour : Afficheur LCD  ◀︎───────────
0017|[2026-01-23 11:13:14] DEBUG  [Freebox Request Connexion] : GET sur la l'adresse : http://mafreebox.freebox.fr/api/v15/lcd/config/
0018|[2026-01-23 11:13:14] DEBUG  [Freebox Request Result] : {"success":true,"result":{"hide_status_led":true,"hide_wifi_key":true,"brightness":62,"orientation":0,"orientation_forced":true}}
0019|[2026-01-23 11:13:14] DEBUG  ───▶︎ Etat Lumininosité écran LCD : 62 %
0020|[2026-01-23 11:13:14] DEBUG  ───▶︎ Cacher Clef Wifi : 1
0021|[2026-01-23 11:13:14] DEBUG  ───▶︎ Etat Orientation : Horizontal
0022|[2026-01-23 11:13:14] DEBUG  ───▶︎ Forcer Orientation : 1
0023|[2026-01-23 11:13:14] DEBUG  ───▶︎ Bandeau LED Eteint : 1

De plus, peut-tu mettre dans la commande « Consigne Ouverture » car vu ton message dans les logs

5360|[2026-01-21 11:30:09] DEBUG │ Option ETAT Inverser Curseur ACTIVE 

Cela cherche a faire une opération alors que le champs Max et Min sont vide → Erreur qui n’était surement pas détecté avant. Je vais voir pour ajouter un log supplémentaire pour cette partie

  • Min = 0
  • Max = 100

Bonjour
Merci de me dire si cela résolve le problème

Dans la version beta du plugin, j’ai ajouté plus de log avec un message d’erreur si tu peux la tester

Bonjour, merci pour ton temps
J’ai essayé de mettre un min et un max avant de lancer une Consigne d’ouverture à 50% comme ceci :

Le retour donne ça (en bas à droite de l’écran)

J’avais vidé complement le log avant de relancer la commande par le fonction tester API en envoyant une consigne d’ouverture à 50% et un Min à 0 et un max à 100.

Je te joins le fichier de log complet téléchargé depuis la jeedom qaund même mais je ne pense pas que tu va trouver ton bonheur, ça commence direct par la ligne : [2026-01-25 17:04:09][DEBUG] :fg-info:Action pour l’action : :/fg:Consigne Ouverture (3) de l’équipement.

Freebox_OS.txt (262,1 Ko)

Concernant ce point, je n’ai jamais installé de beta j’ai bien vu sur ta page github la MAJ, je vais me documenter pour l’installer.
Je te tiens au courant

C’est une case à cocher sur le Market pour pouvoir installer les bêtas

Je vais analyser tes logs mais je pense qu’ils m aideront pas. Avec la mise à jour j’ai plus d info
Dans les logs

Je viens d’installer la beta le message d’erreur est different :
J’envoie ça :

Le résultat est celui-là :

Et voici le log ci joint :

Freebox_OS-2.txt (7,8 Ko)

Je viens de pousser une correction a tester,
je fais plus de vérification

Bonsoir,
Voici le résultat

et le message qui suit :

et le log ci joint.

Freebox_OS-3.txt (7,6 Ko)

Merci

Salut
C’est bizarre il ne remonte pas le maxi et le mini dans le code
Y a t il un moyen de prendre la main sur ta box cela me permettra de dépanner plus rapidement car là je ne vois pas comment faire. je n’ai plus de Freebox Delta
Si c’est possible, peut-tu m envoyer en mp pour que je regarde

Merci

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