Page 1 sur 2

[RESOLU]Todo List et TTS

Publié : 14 oct. 2016, 21:29
par gawel3164
Salut,
Et si domoticz nous servait de secrétaire et nous rappelle pendant le petit déjeuner les rdv importants de la journée? Je me posais la question ( et j'ai essayé de voir si ça existait...) si on pouvait faire lire par synthèse vocale une todo list qu'on aurait au préalable rentrée dans Google agenda. Quelqu'un a une idée ou a déjà vu quelque chose du genre déjà développé sur domoticz??
Merci

Re: Todo List et TTS

Publié : 14 oct. 2016, 21:52
par gawel3164
avec paw server peut être??

Re: Todo List et TTS

Publié : 14 oct. 2016, 23:45
par deennoo
as tu lu ceci : https://www.domoticz.com/forum/viewtopic.php?t=10923 ?

Le good morning script de jml

Re: Todo List et TTS

Publié : 15 oct. 2016, 06:32
par gawel3164
Ça m'avait effectivement échappé. Merci, c'est une base très intéressante!!

[RESOLU] Todo List et TTS

Publié : 16 oct. 2016, 11:08
par gawel3164
Salut,
J'essaie dans un premier temps de mettre en place, tel quel, le script de Jml. L'installation s'est bien déroulée mis a part ce message qui m'inquiète :
Image
Le script se lance bien à la détection du PIR
Image
mais aucun son ne sort.
Pourtant quand dans putty je tape mpg123 /home/pi/01.mp3, la piste mp3 est lue, et j'arrive aussi à utiliser la synthèse vocale de paw server
Quelqu'un aurait un tuyau svp pour trouver le problème?
Merci

PS: j'ai mis la ligne 8 en commentaire pour pouvoir tester plusieurs fois par jour

Code : Tout sélectionner

indexCommand=1
commandArray = {}

local timeNow= os.date("*t")

if devicechanged['PIR Entree'] == 'On' and --Motion sensor Living Room     ManualLaunchScript
   timeNow.hour >6   
   --and string.sub(uservariables_lastupdate['goodMorning'], 9, 10) ~= os.date("%d") -- Only one time per day
then
   local sentence="Bonjour, nous sommes aujourd'hui le "..tonumber(os.date("%d"))  -- Good morning, today we are the ..
   
-- #############  TEMPERATURE & WEATHER FORECAST  #################   
   sentence=sentence..". La température extérieure est de "..otherdevices_svalues['Temp. Terrasse'].." degré." -- outdoor temperature 

   json = (loadfile "/home/pi/domoticz/scripts/lua/json.lua")() --mettre le script json.lua dans le chemin indiqué
   local city = "Paris"
   local wuAPIkey = "mon code API weatherunderground" -- Your Weather Underground API Key
   local file=assert(io.popen('curl http://api.wunderground.com/api/'..wuAPIkey..'/forecast/lang:FR/q/France/'..city..'.json'))   
   local raw = file:read('*all')
   file:close()   
   local jsonForecast = json:decode(raw)   
   prevision=jsonForecast.forecast.txt_forecast.forecastday[1].fcttext_metric  -- complete prevision
   --prevision=jsonForecast.forecast.simpleforecast.forecastday[1].conditions  -- small forecast 

   if tonumber(string.sub(otherdevices_svalues['Vigilance'], 1, 1))==3 then -- Only for FRANCE. Weather Vigilance  http://domogeek.entropialux.com/static/doc/index.html#api-Domogeek-GetVigilance
      sentence=sentence.."La météo est en vigilance orange :".. string.sub(otherdevices_svalues['Vigilance'], 11) 
   elseif tonumber(string.sub(otherdevices_svalues['Vigilance'], 1, 1))==4 then 
      sentence=sentence.."La météo est en vigilance rouge :".. string.sub(otherdevices_svalues['Vigilance'], 11)  
   end
   sentence=sentence.."Le temps de la journée sera "..prevision

-- #############  TRASH DAY #################
   month=tonumber(os.date("%m"))
   day=tonumber(os.date("%d"))

-- TRash day : Mardi vegetaux & ordure / jeudi recyclage &  encombrant (pair) ou  verre (impair) / samedi ordure

   numOfWeek=tonumber(os.date("%V"))
   numOfDay=os.date("%w")

   if (numOfDay == '4')  then -- thursday

   if (numOfWeek % 2 ==0)  then
      sentence=sentence.."Les encombrants et la poubelle jaune sont rammassés ce matin."  --pair
   else 
      sentence=sentence.."Le verre et la poubelle jaune sont rammassés ce matin."  --impair
   end

   elseif (numOfDay == '2')  then -- Tuesday
   if    (month==3 and day>=15) or -- Vegetables trash between the 15 March and the 15 december
      (month==12 and day<=15) or 
      (month>3 and month<12)
   then   
      sentence=sentence.."Les vegetaux et "
   end
   sentence=sentence.."les poubelles sont ramassées ce matin."
   elseif (numOfDay == '6')  then -- Saturday
      sentence=sentence.."les poubelles sont ramassées ce matin."
   end

    --print("talk:"..sentence)

   os.execute ("/usr/bin/tts "..sentence.." &")   
   
   commandArray[indexCommand]={['Variable:goodMorning']="On"}  -- something to update "lastupdate"
   indexCommand=indexCommand+1
   
end
return commandArray

Re: Todo List et TTS

Publié : 16 oct. 2016, 11:42
par deennoo
La lecture de l'installe de voicecommad semble demander un fichier de configuration

Re: [RESOLU]Todo List et TTS

Publié : 15 déc. 2016, 11:34
par ziaziung
Bonjour. dans le code on dit :


" json = (loadfile "/home/pi/domoticz/scripts/lua/json.lua")() --mettre le script json.lua dans le chemin indiqué"


de quel script json.lua parle t'on?

Je ne l'ai pas à l'endroit indiqué ni ailleurs dans le dossier domoticz. J'ai telecharger un fichier sur internet ( https://github.com/domoticz/domoticz/tr ... cripts/lua ) mais lorsque je tente de lancer le script j'obtiens :
EventSystem: /home/pi/domoticz/scripts/lua/script_time_presence.lua:35: attempt to call a nil value


Ai-je télécharger le bon json.lua ?
Comment faire?

Re: [RESOLU]Todo List et TTS

Publié : 15 déc. 2016, 16:09
par vil1driver
Salut,

dans le message d'erreur, le 35 est la ligne où se trouve l'erreur, regarde de quoi il s'agit...

et oui c'est le bon fichier. ce n'est pas juste 'un fichier sur internet..' mais le fichier fourni de base avec domoticz (si tu es à jour) et qui provient directement des sources de domoticz..
et qui est la copie exacte du fichier du blog regex (l'auteur)

tu as bien conservé son nom en majuscule ?
tu es bien sur un système linux ?

Re: [RESOLU]Todo List et TTS

Publié : 15 déc. 2016, 19:00
par vil1driver
Au fait, pour le lien JSON.lua..

Pas de quoi ;)

viewtopic.php?f=10&t=3012

Re: [RESOLU]Todo List et TTS

Publié : 15 déc. 2016, 20:16
par ziaziung
Un grand MERCI Vil1driver. ;)