Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Présentation] F$B33

JEEDOM et vous! Venez vous présenter et préseter votre installation domotique JEEDOM
Caelion
Timide
Messages : 36
Inscription : 23 avr. 2017, 17:15

Re: [Présentation] F$B33

Message par Caelion » 04 févr. 2018, 00:35

Bonjour à tous,
J'ai essayé d'implémenter le script de F$B33 pour le changement de fond d'écran. Je suis confronté à un soucis auquel je n'ai pas trouvé de réponse. Après création des dossiers, du script, j'ai un message d'erreur lors de son exécution, sans que je ne trouve de solution après une journée de recherche sur le forum et sur internet, des tests divers.
Le message est le suivant :
Résultat de la commande : PHP Warning: copy(Images/Meteo/jour/Soleil.jpg): failed to open stream: No such file or directory in /var/www/html/core/img/wall_change.php on line 107 26 > Ciel dégagé > 826 > jour > 800 > Soleil > Images/Meteo/jour/Soleil.jpg > XXX.jpg
comme vous pouvez le voir en PJ.
Savez-vous d'où cela peut-il venir ?
Je vous remercie pour votre aide
J'en profite d'ailleurs pour tous vous féliciter pour vos travaux et vos réflexions / créations pour nous aider tous.

Caelion
Pièces jointes
Erreur WallChange.PNG
Erreur WallChange.PNG (63.4 Kio) Consulté 2632 fois

tonnerre33
Timide
Messages : 176
Inscription : 28 déc. 2015, 15:44
Localisation : Bordeaux

Re: [Présentation] F$B33

Message par tonnerre33 » 04 févr. 2018, 12:43

Il ne trouve pas les Images dans le répertoire Images/Meteo/jour/
Vérifie que tu les as rangé au bon endroit

Caelion
Timide
Messages : 36
Inscription : 23 avr. 2017, 17:15

Re: [Présentation] F$B33

Message par Caelion » 04 févr. 2018, 13:27

Merci tonnerre33.
Dans le doute, j'ai supprimé les dossiers importés et les ai recrées mais toujours le même message.
Voici une capture d'écran de l'emplacement.

Est-ce que cela peut provenir du script : j'ai vu que vous renseigniez http://localhost/core.... mais moi si je met ça, cela ne fonctionne pas, du coup, j'ai mis "/var/www/html/core/img/wall_change.php"

Caelion
Pièces jointes
Erreur WallChange2.PNG
Erreur WallChange2.PNG (43.8 Kio) Consulté 2594 fois

tonnerre33
Timide
Messages : 176
Inscription : 28 déc. 2015, 15:44
Localisation : Bordeaux

Re: [Présentation] F$B33

Message par tonnerre33 » 04 févr. 2018, 16:55

Peux tu poster ton wall_change.php modifié en masquant ta clé api ?
Le message est clair, il ne trouve pas le chemin de l'image. Ton fichier wall_change.php est bien exécuté puisque tu as ce message d'erreur.
Dans quel répertoire as tu installé wall_change.php ?

Caelion
Timide
Messages : 36
Inscription : 23 avr. 2017, 17:15

Re: [Présentation] F$B33

Message par Caelion » 04 févr. 2018, 17:32

Merci de prendre du temps pour moi.
Voici les infos demandées :
Le wall_change.php :

Code : Tout sélectionner

<?php
// A compléter : 
//Paramètres JEEDOM
$url_jeedom = "192.168.1.18"; //IP du JEEDOM
$API_jeedom = "XXXXXXXXXXXXXXXXXXXXXX"; // Clef API du JEEDOM
$id_Condition = 1058; //ID de la commande "Numéro condition" du plugin Weather
$id_Lever = 1057;
$id_Coucher = 1054;
$nom_fichier_fond_ecran = "plan/36c0078a1acfdbed5ed92d7a77311beaaa3f8f7bdae6933d96eb8c423ba4c5df16085f6d493d9dcecd54d721b9516747cb20d062628a059cd277746e8e980854.jpg"; //Récupérer le nom du fichier du fond d'écran actuel dans /core/img/plan/
// // On récupère les heures de lever et coucher du soleil
$adresse = "http://".$url_jeedom."/core/api/jeeApi.php?apikey=".$API_jeedom."&type=cmd&id=".$id_Lever;
$lever = file_get_contents($adresse);
$adresse = "http://".$url_jeedom."/core/api/jeeApi.php?apikey=".$API_jeedom."&type=cmd&id=".$id_Coucher;
$coucher = file_get_contents($adresse);
// On compare l'heure actuelle avec $coucher et $lever
$heure = round(date('Hi'));
if (($heure >= $lever) && ($heure <= $coucher)){
	$moment = "jour";
}
elseif (($heure <= $lever) || ($heure >= $coucher)){
	$moment = "nuit";
}
// On récupère les conditions météo via Weather
$adresse = "http://".$url_jeedom."/core/api/jeeApi.php?apikey=".$API_jeedom."&type=cmd&id=".$id_Condition;
$condition = file_get_contents($adresse);
// on compare l'id condition aux valeurs d'openWeather
$numGroup = substr($condition, 0,1);
switch ($numGroup) {
	case '2':
		$valeur_condition = "Orage";
		break;
	case '3':
		$valeur_condition = "Brume";
		break;
	case '5':
		$valeur_condition = "Pluie";
		break;		
	case '6':
		$valeur_condition = "Neige";
		break;
	case '8':
		$valeur_condition = "Nuage";
		break;
	case '3':
		$valeur_condition = "Nuage";
		break;
	default:
		$valeur_condition = "defaut";
		break;
}
//Condiftions particulières
switch ($condition) {
	case '800':
		$valeur_condition = "Soleil";
		break;
	case '905':
		$valeur_condition = "Vent";
		break;
	case '905':
		$valeur_condition = "Vent";
		break;
	case '900':
		$valeur_condition = "Vent";
		break;
	case '902':
		$valeur_condition = "Vent";
		break;
	case '905':
		$valeur_condition = "Vent";
		break;
	case '909':
		$valeur_condition = "Pluie";
		break;
	case '951':
		$valeur_condition = "Soleil";
		break;
	case '951':
		$valeur_condition = "Soleil";
		break;
	case '952':
		$valeur_condition = "Vent";
		break;
	case '953':
		$valeur_condition = "Vent";
		break;
	case '954':
		$valeur_condition = "Vent";
		break;
	case '955':
		$valeur_condition = "Vent";
		break;
	case '956':
		$valeur_condition = "Vent";
		break;
	case '957':
		$valeur_condition = "Vent";
		break;
	case '960':
		$valeur_condition = "Vent";
		break;
	case '961':
		$valeur_condition = "Vent";
		break;
}
$Chemin_source = "Images/Meteo/".$moment."/".$valeur_condition.".jpg";
$Chemin_dest = $nom_fichier_fond_ecran;
copy($Chemin_source,$Chemin_dest);
echo  $heure." > ".$lever." > ".$coucher." > ".$moment." > ".$condition.' > '.$valeur_condition.' > '.$Chemin_source.' > '.$nom_fichier_fond_ecran;
?>
Je t'ai également mis une capture d'écran de l'emplacement du fichier wall_change.php.
Les dossiers Images puis Meteo puis jour et nuit sont au même emplacement.
Pièces jointes
Erreur WallChange3.PNG
Erreur WallChange3.PNG (93.2 Kio) Consulté 2560 fois

Avatar de l’utilisateur
Theduck38
Helper
Messages : 2714
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: [Présentation] F$B33

Message par Theduck38 » 04 févr. 2018, 20:35

Je n'ai pas installé cette fonctionnalité, mais pour moi les images de fond de design sont dans "core/img/plan/xxxxxxxxx.jpg". Je pense que ton chemin d'accès est mal configuré pour la variable $nom_fichier_fond_ecran. Essaye de mettre "core/img/" devant ce que tu as entré.

Edit : j'ai été voir la vidéo et j'ai dit une ânerie.... tu as bien revérifié le nom de l'image dans 'plan' ?
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

Caelion
Timide
Messages : 36
Inscription : 23 avr. 2017, 17:15

Re: [Présentation] F$B33

Message par Caelion » 04 févr. 2018, 21:29

Merci Theduck38,
Oui, je l'ai reprise plusieurs fois en faisant f2 ou edit pour être sûr d'avoir le nom entier... Je sèche complètement sur ce point.

Avatar de l’utilisateur
domoggvad
Actif
Messages : 1880
Inscription : 29 avr. 2015, 16:02
Localisation : Seine-Saint-Denis (Villepinte)

Re: [Présentation] F$B33

Message par domoggvad » 04 févr. 2018, 21:35

Bonsoir
Tu as bien fais attention aux majuscules minuscules des noms et répertoires?
les images sont stockées ici chez moi: \core\img\Images\Meteo\jour

edit: Change ton image de fond avec n'importe quelle autre image, et vérifie bien que le fichier soleil.jpg est bien sous ton répértoire.


Envoyé de mon HUAWEI VNS-L31 en utilisant Tapatalk
3 Odroid C2 (Prod - secours - test) Z83 tests: rfxcom + Z-wave- Clims DAIKIN - espeasy - thekey - Xiaomi - Telinfo - broadlink... widget V3 :viewtopic.php?f=29&t=44183&p=717810#p717810

tonnerre33
Timide
Messages : 176
Inscription : 28 déc. 2015, 15:44
Localisation : Bordeaux

Re: [Présentation] F$B33

Message par tonnerre33 » 04 févr. 2018, 22:37

Re,

dans ton script Jeedom essaye plutot ca :

Code : Tout sélectionner

http://192.168.1.18/core/img/wall_change.php 
et change ton script en HTTP ;)

Caelion
Timide
Messages : 36
Inscription : 23 avr. 2017, 17:15

Re: [Présentation] F$B33

Message par Caelion » 04 févr. 2018, 23:00

Re,
Merci pour vos idées, je reviens donc après mes essais :
- domoggvad : j'ai changé de fonds et mis à jour le script : pas de changement (mis à part le code de référence du fond d'écran)
- tonnerre33 : j'ai essayé mais cela me met "Error on shell exec, return value : 1. Details : Array ( [0] => Could not open input file: http://192.168.1.18/core/img/wall_change.php ) " et je ne peux pas éditer le script en faisant ça.

EDIT : J'avais pas vu la fin de ta phrase tonnerre33.
J'ai donc refait l'essai et changer le type de script : je peux sauvegarder mais j'ai ce nouveau message d'erreur (cf. PJ)

EDIT 2 : J'ai recopié-collé le nom du fichier wall_change.php dans le doute (même si je ne voyais pas de différence visuellement...) et ça fonctionne, eureka !!!!!!!!!!

Merci pour votre aide :) J'ai bien pu avancer ce weekend
Pièces jointes
Erreur WallChange4.PNG
Erreur WallChange4.PNG (47.51 Kio) Consulté 2496 fois
Dernière édition par Caelion le 04 févr. 2018, 23:05, édité 1 fois.

Avatar de l’utilisateur
Theduck38
Helper
Messages : 2714
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: [Présentation] F$B33

Message par Theduck38 » 04 févr. 2018, 23:03

Un problème de droits ?
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

Caelion
Timide
Messages : 36
Inscription : 23 avr. 2017, 17:15

Re: [Présentation] F$B33

Message par Caelion » 04 févr. 2018, 23:06

C'est bon Theduck38, j'ai édité mon message : tout est en ordre maintenant :)
Merci encore

Caelion

tonnerre33
Timide
Messages : 176
Inscription : 28 déc. 2015, 15:44
Localisation : Bordeaux

Re: [Présentation] F$B33

Message par tonnerre33 » 04 févr. 2018, 23:09

Content que ça fonctionne ;)

InKLy
Timide
Messages : 3
Inscription : 04 oct. 2017, 12:17

Re: [Présentation] F$B33

Message par InKLy » 07 févr. 2018, 13:02

Bonjour à tous,

Grand merci à F$B33 pour son taff!

je me suis permis de revoir un peu le WallChange à ma sauce en js, si jamais ça peu servir à qq'un

Explication :

Le js va regarder toute les minutes le fichier wall_change.php qui continu son petit boulot sauf qu'au lieu de réécrire le fond du design, il va juste réécrite l'image fond.jpg (dans le rep Image/Meteo), il retourne ensuite la condition meteo au js qui regarde si c'est la même qu'avant (changement de temps), si oui alors on fait une jolie transition entre les images, si non on touche à rien!

Installation :

Décompresser dans core/img/
Editer le fichier wall_change.php (c'est 95% le boulot de F$B33)
Supprimer le fond dans la configuration de votre design (on en a plus besoin)
Ajouter :

Code : Tout sélectionner

<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
<script type="text/javascript" src="core/img/Images/Meteo/wall_change.js"></script> 
<style>
.div_displayObject
{
	background-image: url('/core/img/Images/Meteo/fond.jpg');
}
</style>
dans votre menu html (en haut)

Optionnel : Supprimer le script de lancement du wall_change.php qui ne sert plus à rien!


EDIT 16h28 - correction de la recharge entre un changement de page (design)

http://dl.free.fr/hLP9n9uUx

gouttedo
Timide
Messages : 22
Inscription : 02 août 2016, 11:10

Re: [Présentation] F$B33

Message par gouttedo » 07 févr. 2018, 19:43

Super,

Je suis en train de le faire mais je bloque a l'étape :
"
Ajouter :

Code : Tout sélectionner

<script src="https://cdn.jsdelivr.net/npm/js-cookie@ ... "></script>
<script type="text/javascript" src="core/img/Images/Meteo/wall_change.js"></script>
<style>
.div_displayObject
{
background-image: url('/core/img/Images/Meteo/fond.jpg');
}
</style>


dans votre menu html (en haut)
"


ça veut dire quoi ? C'est ou ? sur quoi doit-on ajouter ça ?


Merci d'avance pour aide.

InKLy
Timide
Messages : 3
Inscription : 04 oct. 2017, 12:17

Re: [Présentation] F$B33

Message par InKLy » 07 févr. 2018, 20:42

B'soir

C'est à mettre dans le bloc html ou tu as mis le menu

Avatar de l’utilisateur
Tetem
Timide
Messages : 17
Inscription : 18 mars 2017, 11:55
Localisation : Orléans

Re: [Présentation] F$B33

Message par Tetem » 10 févr. 2018, 12:12

Hello hello,

Tout d'abord merci à F$B33 pour le partage de sa réalisation et ses très bonnes idées !

Pour le coup, j'ai repiqué le petit script (partagé en page 4 de ce post) pour le changement de wallpaper mais je l'ai légèrement modifié pour deux raisons :

1*/ Petit problème avec le chemin d'accès du wallpaper d'origine :
Si on suit uniquement les instructions dans le fichier php (et qu'on regarde pas la vidéo comme moi :D), il nous dit de mettre le fichier wall_change.php dans "/core/img/plan/".

Sauf que : la variable "nom_fichier_fond_ecran" (correspondant au fichier d'origine) commence par "plan/", du coup par défaut comme le script est exécuté depuis le répertoire "plan/", la commande Copy ne fait rien car il n'y a pas de sous répertoire "/core/img/plan/plan/".

Bref, j'ai tout simplement supprimé le "plan/" sur la commande : $nom_fichier_fond_ecran = "plan/xxxxxxxxxxxxxxxxx.jpg";
==> C'est tout con, mais c'est pas simple à expliquer facilement ce truc... :lol:

2*/ Le numéro de condition renvoyé par le plugin Weather était inconnu au moment ou j'ai testé
Pas de bol, du coup ==>, wallpaper par défaut :geek:
Je suppose que les n° de condition renvoyés par Weather ont changés/évolués depuis la création du script...
Moi je suis tombé sur un n° qui commençait par 7 qui n'était pas du tout géré par le script.

Du coup, j'ai tout simplement réécrit le bloc qui détermine le nom du fichier en fonction du n° de condition (en passant par des array plutôt que des switch), et du coup j'utilise le n° de condition complet sur 3 caractères (j'ai shooté la variable $numGroup = substr($condition, 0,1);)

Je me suis basé sur cet URL : https://openweathermap.org/weather-conditions pour déterminer les conditions.

Voici mon fichier php :

Code : Tout sélectionner

<!--	
Script a copier dans /core/img/plan/
Dans /core/img/plan/ >> Créer un dossier Images (avec un i Maj)
Dans /core/img/plan/Images >> Copier le dossier Meteo (avec un M Maj) avec les images 
Ne pas modifier le nom des images.
Si vous voulez remplacer une image, attention au nom et l’extension !
Extension : .jpg
Si la condition météo n’est pas référencée ci dessous, le fichier defaut.jpg prendra place en fond d’écran
-->

<?php
// A compléter : 
//Paramètres JEEDOM
$url_jeedom = "192.168.XXX.YYY"; //IP du JEEDOM
$API_jeedom = ""; // Clef API du JEEDOM
$id_Condition = ; //ID de la commande "Numéro condition" du plugin Weather
$id_Lever = ; //ID de la commande "Levée du Soleil" du plugin Weather
$id_Coucher = ; //ID de la commande "Couché du Soleil" du plugin Weather
$nom_fichier_fond_ecran = "nomDuFichier.jpg"; //Récupérer le nom du fichier du fond d'écran actuel dans /core/img/plan/

// // On récupère les heures de lever et coucher du soleil
$adresse = "http://".$url_jeedom."/core/api/jeeApi.php?apikey=".$API_jeedom."&type=cmd&id=".$id_Lever;
$lever = file_get_contents($adresse);

$adresse = "http://".$url_jeedom."/core/api/jeeApi.php?apikey=".$API_jeedom."&type=cmd&id=".$id_Coucher;
$coucher = file_get_contents($adresse);

// On compare l'heure actuelle avec $coucher et $lever

$heure = round(date('Hi'));

if (($heure >= $lever) && ($heure <= $coucher)){
	$moment = "jour";
}
elseif (($heure <= $lever) || ($heure >= $coucher)){
	$moment = "nuit";
}

// On récupère les conditions météo via Weather
$adresse = "http://".$url_jeedom."/core/api/jeeApi.php?apikey=".$API_jeedom."&type=cmd&id=".$id_Condition;
$condition = file_get_contents($adresse);

//source: 
//https://openweathermap.org/weather-conditions
//On compare le n° de condition récupéré du plugin météo avec les valeurs dispo sur le site d'openweathermap
if(in_array($condition, array('900', '901', '902', '903', '905', '906', '952', '953', '954', '955', '956', '957', '958', '959', '961', '962'))){
	$valeur_condition = "Vent";
} 
else if(in_array($condition, array('800', '904', '951'))){
	$valeur_condition = "Soleil";
} 
else if(in_array($condition, array('300', '301', '302', '310', '311', '312', '313', '314', '321', '500', '501', '502', '503', '504', '511', '520', '521', '522', '531'))){
	$valeur_condition = "Pluie";
}
else if(in_array($condition, array('801', '802', '803', '804'))){
	$valeur_condition = "Nuage";
}
else if(in_array($condition, array('600', '601', '602', '611', '612', '615', '616', '620', '622'))){
	$valeur_condition = "Neige";
}
else if(in_array($condition, array('701', '711', '721', '731', '741', '751', '761', '762', '771', '781'))){
	$valeur_condition = "Brume";
}
else if(in_array($condition, array('200', '201', '202', '210', '211', '212', '221', '230', '231', '232', '960'))){
	$valeur_condition = "Orage";
}
else{
	$valeur_condition = "defaut";
}

$Chemin_source = "Images/Meteo/".$moment."/".$valeur_condition.".jpg";
$Chemin_dest = $nom_fichier_fond_ecran;
copy($Chemin_source,$Chemin_dest);

echo  $heure." > ".$lever." > ".$coucher." > ".$moment." > ".$condition.' > '.$valeur_condition.' > '.$Chemin_source.' > '.$nom_fichier_fond_ecran;
?>
PS : C'est en place chez moi depuis hier seulement donc pas encore assez de recul pour voir si les regroupements de n° de condition que j'ai fais sont tous bons mais en tout cas entre la neige et le soleil et le jour/nuit ça marche ! :lol:

Tetem
Dernière édition par Tetem le 11 févr. 2018, 18:28, édité 1 fois.
Tetem
Hardware : HP Proliant, Raspberry(s), Xiaomi, Fibaro, Netatmo, Broadlink, Wanscam, GH Mini...
Software : OMV, Virtual Box, Plex, LMS/piCorePlayer, JPI...

Avatar de l’utilisateur
Theduck38
Helper
Messages : 2714
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: [Présentation] F$B33

Message par Theduck38 » 10 févr. 2018, 23:11

La suite de mon design en cours de travail... commandes volets / lumières. Bon faut que je retravaille la VMC...
Finalement le Widget PowerOnOff me sert partout.
Commandes.JPG
Commandes.JPG (184.72 Kio) Consulté 2271 fois
Au fait, concernant le widget PowerOnOff, il ne faut pas utiliser de nom de commande d'action contenant 'on' ou 'off' avec... ça ne fonctionne pas à cause de la fonction 'normalizeName'... en revanche la commande d'état liée aux commandes d'action peut contenir ces chaines. J'ai mis à jour la doc du widget sur le market.
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

Avatar de l’utilisateur
marmoul
Actif
Messages : 891
Inscription : 01 sept. 2015, 15:50
Localisation : Haute-Saône (70)

Re: [Présentation] F$B33

Message par marmoul » 12 févr. 2018, 11:46

Bonjour à tous,

Je commence avec les design. J’ai remarqué que sur vos screen il n’y a pas la barre de menu jeedom en haut. Moi j’arrive pas à l’enlever définitivement. Pourtant je fait clic droit je met en plein écran je sauvegarde la barre disparaît.
Mais dès que j’en refresh la page sa reviens...
Je dois oublier un truc mais quoi :)

Édit: je suis sous chrome à jour

Sartog
Actif
Messages : 502
Inscription : 27 août 2015, 14:54

Re: [Présentation] F$B33

Message par Sartog » 12 févr. 2018, 14:15

marmoul a écrit :
12 févr. 2018, 11:46
Bonjour à tous,

Je commence avec les design. J’ai remarqué que sur vos screen il n’y a pas la barre de menu jeedom en haut. Moi j’arrive pas à l’enlever définitivement. Pourtant je fait clic droit je met en plein écran je sauvegarde la barre disparaît.
Mais dès que j’en refresh la page sa reviens...
Je dois oublier un truc mais quoi :)

Édit: je suis sous chrome à jour
Dans ton url tu dois ajouter &fullscreen=1 à la fin.
Box : smart, mini+, pi 2 et 3, ipbx800 v4
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)

Répondre

Revenir vers « Présentation et Vitrine d'installations »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités