Aller au contenu
lexus_69

HCL et module virtuel

Recommended Posts

Bon finalement j'ai abandonné le sujet... car j'ai fait l'acquisition d'une HC2 !

Une bonne affaire sur Ebay (en fait c'était un coup de poker :))

J'ai pu importer un VD pour un ampli Yamaha et là je peux faire tout ce que je veux !

 

Par contre je me lance sur un autre sujet: SONOS

J'ai effectivement des SONOS dans un peu près toutes les pièces de la maison et je voudrais faire du TTS. J'ai importé le VD SONOS de Krikroff qui fonctionne à merveille mais je n'arrive pas à lui faire annoncer la date du jour, la température extérieure et la météo qui est noté en example...

-- 239 is the Virtual Device ID
-- 28 is the Process button ID
local sid, bid = 239, 28
 
local cond = fibaro:getValue(3, "WeatherConditionConverted");
local tempext = fibaro:getValue(33, "value"); -- température extérieure
fibaro:debug ("Température extérieure : "..tempext)
local degre = string.gsub(tempext, '[,]' , ' degré ')
local degre = string.gsub(degre, '[.]' , ' degré ')
local degre = string.gsub(degre, '[-]' , ' moins ')
 
local currentDate = os.date("*t")
local jourL = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"}
local jour = jourL[currentDate.wday]
fibaro:debug ("Jour : "..jour)
 
local moisL = {"janvier", "février", "mars", "avril", "mai", "juin",
               "juillet", "aout", "septembre", "octobre", "novembre", "décembre"}
local mois = moisL[currentDate.month]
fibaro:debug ("Mois : "..mois)
 
local condfr ="";
if( cond == "clear" ) then condfr = "clair"; end
if( cond == "cloudy" ) then condfr = "nuageux"; end
if( cond == "rain" ) then condfr = "pluvieux"; end
if( cond == "snow" ) then condfr = "neigeux"; end
if( cond == "storm" ) then condfr = "tempete"; end
if( cond == "fog" ) then condfr = "brouillard"; end
fibaro:debug ("Conditions météorologiques : "..condfr)
 
fibaro:debug ("Création du TTS")
-- Create TTS params object
local params = {
  -- TTS Message
  message = "Bonjour a vous. Nous sommes le "..jour .." "..currentDate.day .." "..mois ..
            ". Il est ".. currentDate.hour .." heure et ".. currentDate.min .." minutes. "..
            "Le thermomètre extérieur est a "..degre ..
            ", et le temps est  "..condfr ..". ",  
  duration = 'auto',    -- Duration: "auto", xx seconds
  language = "fr-FR",    -- Language: fr-FR
  volume = 40            -- Volume
}
local _f = fibaro
local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end}
-- Make a request to the remote to process params object instantly
_x:set(tostring(sid), { tts = params })
_f:call(sid, "pressButton", bid) 

 

J'ai ce message d'erreur :

[DEBUG] 15:50:45: line7: attempt to concatenate local 'tempext' (a nil value)

[DEBUG] 15:50:45: line 7: attempt to concatenate local 'tempext' (a nil value)

 

Quelqu'un a une idée ?

Partager ce message


Lien à poster
Partager sur d’autres sites

la varaible temtext est vide (nil) car la ligne précédente doit échouer, surement parce que tu fait un GetValue() sur le device 33, et je n'ai aucune idée de ce qu'est ton device 33 !

 

 

PS : cool pour la HC2 :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je comprends mieux... J'ai pas de device  33 :) 

En fait je voudrais juste qu'il m'annonce la température du plugin YR weather.

 

Ps: pour la HC2 je suis super content, elle ne fonctionnait pas mais après un petit tour au SAV Fibaro et un changement de la recovery key la box fonctionne nickel. Bref une HC2 à 150€ c'était l'affaire du siècle :)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai avancé un peu, j'ai supprimé tout ce qui était en rapport avec le device 33 et ça fonctionne mais avec quelques problèmes...

 

- Il m'annonce bien la date et l'heure mais pas la condition météo ni la température du plugin

- J'ai un temps de latence d'au moins 10s

 

Si vous avez une piste je suis preneur !

Partager ce message


Lien à poster
Partager sur d’autres sites

1/ je peux pas t'aider, je n'utilise pas ce script. Essaye de poser la question à son auteur.

 

2/ Normal, le TTS passe par Internet, il y a toujours une latence de plusieurs secondes.

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 31/03/2017 à 21:50, lexus_69 a dit :

Ps: pour la HC2 je suis super content, elle ne fonctionnait pas mais après un petit tour au SAV Fibaro et un changement de la recovery key la box fonctionne nickel. Bref une HC2 à 150€ c'était l'affaire du siècle :)

 

Mince, j'avais loupé ça.

On aurait pu te faire un clone de la clé pour 20€.

M'enfin si au final ton HC2 t'a couté 150€, avec passage au support officiel de Fibaro, c'est effectivement un très bon plan :) (surement moins pour le malheureux précédent propriétaire.... au passage j'imagine qu'il a du aller voir chez Jeedom :D )

Partager ce message


Lien à poster
Partager sur d’autres sites

En fait j'ai reçu la HC2 sans clé ! Donc elle ne démarrait pas... Dans l'annonce eBay c'était spécifié que la HC2 était pour pièces détachées mais que tous les voyants étaient fixés à l'allumage. J'ai senti la bonne affaire :) 

En tout cas le support Fibaro est top, j'avais envoyé que la HC2 et ils me l'ont retourné complète, avec antenne, alimentation, câble Ethernet et une petite boite de caramel !

Partager ce message


Lien à poster
Partager sur d’autres sites

Punaise, alors ça c'est du support Fibaro au top !!!

 

Bravo, en tout cas t'as bien joué, mais c'était un gros coup de poker quand même à la base.
Car sans la clé d'origine, on n'aurait pas pu te dépanner !

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, le support est vraiment top. Bon après il faut parler soit Polonais ou Anglais pour ce faire comprendre :) 

 

Il y a 18 heures, Lazer a dit :

Bravo, en tout cas t'as bien joué, mais c'était un gros coup de poker quand même à la base.
Car sans la clé d'origine, on n'aurait pas pu te dépanner !

 

J'aime bien joué, mais j'avoue que j'ai eu une grosse sueur froide...

Partager ce message


Lien à poster
Partager sur d’autres sites

×