Récupérer les vacance scolaire

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
atlantis007
Messages : 65
Inscription : 11 janv. 2015, 22:31
Localisation : biarritz (64)

Récupérer les vacance scolaire

Message par atlantis007 »

je voudrai avoir de l aide pour un script qui récupéré les vacances scolaire est qui passe un inter a 1

j ai vue ça avec api domogeek http://api.domogeek.fr/schoolholiday/C/now je ne sais pas comment faire le script

merci pour votre aide :P
hobbe
Messages : 111
Inscription : 15 déc. 2014, 15:33

Re: Récupéré les vacance scolaire

Message par hobbe »

J'utilise l'API Domogeek dans la Vigilance météo.

Je pense que c'est une bonne base pour un interrupteur vacances scolaires. La réponse est encore plus simple à traiter : True/False.
je regarderai ce soir.
atlantis007
Messages : 65
Inscription : 11 janv. 2015, 22:31
Localisation : biarritz (64)

Re: Récupéré les vacance scolaire

Message par atlantis007 »

ok je te remercie :D
hobbe
Messages : 111
Inscription : 15 déc. 2014, 15:33

Re: Récupéré les vacance scolaire

Message par hobbe »

Et voilà un script qui utilise l'API DomoGeek "vacances scolaires" pour mettre à jour 3 interrupteurs "Zone A", "Zone B" et "Zone C".

Le mettre dans domoticz/scripts/lua/script_time_vacances.lua.
Il est réglé pour se déclencher à 0:02 tous les jours.

Code : Tout sélectionner

-- domoticz/scripts/lua/script_time_vacances.lua
-- School Holiday Status Request from Domogeek API
-- http://api.domogeek.fr/static/doc/index.html#api-Domogeek-GetSchoolHoliday
-- Prerequis: 3 switch On/Off: "Zone A", "Zone B", "Zone C"


-- Path to curl
-- Windows: curl = 'C:\\bin\\curl.exe'
curl = "curl"

-- Devices (Switch On/Off on virtual hardware)
switchA = "Zone A"
switchB = "Zone B"
switchC = "Zone C"


-- Function to get result of HTTP request
function os.capture(cmd, raw)
  local f = assert(io.popen(cmd, 'r'))
  local s = assert(f:read('*a'))
  f:close()
  if raw then return s end
  s = string.gsub(s, '^%s+', '')
  s = string.gsub(s, '%s+$', '')
  s = string.gsub(s, '[\n\r]+', ' ')
  return s
end

-- Function to update a switch
function updateZoneSwitch(zone, switch)
  local cmd = curl .. " http://api.domogeek.fr/schoolholiday/" .. zone .. "/now"
  local vac = os.capture(cmd, true)
  print("¤¤¤ School Holiday Status: " .. cmd .. ": " .. vac)

  if (vac == "False") then
    if (otherdevices[switch] == "On") then
      commandArray[switch] = "Off";
    end
  else
    if (otherdevices[switch] == "Off") then
      commandArray[switch] = "On";
    end
  end
end


commandArray = {}
time = os.date("*t")

-- Trigger at 0:02 every day
if (time.min == 2 and time.hour == 0) then

  -- Zone A
  updateZoneSwitch("A", switchA)

  -- Zone B
  updateZoneSwitch("B", switchB)

  -- Zone C
  updateZoneSwitch("C", switchC)
end

return commandArray
atlantis007
Messages : 65
Inscription : 11 janv. 2015, 22:31
Localisation : biarritz (64)

Re: Récupéré les vacance scolaire

Message par atlantis007 »

le script marche super bien rien a dire t es un as :lol:
atlantis007
Messages : 65
Inscription : 11 janv. 2015, 22:31
Localisation : biarritz (64)

Re: Récupéré les vacance scolaire

Message par atlantis007 »

j ai un souci avec le script il ne me récupère pas info vacance tous les jour juste le jour ou on le met en place
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Récupérer les vacances scolaires

Message par patrice »

Bonjour
En effet mais si tu demandes une date precise dedans il te renvoie si c'est vacance ou pas
curl http://api.domogeek.fr/holidayall/B/25-02-2014
Te renvoie vrai ou faux si le 25/02 est vacances

ou
curl http://api.domogeek.fr/holiday/25-12-2014


Sinon toute la doc est la
http://api.domogeek.fr/static/doc/
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
hobbe
Messages : 111
Inscription : 15 déc. 2014, 15:33

Re: Récupéré les vacance scolaire

Message par hobbe »

atlantis007 a écrit :j ai un souci avec le script il ne me récupère pas info vacance tous les jour juste le jour ou on le met en place
Normalement, tous les jours à 0:02, il fait l'appel à l'API: http://api.domogeek.fr/schoolholiday/A/now
Et il met à jour l'interrupteur "Zone A".
Puis zone B et zone C.

Vérifie dans les logs de Domoticz.

Code : Tout sélectionner

2015-02-05 00:02:00 LUA: ¤¤¤ School Holiday Status: C:\bin\curl.exe http://api.domogeek.fr/schoolholiday/A/now: False
2015-02-05 00:02:00 LUA: ¤¤¤ School Holiday Status: C:\bin\curl.exe http://api.domogeek.fr/schoolholiday/B/now: False
2015-02-05 00:02:01 LUA: ¤¤¤ School Holiday Status: C:\bin\curl.exe http://api.domogeek.fr/schoolholiday/C/now: False
hobbe
Messages : 111
Inscription : 15 déc. 2014, 15:33

Re: Récupéré les vacance scolaire

Message par hobbe »

Et puis on verra samedi matin pour la zone A ;)
atlantis007
Messages : 65
Inscription : 11 janv. 2015, 22:31
Localisation : biarritz (64)

Re: Récupéré les vacance scolaire

Message par atlantis007 »

moi ca marche pas il voie pas la zone a en vacance
quand on met le script il marche une seul foix
Dernière modification par atlantis007 le 10 févr. 2015, 11:02, modifié 2 fois.
Répondre