Karotz et Vera

OpenKarotz est le logiciel alternatif pour votre Karotz. Grâce à lui, vous allez libérer le lapin et redécouvrir cet objet indispensable !

Karotz et Vera

Messagede droopyjj » 16 Jan 2015, 10:55

Bonjour Ă  tous!
Pour etre plus précis ce sujet traite de OPENKAROTZ et Vera

J'ai vu qu'un sujet traitait de "open karotz et zipabox", donc je me suis dit qu'il n'y avait pas de raison de raison de ne pas faire un sujet traitant de la communication Vera <=> Open Karotz.
Pour commencer, je vais résumer ce que j'ai réussi à mettre en place et décrire comment j'ai fait (attention je ne connais quasi rien en langage informatique)
Il n'y a pas grand chose pour l'instant, mais je ne désespère pas d'étoffer ce petit sujet au fur et à mesure des avancés (enfin...pour être honnête, de l'aide que vous pourrez apporter au sujet)

1. scène pour donner l'heure:
Attention, je donne ici une version simple car Chrifabre décrit plus bas une solution que l'on peu facilement qualifier de meilleur avec par exemple la possibilité de ne plus mettre de %20 a la place des blancs. il faut pour cela mdifier le startup de la lua. (a voir dans les échanges plus bas)

Donc, créer une nouvelle scene
dans l'onglet programmation mettre l'heure du déclenchement (ici 08h00)

dans l'onglet code luup mettre ceci:

Code: Tout sélectionner
luup.inet.wget('http://ip de votre lapin/cgi-bin/tts?text=il%20est%208%20heure!&nocache=1&voice=claire')


le nom de la voie utilisée pouvant être modifiée en remplaçant claire par: alice ou julie ou margaux ou antoine ou bruno pour les voix françaises

J'ai également ajouté un carillon:
1. se connecter avec filezella (par exemple) en ftp sur le karotz: (ip du karotz + login: Karotz)
2. mettre un son dans openkarotz/sound/ moi j'ai mis carillon.mp3
en revanche, ne sachant pas si on pouvait ajouter un son, j'ai renommé le ready.mp3 en oldready.mp3 et renommé mon carillon en ready.mp3

ensuite ajoutez dans code luup cette ligne:
Code: Tout sélectionner
luup.inet.wget('http://192.168.0.30/cgi-bin/sound?id=ready')


ce qui me fait dans ma fenĂŞtre code luup:
Code: Tout sélectionner
luup.inet.wget('http://192.168.0.30/cgi-bin/sound?id=ready')
luup.inet.wget('http://192.168.0.30/cgi-bin/tts?text=il%20est%2013%20heure!&nocache=1&voice=claire')


Point important, lorsque l'on met un texte les espaces doivent être remplacés par des %20
J'ai également remarqué que la gestion des ' n'est pas apprécié...je n'en utilise pas sinon la Vera fait une erreur et ne veut pas du code llup

ce que je ne sais pas faire
pour l'instant, l’enchaînement des commandes (carillons + texte) est un peu lent
Je ne sais pas comment enchaîner 2 actions sans revenir à la ligne


2. lire une valeur de sonde pour la transmettre au lapin:
Je ne savais pas faire mais, grace à Chrifabre (encore merci à lui!), vous avez maintenant la solution. Ceci est trop complexe pour reporter ici les échanges ici mais, je résume:
Modifier le startup lua (demarrage lua dans develloper une application) et y rajouter les variables comme expliqué plus bas par Chrifabre.
Code: Tout sélectionner
-- Definitions des Devices
T_exterieur= 113 --Temperature Exterieur
T_salon = 66 -- Temperature Salon
-- DĂ©finition des services
SID_TS = "urn:upnp-org:serviceId:TemperatureSensor1"

Creer une scene
Code: Tout sélectionner
local temp = luup.variable_get(SID_TS, "CurrentTemperature", T_exterieur)
local msg = "La température extérieure, en degré celsius est de: " .. temp
local temp = luup.variable_get(SID_TS, "CurrentTemperature", T_salon)
local msg = msg .. "et La température du salon est de:" .. temp .. "."
Parler_Karotz(msg)


ce qui me pose encore probléme
Un jour, peut-être, y aura-t-il ici une section pour que le lapin lise une météo..pour l'instant je me heurte a un probléme de permission sur mon serveur Syno afin que le serveur php puisse creer un fichier
En revanche, je ne pense pas qu'il soit réalisable de le générer et l'expédier depuis la Vera (toutefois si quelqu'un a une idee!!)

J'ai également un probléme pour faire jouer a mon lapin une radio depuis ma vera:
Cela fonctionne bien quand je choisi une radio dans l'application du lapin en revanche, le code suivant ne fonctionne pas:
Code: Tout sélectionner
luup.inet.wget('http://192.168.0.30///cgi-bin/sound?url=http://broadcast.info')


Dans l'attente de vos commentaires, Ă©volutions , critiques (soyez gentil: ne tapez pas trop fort:)

un million de merci Ă  l'Ă©quipe de OPENKAROTZ !!
Dernière édition par droopyjj le 20 Jan 2015, 09:20, édité 9 fois.
2 eedomus +
Énormément de sondes Oregons (car je récupère celles des voisins)
2 KAROTZ
1 serveur synology ds710+
1 incapacité chronique à faire fonctionner tout cela
droopyjj
Dieu de domotique
 
Messages: 294
Inscription: 03 Oct 2012, 08:52
Localisation: Poissy

Re: Karotz et Vera

Messagede chrifabre » 16 Jan 2015, 13:11

Pour éviter de répéter à chaque fois, les commandes vocales Karotz et Sarah, j'ai mis dans mon fichier StartUp Lua les fonctions suivantes (que j'ai glané sur le Forum)
- url_encode(str) : fonction qui remplace automatiquement les blancs dans les phrases
- Parler_Karotz(msg)
- Parler_Sarah(msg)

Code: Tout sélectionner
-- **************************************************
-- Fonctions Vocales Karotz et Sarah avec paramètres
-- **************************************************
function url_encode(str)
   if (str) then
      str = string.gsub (str, "\n", "\r\n")
      str = string.gsub (str, "([^%w ])",
      function (c) return string.format ("%%%02X", string.byte(c)) end)
      str = string.gsub (str, " ", "+")
   end
   return str   
end
--
--  alarme vocale Karotz
--
function Parler_Karotz(msg)
--
        local url = "http://192.168.1.xx/cgi-bin/tts?text="
        local param = "&voice=margaux"
--
        local varmsg = url .. url_encode(msg) .. param
        luup.inet.wget(varmsg,2)
        return true
end
--
function Parler_Sarah(msg)
        local url = "http://192.168.1.xx:xxxx/sarah/parle?phrase="
--
        local varmsg = url .. url_encode(msg)
        luup.inet.wget(varmsg,1)
        return true
end


ensuite pour lire une température et envoyer la lecture vers Karotz, tu écris une scène
(attention j'ai défini mes modules et les services dans le StartUp
- T_Piscine = 25 -- Temperature Piscine
- SID_TS = "urn:upnp-org:serviceId:TemperatureSensor1")

Code: Tout sélectionner
-- lecture Temperature de la Piscine
local temp = luup.variable_get(SID_TS, "CurrentTemperature", T_Piscine)
local msg = "La température de la Piscine est de : " .. temp .. "en degré celsius."
Parler_Karotz(msg)


Ensuite, il te faut lancer la scène en fonction des tes besoins.
Personnellement j'utilise la reconnaissance Vocale de Sarah pour lui demander par exemple "Temperature Piscine" qui va enclencher la scène vocale_Temperature

Dans d'autre cas les scènes sont lancées par un evenement
Dernière édition par chrifabre le 16 Jan 2015, 13:56, édité 2 fois.
VERA_EDGE 1.7.4452 / VERA_PLUS 1.7.4453 / VERALITE - 1.5.672
Everspring ST814(1), SM103(8), SE812(1), SF812(1), SP814(1), UTSE03A(1), HSM02(1), AN145-2(2)
Duwi  064312 (3) , 064459 (1)
Fibaro FGS221 (3), FGS211(1), FGD211(1), Wall Plug (1), FGMS-001(2), RGBW(1), FGRM-222(7), FGK-101(4), FGSD-002(2), FGFS-101(1)
Aeon DSC12104
Remotec ZXT-120, ZRC-90EU
MCO-HOME MH-S412(2), MH-S314(3)
NEO COOLCAM PowerPlug(6), Light Switch EU-2(4), DĂ©tecteur Mouvement PIR(3)
TOPVICO Detecteur Mouvement PIR
Swiid SwiidInter(3)
BENEXT TagReader
RFXCOM LAN + Sondes Température/Humidité THGR122NX, THGR810, THN132ES, THGR328N) + sonde Piscine(THWR800)
Karotz
Google Home / Alexa
Foscam FI8910W, Wanscam HW0025, Seculink SA-IPC2130HB, HIKVISION DS-2CD2420F-IW
3 Tablettes Android AT102K, CT1020 et PIPO + ImperiHome Pro
PC Tout en Un Tactile 22" ASUS + AltUi v2.40.2501
HP Proliant + XPEnology
Lecteur RFID modifié Zwave
Mon site : http://www.e-domotic.fr/blog/
Avatar de l’utilisateur
chrifabre
Dieu de domotique
 
Messages: 686
Inscription: 01 Jan 2012, 12:10
Localisation: SANARY SUR MER

Re: Karotz et Vera

Messagede droopyjj » 16 Jan 2015, 13:48

Merci Chrifabre!
En revanche, puis-je avoir une petite explication de ce que sont ces lignes de commandes ?
Je suis désolé, mais c'est du breton pour moi cela !!
C'est qui Sarah ?
c'est quoi le "startup luua"
On trouve ca ou?
Je l'edite comment ?
j'ai vu que dans "develloper une application" il y avait une option:editer le demarrage lua....c'est ça?
Je copie ce que tu as mis et je valide ? (en changeant ce qu'il y a a changer?)
Pourras-tu me donner les lignes a mettre pour memoriser les nom des sondes (pour exemple a copier) et comment on doit séparer les lignes ?

Je vais m'amuser à reporter toutes ces infos dans ma présentation!!

Dans un premier temps je souhaiterai me concentrer sur l'envoi d'une temperature de sonde au karotz:
le code que tu as mis ici ne me semble pas être le même language qui est utilisé dans la case Lua..si? ...je peux copier cela dans la case?

Tu peux en profiter pour me donner la methode pou chainer 2 commandes?

Tu as vraiment 4 Vera chez toi ?

tu vas peut-etre te mordre les doigts de m'avoir répondu :oops:
Dernière édition par droopyjj le 16 Jan 2015, 14:40, édité 1 fois.
2 eedomus +
Énormément de sondes Oregons (car je récupère celles des voisins)
2 KAROTZ
1 serveur synology ds710+
1 incapacité chronique à faire fonctionner tout cela
droopyjj
Dieu de domotique
 
Messages: 294
Inscription: 03 Oct 2012, 08:52
Localisation: Poissy

Re: Karotz et Vera

Messagede chrifabre » 16 Jan 2015, 14:38

Sarah est une application qui tourne sous windows sur un PC et qui permet la reconnaissance vocale
(http://blog.encausse.net/s-a-r-a-h/
J'ai chez moi un Karotz et Sarah d'installer ce qui me permet d'avoir 2 retours vocaux
Sarah a l'avantage sur Karotz de faire de la reconnaissance vocale, et on peut transmettre des ordres vocaux Ă  la domotique pour ma part Vera
J'ai actuellement 2 Vera en service : VeraEdge et VeraLite, car en décembre ma Vera3 a rendu l'âme.
J'ai voulu la remplacer par une VeraEdge mais celle ci est sous UI7, pas très stable, et ne supportant pas certains plugins. Donc j'ai eu la chance d'acheter neuve une VeraLite (car actuellement Vera3 et VeraLite ne sont plus commercialisés) que j'ai configuré en UI5. Ce qu fait que mes applications tournent pour moitié sur la Edge et l'autre sur la Lite).
Sur ta Box Vera, tu as un fichier StartUp Lua qui est lancé en premier lors d'un redémarrage.
Dans ce fichier, il est intéressant de mettre toutes les définitions, mais aussi les services, et toutes les fonctions que l'on peut avoir besoin dans les scènes.

ce qui permettra dans tes scènes au lieu de mettre l'Id d'un capteur, de mettre son appellation ce qui est plus clair au niveau de la lecture, mais aussi si un jour ton capteur est HS et que tu le remplaces par un autre, il n'aura plus le meme Id.
Si tu as défini par exemple que T_SdB correspond à l'Id 27 du capteur de température et que celui ci tombe en panne, quand tu vas réinstaller un capteur de remplacement, l'Id du nouveau capteur sera par exemple 51.
Si tu l'as defini das le StartUp Lua, tu n'auras qu'Ă  changer la valeur T_SdB = 51 pour que tout refonctionne correctement.
Sinon il faudra que tu ailles modifier toutes les scènes qui utilise ce capteur au risque d'en oublier.

Pour lire une temperature, une humidité
local temp = luup.variable_get(SERVICE, VARIABLE,Id) une variable de module est toujours associé à un service
une temperature --> VARIABLE= CurrentTemperature , SERVICE= urn:upnp-org:serviceId:TemperatureSensor1
une humidité ---> VARIABLE= CurentLevel , SERVICE= urn:micasaverde-com:serviceId:HumiditySensor1

Je crois avoir écrit quelques choses, il y a un certain temps sur mon blog et je pense que c'est tjrs d'actualité
http://e-domotic.fr/blog/mon-installation/mon-installation-suivi/automatisation/scenaris/les-variables/
VERA_EDGE 1.7.4452 / VERA_PLUS 1.7.4453 / VERALITE - 1.5.672
Everspring ST814(1), SM103(8), SE812(1), SF812(1), SP814(1), UTSE03A(1), HSM02(1), AN145-2(2)
Duwi  064312 (3) , 064459 (1)
Fibaro FGS221 (3), FGS211(1), FGD211(1), Wall Plug (1), FGMS-001(2), RGBW(1), FGRM-222(7), FGK-101(4), FGSD-002(2), FGFS-101(1)
Aeon DSC12104
Remotec ZXT-120, ZRC-90EU
MCO-HOME MH-S412(2), MH-S314(3)
NEO COOLCAM PowerPlug(6), Light Switch EU-2(4), DĂ©tecteur Mouvement PIR(3)
TOPVICO Detecteur Mouvement PIR
Swiid SwiidInter(3)
BENEXT TagReader
RFXCOM LAN + Sondes Température/Humidité THGR122NX, THGR810, THN132ES, THGR328N) + sonde Piscine(THWR800)
Karotz
Google Home / Alexa
Foscam FI8910W, Wanscam HW0025, Seculink SA-IPC2130HB, HIKVISION DS-2CD2420F-IW
3 Tablettes Android AT102K, CT1020 et PIPO + ImperiHome Pro
PC Tout en Un Tactile 22" ASUS + AltUi v2.40.2501
HP Proliant + XPEnology
Lecteur RFID modifié Zwave
Mon site : http://www.e-domotic.fr/blog/
Avatar de l’utilisateur
chrifabre
Dieu de domotique
 
Messages: 686
Inscription: 01 Jan 2012, 12:10
Localisation: SANARY SUR MER

Re: Karotz et Vera

Messagede droopyjj » 16 Jan 2015, 14:50

Ooarff!!! Merci
Il est bien ton blog..je vais avoir tres mal a la tĂŞte ce week-end!!!

donc comment j'edite ce startup lua ?
dans la section "develloper une application" ou dois-je le récuperer en me connectant via Ftp par exemple

Tu en es oĂą de ton thermostat programmable? moi je passe par la solution d'Antor avec un calendrier Google (et c'est pas tres simple)

Cdt
2 eedomus +
Énormément de sondes Oregons (car je récupère celles des voisins)
2 KAROTZ
1 serveur synology ds710+
1 incapacité chronique à faire fonctionner tout cela
droopyjj
Dieu de domotique
 
Messages: 294
Inscription: 03 Oct 2012, 08:52
Localisation: Poissy

Re: Karotz et Vera

Messagede chrifabre » 16 Jan 2015, 15:00

Désolé ma Box est en Anglais
StartUp Lua est bien le fichier de démarrage
Tu l’édites directement dans la fenêtre par éditer, ce qui est peu pratique.
Pour ma part j'utilise un Ă©diteur Sublime Text et je recopie ensuite dans la fenĂŞtre du StartLua
Les codes que je t'ai donnés sont bien du Lua
Je n'ai pas de méthode pour chaîner des commandes Http.
Le seul souci du Karotz c'est de ne traiter qu'une commande à la fois. Il peut y avoir collision. donc en premier traite la cde son qui est locale, la commande TTS fait appel à des serveurs extérieurs et risque d'etre plus longue.
Il faut savoir que la commande luup.inet.wget retourne le status 0 quand la commande a été exécutée avec succes. Il faudrait le tester avant d'envoyer une autre commande.
Pour éviter des blocages il est intéressant de mettre le paramètre TimeOut dans la cde wget sous la forme luup.inet.wget(URL, TimeOut)
luup.inet.wget('http://192.168.0.30/cgi-bin/sound?id=ready,1') ---- > ici je mets timeout = 1s
luup.inet.wget('http://192.168.0.30/cgi-bin/tts?text=il%20est%2013%20heure!&nocache=1&voice=claire',2) ---- > ici je mets timeout = 2s
Par defaut le TimeOut est de 5secondes
VERA_EDGE 1.7.4452 / VERA_PLUS 1.7.4453 / VERALITE - 1.5.672
Everspring ST814(1), SM103(8), SE812(1), SF812(1), SP814(1), UTSE03A(1), HSM02(1), AN145-2(2)
Duwi  064312 (3) , 064459 (1)
Fibaro FGS221 (3), FGS211(1), FGD211(1), Wall Plug (1), FGMS-001(2), RGBW(1), FGRM-222(7), FGK-101(4), FGSD-002(2), FGFS-101(1)
Aeon DSC12104
Remotec ZXT-120, ZRC-90EU
MCO-HOME MH-S412(2), MH-S314(3)
NEO COOLCAM PowerPlug(6), Light Switch EU-2(4), DĂ©tecteur Mouvement PIR(3)
TOPVICO Detecteur Mouvement PIR
Swiid SwiidInter(3)
BENEXT TagReader
RFXCOM LAN + Sondes Température/Humidité THGR122NX, THGR810, THN132ES, THGR328N) + sonde Piscine(THWR800)
Karotz
Google Home / Alexa
Foscam FI8910W, Wanscam HW0025, Seculink SA-IPC2130HB, HIKVISION DS-2CD2420F-IW
3 Tablettes Android AT102K, CT1020 et PIPO + ImperiHome Pro
PC Tout en Un Tactile 22" ASUS + AltUi v2.40.2501
HP Proliant + XPEnology
Lecteur RFID modifié Zwave
Mon site : http://www.e-domotic.fr/blog/
Avatar de l’utilisateur
chrifabre
Dieu de domotique
 
Messages: 686
Inscription: 01 Jan 2012, 12:10
Localisation: SANARY SUR MER

Re: Karotz et Vera

Messagede droopyjj » 16 Jan 2015, 15:44

Ok merci
Donc si je veux creer une variable temperature exterieur et une variable temperature salon, je mets cela dans le startup:

Code: Tout sélectionner
- T_exterieur = 113 -- Temperature Exterieur
- SID_TS = "urn:upnp-org:serviceId:TemperatureSensor1")
- T_salon= 66 -- Temperature Salon
- SID_TS = "urn:upnp-org:serviceId:TemperatureSensor2")


je ne mets aucun caractere entre chaques groupes ?
2 eedomus +
Énormément de sondes Oregons (car je récupère celles des voisins)
2 KAROTZ
1 serveur synology ds710+
1 incapacité chronique à faire fonctionner tout cela
droopyjj
Dieu de domotique
 
Messages: 294
Inscription: 03 Oct 2012, 08:52
Localisation: Poissy

Re: Karotz et Vera

Messagede chrifabre » 16 Jan 2015, 16:36

Pas de tiret devant les variables
le service pour les temperatures n'est à définir qu'une fois
donc il faut mettre dans le startup
Code: Tout sélectionner
----------StartUp Lua------------------------------------
-- Definitions des Devices
T_exterieur= 113 --Temperature Exterieur
T_salon = 66 -- Temperature Salon
-- DĂ©finition des services
SID_TS = "urn:upnp-org:serviceId:TemperatureSensor2"
------------------------------------------------------------------


et dans ta scène pour vocaliser les températures (exemple)
Code: Tout sélectionner
-----------------------Scene------------------------------------
local Url = "http://192.168.0.30/cgi-bin/tts=?"                                  -- definition de l'Url Karotz
local temp = luup.variable_get(SID_TS, "CurrentTemperature", T_exterieur)        -- lire la temperature exterieurs
local msg = "La20%temperature%20exterieure,%20en%20degre%20celsius%20est%20de%20 :%20" .. temp      -- commencer l'ecriture du message
local temp = luup.variable_get(SID_TS, "CurrentTemperature", T_salon)            -- lire la temperature exterieure
local msg = msg .. "et%20La%20tempĂ©rature%20du%20salon%20est%20de%20:" .. temp .. "%20."          -- finir la construction du message
luup.inet.wget(Url .. msg,2)                                                     -- envoi du message au Karotz (timeout=2s)
-----------------------------------------------------------------
Dernière édition par chrifabre le 16 Jan 2015, 16:56, édité 1 fois.
VERA_EDGE 1.7.4452 / VERA_PLUS 1.7.4453 / VERALITE - 1.5.672
Everspring ST814(1), SM103(8), SE812(1), SF812(1), SP814(1), UTSE03A(1), HSM02(1), AN145-2(2)
Duwi  064312 (3) , 064459 (1)
Fibaro FGS221 (3), FGS211(1), FGD211(1), Wall Plug (1), FGMS-001(2), RGBW(1), FGRM-222(7), FGK-101(4), FGSD-002(2), FGFS-101(1)
Aeon DSC12104
Remotec ZXT-120, ZRC-90EU
MCO-HOME MH-S412(2), MH-S314(3)
NEO COOLCAM PowerPlug(6), Light Switch EU-2(4), DĂ©tecteur Mouvement PIR(3)
TOPVICO Detecteur Mouvement PIR
Swiid SwiidInter(3)
BENEXT TagReader
RFXCOM LAN + Sondes Température/Humidité THGR122NX, THGR810, THN132ES, THGR328N) + sonde Piscine(THWR800)
Karotz
Google Home / Alexa
Foscam FI8910W, Wanscam HW0025, Seculink SA-IPC2130HB, HIKVISION DS-2CD2420F-IW
3 Tablettes Android AT102K, CT1020 et PIPO + ImperiHome Pro
PC Tout en Un Tactile 22" ASUS + AltUi v2.40.2501
HP Proliant + XPEnology
Lecteur RFID modifié Zwave
Mon site : http://www.e-domotic.fr/blog/
Avatar de l’utilisateur
chrifabre
Dieu de domotique
 
Messages: 686
Inscription: 01 Jan 2012, 12:10
Localisation: SANARY SUR MER

Re: Karotz et Vera

Messagede droopyjj » 16 Jan 2015, 16:45

merci beaucoup!
je fais cela
cdt
2 eedomus +
Énormément de sondes Oregons (car je récupère celles des voisins)
2 KAROTZ
1 serveur synology ds710+
1 incapacité chronique à faire fonctionner tout cela
droopyjj
Dieu de domotique
 
Messages: 294
Inscription: 03 Oct 2012, 08:52
Localisation: Poissy

Re: Karotz et Vera

Messagede chrifabre » 16 Jan 2015, 17:10

ou alors méthode plus optimisée avec encodage du texte
Code: Tout sélectionner
---------StartUp Lua------------------------------------
-- Definitions des Devices
T_exterieur= 113 --Temperature Exterieur
T_salon = 66 -- Temperature Salon
-- DĂ©finition des services
SID_TS = "urn:upnp-org:serviceId:TemperatureSensor2"
--
-- FONCTIONS
--
-- Fonction encodage pour texte
function url_encode(str)
   if (str) then
      str = string.gsub (str, "\n", "\r\n")
      str = string.gsub (str, "([^%w ])",
      function (c) return string.format ("%%%02X", string.byte(c)) end)
      str = string.gsub (str, " ", "+")
   end
--
-- Fonction Vocale Karotz
function Parler_Karotz(msg)
--
        local url = "http://192.168.0.30/cgi-bin/tts?text="
        local param = "&voice=margaux"
--
        local varmsg = url .. url_encode(msg) .. param
        luup.inet.wget(varmsg,2)
        return true
end
------------------------------------------------------------------


Code: Tout sélectionner
-----------------------Scene------------------------------------
local temp = luup.variable_get(SID_TS, "CurrentTemperature", T_exterieur)        -- lire la temperature exterieurs
local msg = "La tempĂ©rature extĂ©rieure, en degrĂ© celsius est de:" .. temp      -- commencer l'ecriture du message
local temp = luup.variable_get(SID_TS, "CurrentTemperature", T_salon)            -- lire la temperature exterieure
local msg = msg .. "et La tempĂ©rature du salon est de:" .. temp .. "."          -- finir la construction du message
Parler_Karotz(msg)                                                     -- envoi du message au Karotz (timeout=2s)
-----------------------------------------------------------------


Avantage on appelle la fonction Parle_Karotz avec en paramètre la phrase en langage naturel, sans redéfinir son URL.
Cette fonction est disponible dans toutes les scènes
VERA_EDGE 1.7.4452 / VERA_PLUS 1.7.4453 / VERALITE - 1.5.672
Everspring ST814(1), SM103(8), SE812(1), SF812(1), SP814(1), UTSE03A(1), HSM02(1), AN145-2(2)
Duwi  064312 (3) , 064459 (1)
Fibaro FGS221 (3), FGS211(1), FGD211(1), Wall Plug (1), FGMS-001(2), RGBW(1), FGRM-222(7), FGK-101(4), FGSD-002(2), FGFS-101(1)
Aeon DSC12104
Remotec ZXT-120, ZRC-90EU
MCO-HOME MH-S412(2), MH-S314(3)
NEO COOLCAM PowerPlug(6), Light Switch EU-2(4), DĂ©tecteur Mouvement PIR(3)
TOPVICO Detecteur Mouvement PIR
Swiid SwiidInter(3)
BENEXT TagReader
RFXCOM LAN + Sondes Température/Humidité THGR122NX, THGR810, THN132ES, THGR328N) + sonde Piscine(THWR800)
Karotz
Google Home / Alexa
Foscam FI8910W, Wanscam HW0025, Seculink SA-IPC2130HB, HIKVISION DS-2CD2420F-IW
3 Tablettes Android AT102K, CT1020 et PIPO + ImperiHome Pro
PC Tout en Un Tactile 22" ASUS + AltUi v2.40.2501
HP Proliant + XPEnology
Lecteur RFID modifié Zwave
Mon site : http://www.e-domotic.fr/blog/
Avatar de l’utilisateur
chrifabre
Dieu de domotique
 
Messages: 686
Inscription: 01 Jan 2012, 12:10
Localisation: SANARY SUR MER

Re: Karotz et Vera

Messagede droopyjj » 16 Jan 2015, 18:21

Quand tu dis: on appelle la fonction karotz..ça veut dire quoi?
Je suis un peu perdu
Tu préconises quoi comme solution?
Pour l'instant j'ai mis la première version et je dois tester pour voir si c'est OK
Cdt
2 eedomus +
Énormément de sondes Oregons (car je récupère celles des voisins)
2 KAROTZ
1 serveur synology ds710+
1 incapacité chronique à faire fonctionner tout cela
droopyjj
Dieu de domotique
 
Messages: 294
Inscription: 03 Oct 2012, 08:52
Localisation: Poissy

Re: Karotz et Vera

Messagede droopyjj » 16 Jan 2015, 18:54

bon, j'ai fait des tests et cela ne semble pas fonctionner
Mon lapin ne donne pas la temperature
voila ce que j'ai dans le startup: (j'ai fait une compile de ttes tes commandes)

Code: Tout sélectionner
-- **************************************************
-- Fonctions Vocales Karotz et Sarah avec paramètres
-- **************************************************
function url_encode(str)
   if (str) then
      str = string.gsub (str, "\n", "\r\n")
      str = string.gsub (str, "([^%w ])",
      function (c) return string.format ("%%%02X", string.byte(c)) end)
      str = string.gsub (str, " ", "+")
   end
   return str   
end
--
--  alarme vocale Karotz
--
function Parler_Karotz(msg)
--
        local url = "http://192.168.0.30/cgi-bin/tts?text="
        local param = "&voice=claire"
--
        local varmsg = url .. url_encode(msg) .. param
        luup.inet.wget(varmsg,2)
        return true
end
------------StartUp Lua------------------------------------
-- Definitions des Devices
T_exterieur= 113 --Temperature Exterieur
T_salon = 66 -- Temperature Salon
-- DĂ©finition des services
SID_TS = "urn:upnp-org:serviceId:TemperatureSensor2"
------------------------------------------------------------------


et dans ma scene


Code: Tout sélectionner
-----------------------Scene------------------------------------
local Url = "http://192.168.0.30/cgi-bin/tts=?"                                  -- definition de l'Url Karotz
local temp = luup.variable_get(SID_TS, "CurrentTemperature", T_exterieur)        -- lire la temperature exterieurs
local msg = "La20%temperature%20exterieure,%20en%20degre%20celsius%20est%20de%20 :%20" .. temp      -- commencer l'ecriture du message
local temp = luup.variable_get(SID_TS, "CurrentTemperature", T_salon)            -- lire la temperature exterieure
local msg = msg .. "et%20La%20tempĂ©rature%20du%20salon%20est%20de%20:" .. temp .. "%20."          -- finir la construction du message
luup.inet.wget(Url .. msg,2)                                                     -- envoi du message au Karotz (timeout=2s)
-----------------------------------------------------------------


et cela ne fonctionne pas
mon lapin ne dit rien....SNIFF!!!!!
tu es sur qu'il faut mettre TemperatureSensor2" Ă  2?
CDT
2 eedomus +
Énormément de sondes Oregons (car je récupère celles des voisins)
2 KAROTZ
1 serveur synology ds710+
1 incapacité chronique à faire fonctionner tout cela
droopyjj
Dieu de domotique
 
Messages: 294
Inscription: 03 Oct 2012, 08:52
Localisation: Poissy

Suivante

Retourner vers OpenKarotz

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique