Domotique-Home Posté(e) le 24 février 2014 Signaler Posté(e) le 24 février 2014 Bonjour, Création d'un périphérique virtuel qui prononce à la demande la situation d’ambiance de la maison. au préalable il faut installer la synthèse vocale sur votre serveur PAW, pour cela suivez le tuto de @i-magin ici Puis créez un autre périphérique virtuel et nommez le par exemple Lecture_T_et_H Insérer le code suivant: --[[ %% properties %% globals --]] -- SETTINGS -- permet d'avoir une sortie vers la fenêtre 'debug' du HC2 et d’historiser les messages. local debug = true; -- le temps d'attente chaque lecture. local repeatTime = (4*1000); -- 4 secondes -- volume sonore du smartphone fibaro:setGlobal("vol", "12") -- la liste des nÅ“uds à lire local nodesT = {5,10,25,84}; --Température local nodesH = {56,57,58}; --Humidité --boucle de lecture valeur températures for i = 1, #nodesT do --recuperation de l'id id = nodesT[i]; --recuperation du nom local name = fibaro:getName(id); --integration des données dans la variable temperature local temperature = tonumber(fibaro:getValue(id, "value")); temperature = "Température "..name .." " ..temperature .." degré celsius" --affichage des données dans la console debug fibaro:debug(temperature); -- message vocal à envoyer au smartphone fibaro:setGlobal("speech", temperature) -- activation du périphérique virtuel et bouton ad hoc fibaro:call(87, "pressButton", "1"); --attente fibaro:sleep(repeatTime); end --boucle de lecture valeur humidité for i = 1, #nodesH do --recuperation de l'id id = nodesH[i]; --recuperation du nom local name = fibaro:getName(id); --integration des données dans la variable humidite local humidite = tonumber(fibaro:getValue(id, "value")); humidite = "Humidité "..name .." " ..humidite .." pourcent" --affichage des données dans la console debug fibaro:debug(humidite); -- message vocal à envoyer au smartphone fibaro:setGlobal("speech", humidite) -- activation du périphérique virtuel et bouton ad hoc fibaro:call(87, "pressButton", "1"); --attente fibaro:sleep(repeatTime); end J'ai commenté le code pour chaque ligne pour une meilleur compréhension mais si vous avez des question n’hésitez pas Vous pouvez paramétrer le deuxième périphérique virtuel pour un déclenchement via télécommande ou a une heure précise. Vouz pouvez egalement modifier le code pour recevoir un email. A vous de choisir
Domotique-Home Posté(e) le 24 février 2014 Auteur Signaler Posté(e) le 24 février 2014 Chez moi les modules de température sont nommés de la façon suivante: T_nom_de_la_pièce par exemple T_cuisine pour que leurs nom soit prononcé correctement je retravails la variable suivante: --récupération du nom local name = fibaro:getName(id); --élimination de 2 premier caractère du nom 'T_' name = string.sub (name, 3); en plus par fénéantisme ou par la rapidité je nom tout les modules de ma salle de bain par SDB par exemple T_SDB la pour récupérer le nom correcte j'ajoute le code suivant: --récupération de l'id id = nodesT[i]; --récupération du nom local name = fibaro:getName(id); --élimination de 2 premier caractère du nom 'T_' name = string.sub (name, 3); --si nom = SDB alors on remplace par salle de bain if name == "SDB" then name = "Salle de Bain"; end
Domotique-Home Posté(e) le 12 mars 2014 Auteur Signaler Posté(e) le 12 mars 2014 Bonjour, Avec quelques lignes de plus on peut lire aussi la météo extérieur a ajouter au code précédant. --Condition extérieur -- 3 est ID du module qui nous indique les conditions climatiques au haut a droite de la page d’accueil HC2 local tmp = fibaro:getValue(3, "Temperature"); tmp = "Température extérieure " ..tmp .." degré celsius"; local hum = fibaro:getValue(3, "Humidity"); hum = "Humidité extérieure " ..hum .." %"; local vend = fibaro:getValue(3, "Wind"); vend = "Vitesse du vend " ..vend .." kilomètre àl'heure"; -- message vocal àenvoyer au smartphone fibaro:setGlobal("speech", "Analyse d'embiance de l'extérieure") -- activation du périphérique virtuel et bouton ad hoc fibaro:call(87, "pressButton", "1"); fibaro:sleep(repeatTime); -- message vocal àenvoyer au smartphone local don = ""; for i = 1, 3 do if i == 1 then don = tmp; end if i == 2 then don = hum; end; if i == 3 then don = vend; end; fibaro:setGlobal("speech", don) -- activation du périphérique virtuel et bouton ad hoc fibaro:call(87, "pressButton", "1"); --attente fibaro:sleep(repeatTime); end
Messages recommandés