C’est bon ça fonctionne
En fait je n’ai pas changé de répertoire, mais je suis juste passé de Edge à Chrome et les images changent bien maintenant
Merci à tous pour votre aide
Merci tomitomas,
mais ca ne résoud pas mon soucis.
Pour moi l’instruction « ToLowerCase() » c’est pour mettre en minuscule un texte, dans le nom d’affichage du titre pour le tuto, moi ce qui s’affiche sous Jconnect j’ai l’impression que c’est l’ID de la commande (334).
ton problème n’est pas sur le tolowercase, mais sur les guillemets et le +
qui sont données dans l’instruction et que tu n’as pas mis de ton côté
redis autrement
ce qui est attendu :
"En ce moment, "+ #meteo actuelle description#
VS
ce que tu as fait :
En ce moment, #meteo actuelle description#
Merci, finalement je n’'avais ni compris le tuto ni l’explication supplémentaire
Sorry
Par contre en respectant :
"En ce moment : "+ #meteo actuelle description#
J’ai le même résultat sur Jconnect
Par contre pour tester j’ai changer la commande par exemple
"En ce moment : " + #commande couverture nuageuse#
Et la ca fonctionne bien
il faut que la commande
existe quelque part sur une commande du widget
si ce n’est pas le cas, elle doit forcément être ajoutée dans les « infos supplémentaires » du widget
@tomitomas
Elle y est bien… dans les infos complémentaires.
Je pense que demain je vais recréer ce widget j ai peut être loupé un truc…
Ce matin j’ai dupliquer le widget qui me posait problème, et la surprise la duplication fonctionne bien et l’original non…
Merci @tomitomas pour le temps et les infos
Bonjour,
Je suis en train de parametrer les icones via les blocs codes.
Elles fonctionnes toutes sauf l’icone " Météo du Jour - aujourd’hui - Icone" car je ne l’a trouve pas.
Alors du coup j’ai mis [Météo du Jour - H+1 - Icone] mais fonctionne pas n’ont plus.
Pouvez vous m’aider ?
tu as bien mis une image par defaut (n’importe laquelle) pour la premier fois ?
Oui pourtant, sauf que quand j’execute le scenario, l’image apparement est casser.
On est bien d’accord que dans les commandes meteo france il n’y a pas « aujourdui -icone » ?
Et je viens de m’apercevoir en allant sur les commandes du plugin « meteo france » que je n’est pas l’etat:
Je ne sais pas pourquoi, mais je n’ai rien aussi dans la commande en ce moment ? C’est assez recent, je pense !
A creuser, mais ce n’est en tout cas pas un pb au niveau de JC
Alors je vais attendre.
merci
Il semblerait que la cmd « Météo Actuellement - Description » corresponde a « Météo Actuellement - Icone old »
Et la cmd « Météo du Jour - Aujourdhui - Description » avec « Météo Actuellement - Icone »
sur le plugin « meteofrance »
Je vais surveiller.
Du coup, pour l’icone aujourd’hui, tu peux récupérer directement l’icone dans le JSON de la commande Météo jour 0 - Json. Ca semble être l’icone correspond à la méteo à midi ! pour la journée en cours.
il suffit de remplacer :
// mise à jour de l'image
$icoFilename = cmd::byString($iconCmd)->execCmd().'.png' ;
$icoFilename = str_replace("bis","",$icoFilename);
par
// mise à jour de l'image
$icoFilename = meteofrance::getJsonInfo($iconCmd,'weather12H > icon').'.png';
$icoFilename = str_replace("bis","",$icoFilename);
Norbert
Je viens de faire la manip et ça fonctionne.
Par contre c’est quoi la difference entre Météo jour 0 - Json et ce que j’avais avant ?
les commandes en Json sont plus fiable ?
Car en fait Je suis en train de parametrer des fonds d’écrans sous conditions( c’est genial ) et je constate que les icones sont parfois les memes .
exemple : la cmd « description » que ça soit brume ou trés nuageux, c’est tjr l’icone p3,p3j ou p3n
Bonjour,
Un partage d’un scénario créé pour l’affichage du widget Qualité de l’air largement inspiré de celui pour la Mise à jour des icônes Météo France.
Déclencheur : la commande info AQI du tuto à l’origine du post
Le résultat :
Le code :
Citation
// mise à jour icone qualité de l'air
require_once dirname(__FILE__) . '/../../plugins/JeedomConnect/core/class/JeedomConnectWidget.class.php';
$widgetId=64;
$cmd_aqi ='#[Extérieur][Qualité Air][AQI]#';
$aqi = cmd::byString($cmd_aqi)->execCmd();
$color1 = '#008000';
$color2 = '#d9d300';
$color3 = '#d56a00';
$color4 = '#d56a00';
$color5 = '#aa0000';
$color6 = '#aa0000';
$icone = 'jeedom2-plante_soleil3';
$tab_color = array($color1,$color2,$color3,$color4,$color5,$color6);
$index_aqi = $aqi - 1;
// mise à jour de l'image
//$scenario->setLog($aqi);
//$scenario->setLog($tab_color[$aqi]);
$widgetKey='image';
$widgetValue= array('source' => 'jeedom', 'name' => $icone, 'shadow' => false, 'color' => $tab_color[$index_aqi]);
//$scenario->setLog($widgetValue);
JeedomConnectWidget::updateConfig($widgetId,$widgetKey,$widgetValue);
A vous de modifier les variables nécessaires en fonction de votre config :
$widgetId, $cmd_aqi et les couleurs souhaitées (de mon côté j’ai regroupé certaines couleurs car je n’ai pas besoin d’une granularité aussi précise que proposée)
Désolée pour mon inexpérience, le code n’apparait pas comme les autres posts, les guillemets ont disparu, transformés en <> …
Edit: Merci @ngrataloup j’ai pu faire les modifs du code
Bref, bonne fin d’année, Enjoy !
Nickel ! Ravi que certains apportent leur réalisation/contribution.
Je n’avais jamais essayé de modifier la couleur d’un icône via bloc code
Pour l’affichage des blocs code, il faut utiliser le bouton <\>
Norbert
Bonjour,
Partie dans mon élan, un autre partage, cette fois pour la vigilance :
Modification du scénario d’origine pour afficher les icones de la vigilance en question (la plus haute)
Changement de la couleur de fond du widget sous condition (suivant le niveau de la vigilance la plus haute).
Donc : l’icone est celui de la vigilance, la couleur de fond dépend du niveau de vigilance
Pour arriver à quelque chose comme ça :
Et donc voici le scénario à modifier (les déclencheurs sont toujours les changements de vigilances que vous souhaitez suivre comme initialement)
// Pensez à affecter des couleurs d'arrière plan sous conditions dans le paramétrage du widget SUR L'APPAREIL MOBILE.
// Les couleurs d'arrière plan sont à affecter ainsi :
// #[Extérieur][V. Vigilance Météo][Alerte météo Max]# == 2 --> jaune avec une transparence à 60%
// #[Extérieur][V. Vigilance Météo][Alerte météo Max]# == 3 --> orange avec une transparence à 60%
// #[Extérieur][V. Vigilance Météo][Alerte météo Max]# == 4 --> rouge avec une transparence à 60%
// Si pas de vigilance (niveau max == 1) , affichage du fond de la tuile sans couleur, c'est l'icône qui sera de couleur verte
require_once dirname(__FILE__) . '/../../plugins/JeedomConnect/core/class/JeedomConnectWidget.class.php';
$widgetId=65;
// liste des vigilances souhaitées - cf commande equivalentes coté equipement méteo
//icones des vigilances
$icone_novigilance = 'kiko-check';
$icone_canicule = 'jeedomapp-thermo-chaud';
$icone_inondation = 'jeedom-eau';
$icone_froid = 'jeedomapp-thermo-froid';
$icone_neige = 'nature-snowflake';
$icone_orages = 'meteo-orage';
$icone_pluie = 'meteo-pluie';
$icone_vent = 'jeedomapp-wind';
//Types de vigilances
$vigilances = array(
'Canicule' => $icone_canicule,
'Inondation' =>$icone_inondation,
'Grand-froid'=>$icone_froid,
'Neige-verglas'=>$icone_neige,
'Orages'=>$icone_orages ,
'Pluie-inondation'=>$icone_pluie,
'Vent violent'=>$icone_vent
);
//couleur de l'icone par défaut
$colorDefaut = '#FFFFFF';
//couleur de l'icone si aucune vigilance
$color1 = '#008000'; //vert
// envoie d'une notif JC si niveau d'alerte > $alerteNiveau
// 2 --> Jaune, 3 --> Orange, 4 --> rouge
$alerteNiveau = 3 ;
$cmdNotifAlerte = '#[Extérieur][Téléphone Pro][Silence - Tous]#' ;
$JCPageId = 65 ;
// equipemement méteo (plugin méteofrance)
$baseCmdMeteo = '[Extérieur][Météo France Saint Cyr]';
// commandes infos virtuelles
$cmdAlerteMeteoMax = '#[Extérieur][V. Vigilance Météo][Alerte météo Max]#';
$cmdAlerteMeteo = '#[Extérieur][V. Vigilance Météo][Alerte météo]#';
$cmdAlerteMeteoConditions = '#[Extérieur][V. Vigilance Météo][Alerte météo Conditions]#';
$niveauMax = 0 ;
$nbNiveauVert = 0 ;
$nbNiveauJaune = 0 ;
$nbNiveauOrange = 0 ;
$nbNiveauRouge = 0 ;
$conditionVigilances = '' ;
$nbVigilances = '' ;
$iconeMax = $iconeColor ;
foreach ($vigilances as $vigilance => $icone) {
$cmdNiveauVigilance = '#'.$baseCmdMeteo.'[Vigilance - '.$vigilance.' niveau]#' ;
$cmdConditionVigilance = '#'.$baseCmdMeteo.'[Vigilance - '.$vigilance.' conditions]#' ;
$niveauVigilance = cmd::byString($cmdNiveauVigilance)->execCmd() ;
$conditionVigilance = str_replace(", ","<br>",cmd::byString($cmdConditionVigilance)->execCmd()) ;
switch ($niveauVigilance) {
case 1:
$scenario->setLog($vigilance.' : '.$conditionVigilance) ;
if ( $niveauMax <= $niveauVigilance ) $niveauMax = $niveauVigilance ;
$nbNiveauVert = $nbNiveauVert + 1 ;
if ( $niveauMax == 1 ) {
$conditionVigilances = 'Aucune vigilance en cours' ;
$iconeMax = $icone_novigilance;
$iconeColor = $color1;
}
break;
case 2:
$scenario->setLog($vigilance.' : '.$conditionVigilance) ;
if ( $niveauMax == 1 ) $conditionVigilances = $vigilance.' :<br> '.$conditionVigilance ;
else $conditionVigilances = $conditionVigilances.'<br>'.$vigilance.' -> '.$conditionVigilance ;
$nbNiveauJaune = $nbNiveauJaune + 1 ;
if ( $niveauMax <= $niveauVigilance ) {
$niveauMax = $niveauVigilance ;
$iconeMax = $icone;
$iconeColor = $colorDefaut;
}
break;
case 3:
$scenario->setLog($vigilance.' : '.$conditionVigilance) ;
if ( $niveauMax == 1 ) $conditionVigilances = $vigilance.' :<br> '.$conditionVigilance ;
else $conditionVigilances = $conditionVigilances.'<br>'.$vigilance.' -> '.$conditionVigilance ;
$nbNiveauOrange = $nbNiveauOrange + 1 ;
if ( $niveauMax <= $niveauVigilance ) {
$niveauMax = $niveauVigilance ;
$iconeMax = $icone;
$iconeColor = $colorDefaut;
}
break;
case 4:
$scenario->setLog($vigilance.' : '.$conditionVigilance) ;
if ( $niveauMax == 1 ) $conditionVigilances = $vigilance.' :<br> '.$conditionVigilance ;
else $conditionVigilances = $conditionVigilances.'<br>'.$vigilance.' -> '.$conditionVigilance ;
$nbNiveauRouge = $nbNiveauRouge + 1 ;
if ( $niveauMax <= $niveauVigilance ) {
$niveauMax = $niveauVigilance ;
$iconeMax = $icone;
$iconeColor = $colorDefaut;
}
break;
}
}
if ( $nbNiveauRouge != 0 or $nbNiveauOrange != 0 or $nbNiveauJaune != 0 ) {
// Mise à jour sous-titre widget
$nbVigilances = 'J:'.$nbNiveauJaune.' / O:'.$nbNiveauOrange.' / R:'.$nbNiveauRouge ;
// envoi notif JC
if ( $niveauMax >= $alerteNiveau ) {
$cmd=cmd::byString($cmdNotifAlerte);
$cmd->execCmd($options=array('title'=>'title=Alerte Météo | gotoPageId='.$JCPageId , 'message'=> $conditionVigilances), $cache=0);
}
}
else $nbVigilances = 'Aucune vigilance' ;
cmd::byString($cmdAlerteMeteoMax)->event($niveauMax);
cmd::byString($cmdAlerteMeteo)->event($nbVigilances);
cmd::byString($cmdAlerteMeteoConditions)->event($conditionVigilances);
// mise à jour icone vigilance et couleur
$widgetKey='image';
$widgetValue= array('source' => 'jeedom', 'name' => $iconeMax, 'shadow' => false, 'color' => $iconeColor);
JeedomConnectWidget::updateConfig($widgetId,$widgetKey,$widgetValue);
Et merci à tous pour vos partages qui m’ont fait gagner beaucoup de temps de recherche !
Les deux dernières icones (comme on n’a droit qu’à 5 fichiers par post)
Désolée pour la qualité mais ça donne une idée
Si pas de vigilance, la tuile reste noire, c’est l’icone qui est verte :
Enjoy !