[Tuto] Google Agenda et Domoticz Version 2

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
JC38
Messages : 286
Inscription : 29 déc. 2014, 20:47
Localisation : Lyon

Re: Google Agenda et Domoticz Version 2

Message par JC38 »

Petite question pour les linuxiens avertis.
J'ai mis mon /var/tmp en tmpfs, ainsi quand le Rpi reboot, le fichier googlecal.txt n'est plus présent. Le script cal_action.py qui tourne toutes les minutes renvoie donc une erreur.
Il faudrait donc que le script getgooglecal.py qui génére le googlecal.txt soit lancé automatiquement une fois avant le démarrage de Domoticz.
Comment configure t'on cela svp ?
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
ben33880
Messages : 268
Inscription : 13 nov. 2014, 21:12

Re: Google Agenda et Domoticz Version 2

Message par ben33880 »

Averti ou pas .....
Dans le fichier /etc/rc.local tu rajoutes /chemin/vers/ton/sh/script.sh
bien finir par un exit 0 si il n'y est pas.
ben33880
Messages : 268
Inscription : 13 nov. 2014, 21:12

Re: Google Agenda et Domoticz Version 2

Message par ben33880 »

Une petite question en passant, comment as tu fais pour que ton script tourne toutes les minutes ?
JC38
Messages : 286
Inscription : 29 déc. 2014, 20:47
Localisation : Lyon

Re: Google Agenda et Domoticz Version 2

Message par JC38 »

Petite réponse en passant.

crontab pi@domoticzpi ~ $ crontab -l

# Pour la récup du calendrier, toutes les 2h passées de 5. Moins, on tombe dans les restrictions de l'api de Google :
5 */2 * * * sudo /home/pi/domoticz/scripts/getgooglecal.py

#Pour l'execution de la tache s'il y en a une
*/1 * * * * sudo /home/pi/domoticz/scripts/cal_action.py
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
JC38
Messages : 286
Inscription : 29 déc. 2014, 20:47
Localisation : Lyon

Re: Google Agenda et Domoticz Version 2

Message par JC38 »

ben33880 a écrit :Averti ou pas .....
Dans le fichier /etc/rc.local tu rajoutes /chemin/vers/ton/sh/script.sh
bien finir par un exit 0 si il n'y est pas.
Mon rc.local :

Code : Tout sélectionner

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi
sudo /home/pi/mailIP & 
exit 0
C'est comme cela qu'il devrait se terminer ?

Code : Tout sélectionner

sudo /home/pi/mailIP & 
sudo /home/pi/domoticz/scripts/getgooglecal.py 
exit 0
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
ben33880
Messages : 268
Inscription : 13 nov. 2014, 21:12

Re: Google Agenda et Domoticz Version 2

Message par ben33880 »

Oui ça devrait le faire.

Par contre il me semblait que cron ne savait pas lancer des tâches toutes les minutes.
En fait non.....
JC38
Messages : 286
Inscription : 29 déc. 2014, 20:47
Localisation : Lyon

Re: Google Agenda et Domoticz Version 2

Message par JC38 »

Pour le rc.local, c'est ok.

Pour le cron, le script cal_action.py doit absolument tourner toutes les minutes, c'est son principe de fonctionnement, sinon avant l'heure, c'est pas l'heure, et après l'heure, c'est plus l'heure. :oops:
Dans ma première idée, je pensais qu'il lisait le calendrier récupéré et qu'il créait une tache pour chaque évènement futur. En fait, il le lit toutes les minutes et exécutes celles qui sont ok à l'instant t.
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
yanou
Messages : 1
Inscription : 06 mars 2015, 15:12

Re: Google Agenda et Domoticz Version 2

Message par yanou »

J'ai suivi ton tuto mais je n'arrive pas a actionner un interupteur.
Dans mon fichier syslog j'obtiens a chaque demande sur cal_action:

Code : Tout sélectionner

Mar  6 15:09:01 seed /USR/SBIN/CRON[3582]: (root) CMD (/home/pi/domoticz/scripts/cal_action.py)
Mar  6 15:09:01 seed /USR/SBIN/CRON[3581]: (CRON) info (No MTA installed, discarding output)
Une idée
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Google Agenda et Domoticz Version 2

Message par patrice »

Bonjour
Oui j'ai une idée
C'est crontab qui te renvoie cette erreur car tu n'a pas de serveur mail pour qu'il t'envoie les messages par mail.
Mar 6 15:09:01 seed /USR/SBIN/CRON[3582]: (root) CMD (/home/pi/domoticz/scripts/cal_action.py)
Mar 6 15:09:01 seed /USR/SBIN/CRON[3581]: (CRON) info (No MTA installed, discarding output)
la premiere ligne dit que cron a declenché le script
et la seconde dit que il n'y a pas de MTA (Mail Transport Agent) pour t'envoyer le resultat

Faisons abstraction de cela, et que ce passe t'il si tu lances depuis la consolle ssh ./cal_action.py
A mon avis rien de notable
A suivre
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
deennoo
Messages : 4036
Inscription : 25 janv. 2015, 02:00

Re: Google Agenda et Domoticz Version 2

Message par deennoo »

Merci pour ces tutos, tres insctructifs,

Pour ceux qui cherche une solution afin de gerer un chauffage a distance dans une maison de campagne (mon cas) je viens de mettre en place ceci :

https://www.domoticz.com/forum/viewtopi ... =38&t=8333

Plus lourd, moins facile (2h pour le mettre en place), mais cela gere la fin du rendez vous tout seul.

En gros cette demarche, allume et eteind un seul dummy switch en fonction de la plage horaire / jour, grace a un script LUA supplémentaire qui "regarde" le changement de dummy switch vous pouvez piloté un vrai inter en on et off (dans mon cas 5 zk1pa, pour mettre un fils pilote de hors gel a confort).

exemple de script :

Code : Tout sélectionner

commandArray = {}

--- test calendrier --- script_device_cal.lua
	
	
if devicechanged['GCal "lenom de votre calendrier"'] == 'On' then
 commandArray['Chauffage'] = 'On'	 
end

if devicechanged['GCal "lenom de votre calendrier"'] == 'Off' then
 commandArray['Chauffage'] = 'Off'
end

return commandArray
L'avantage c'est qu'il suffit de cree un rdv sans lui mettre de commande json (tres tres user friendly pour les divers occupants qui n'y comprennent rien)
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
Répondre