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
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 :

Le script se lance bien à la détection du PIR

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.
