Arborescence et nom de fichiers des images sous condition

Ce fil fait suite à celui-ci pour lequel j’ai reçu une grande aide de @tomitomas

Jeedom Core : 4.4.6 (V4-stable)
DNS Jeedom : oui

Statut Démon : Stoppé (NA)
Version JC : 1.8.0.2 stable

Equipements :
  Ma Luna : v1.8.0 stable sur android [os : 31] (polling) - PA

[/quote]

Le problème semblant de nature différente, j’ai préféré ouvrir un autre fil. En suivant donc les instructions de @tomitomas , j’ai effectivement pu associer en batch de nombreuses icones conditionnelles à un widget. Sur mon interface PC, cela fonctionne et l’on voit bien les icones associés

Le problème est que ces icones ne sont pas « poussées » sur mon portable. Quand j’en avais moins, cela semblait fonctionner. On dirait un problème de cache mais j’ai beau secouer tous les caches que j’ai trouvés, le problème perdure.

En fait, c’est un peu étonnant : sur le téléphone, le système me propose de choisir l’une des deux icones portant le même nom comme si l’information de chemin "name"=> "weather\/day\/113.png", n’était pas retenue (J’ai simplifié l’arborescence entre-temps mais ça ne change pas le problème)




Je peux alors choisir la bonne icone mais mon objectif était précisément de ne pas faire cela à la main…

Quelqu’un a texte en grasune idée ?

Il faut peut etre ne pas mettre les \ dans le code du script !?
Jai plus le pc sous la main

Oui, peut-être. Quand je regarde sur l’interface PC l’adresse de la première icone sous condition de l’image ci-dessous:

C’est https://95db7fbd.eu.jeedom.link/plugins/JeedomConnect/data/img/user_files/weather//day//113.png On voit effectivement apparaître des // qui n’ont pas lieu d’être . Il faut sans doute remplace les backslash-slash du script par de simple slashes.

Mais je ne suis pas le roi du php et je croyais que le \ était un modificateur qui permettait à php d’interpréter correctement le / . Et puis ça sembler marcher avant.

Maintenant, comme tout est entre guillemets… J’ai un peu peur du résultat quand même…

La nuit porte conseille avant d’essayer ? j’hésite.

Si ca ne fonctionne pas tu risques quoi !?
De devoir relancer un script pour remettre les backslash qui prend 4 sec !? Aie aie aie dur dur … :wink:

1 « J'aime »

Allez je tente… que je tente ou pas, ça va me tourner dans la tête toute la nuit…

Bon … je verrai demain. J’ai modifié le script en enlevant les backslash et je l’ai relancé. C’est comme si j’avais pissé dans un verre d’eau. En particulier les backslash apparaissent toujours dans l’adresse des icones (et surtout ça ne change rien sur mon téléphone: le problème perdure).

Je suspecte un problème de cache mais avec tous ces caches qui s’empétardent, on ne sait jamais où est la faille (je pense que la faille, en fait, c’est moi).

Bonne nuit

Bon… ultime tentative… qui marche:

Je me suis déconnecté et reconnecté de Jeedom puis j’ai vidé le cache de l’application mobile et tout est rentré dans l’ordre.
Il fallait bien supprimer les backslashes inutiles (et même néfastes).

Comme disait Churchill, « le succès c’est d’aller d’échec en échec sans perdre son enthousiasme ».

Merci

Bonjour,

Bon, la version « simple » marchait. Et puis - bien sûr - j’ai voulu complexifier la chose avec des conditions du type


[
                        "index"=> 0,
                        "image"=> [
                            "source"=> "user",
                            "name"=> "weather/day/113.png",
                            "shadow"=> false
                        ],
                        "condition"=> " #time# >=#176# && #time# <=#175# && #180#==1000"
                    ],
[
                        "index"=> 47,
                        "image"=> [
                            "source"=> "user",
                            "name"=> "weather/night/113.png",
                            "shadow"=> false
                        ],
                        "condition"=> " (#time# < #176# || #time# > #175#) && #180#==1000"
                    ],

Le script fonctionne bien. Pas d’erreur de log. Les images sous condition sont bien toutes liées à leurs conditions respectives comme il le faut et les testeur d’expression valide mes conditions.

MAIS …

L’icone qui est censée être affichée selon la condition VRAI ne l’est pas

Aurais-je poussé le bouchon trop loin ?

peut etre un peu …
il ne faut pas oublier que je t’ai donné le script pour aller plus rapidement sur tes 40 tests, mais ca ne veut pas dire qu’on peut y intégrer tout ce qu’on veut.

tu ne peux pas faire + que ce que l’ihm te permet de faire, en l’occurrence #time# n’existe pas sur l’ihm …
#time# à remplacer par moment().format('HHmm') ici

Et effectivement, tout rentre dans l’ordre.

Mille merci !!! :hugs: :hugs:

Ceci dit, c’est vraiment terrifiant et alimente les critiques de jeedom qu’on peut trouver sur ce forum. Impossible pour un non spécialiste de savoir à priori pourquoi (ce que je crois être) la variable globale #time# n’est pas disponible ici (sans doute pas plus que d’autre comme #hostname# ou #end_restore#.

Il me semble que le développement du système manque de cohérence. En dépit des possibilités fantastiques de Jeedom, une refonte générale serait sans doute utile.

Merci encore.

c’est bien le problème …
je pense que tu as de mauvaise(s) croyance(s) et que tu te trompes depuis le début … le soucis est donc surement bien là …

tu as Jeedom et puis tu as les plugins (dont JC fait parti)
les 2nd ont besoin du 1er pour fonctionner, ce qui est (un peu) moins vrai dans l’autre sens …
→ ce sont donc 2 choses différentes

chaque développeur de plugin est libre de choisir ce qu’il souhaite faire ou pas sur son plugin

#time# est un élément défini et disponible dans jeedom
mais il ne l’est pas dans le plugin JeedomConnect : choix, oubli, volonté, … peu importe, il n’est pas dispo.

ca me fait doucement sourire de lire ca …

Je vois bcp de critiques dans tes posts depuis hier … tu sembles tout fraichement arriver (à minima sur JC) et tu es loin de savoir jusqu’où on peut aller (cohérence ou non) avec ces outils (dont JC) …

Les encouragements sont souvent plus appréciés & constructifs que les critiques à répétitions, certains utilisateurs en ont déjà fait les frais … je dis ça je dis rien :wink:


Note : le post « solution » que tu as sélectionné n’est pas le bon …
ta problématique initiale était un problème d’image => la solution doit répondre à ce problème → mon 1er post, et non pas le dernier.

1 « J'aime »

Oui, c’est vrai: je critique trop. Des critiques à la hauteur de mes souffrances néanmoins. Et je ne suis manifestement pas le seul.

J’ai changé la solution.

Merci encore.

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