10-24-2013, 11:42 AM
steevedu49 avril 2012
Bonjours à tous,
J ai découvert que Sara l équivalent de Siri sur iPhone permettrai de contrôler des systèmes domotique à la voix. Calaos est il compatible. Peut on envoyer des requête web pour interagir avec le server calaos ?
ArnaudTlse mai 2012
Je ne répondrai pas à leur place, mais ça me semble chaud quand même :-)
Siri vient de sortir, Sara semble être une béta via jailbreak... why not, mais on parle d'une maison là, donc il faut un minimum de pérennité et de fiabilité dans les outils supportés. Qui dit support, dit aussi, savoir gérer les problèmes qu'auront les clients avec le produit. Donc, un support officiel me parait douteux.
Par contre, Sara est coté client, donc rien ne t’empêche de l'utiliser pour envoyer des requêtes https à ta centrale. Ta centrale dispose d'un serveur web, sur lequel tu peux passer des commandes (pas tester).
Arnaud.
steevedu49 mai 2012
Bonjours,
Connais tu la forme de la requête https
Le langage utilisé par Sara est du php et calaos utilise du Json
https:/ip.centrale/nom d'utilisateur/mot de passe/action...
Merci...
ArnaudTlse mai 2012
Hello,
Pas testé. Après si Sara ne peut pas taper sur Calaos directement, rien n'empêche de monter un linux intermédiaire. Sara fait une requête simple à ton serveur, qui lui envoi une requête complexe à Calaos. C'est une idée en l'air car je n'ai rien testé
raoulraoul mai 2012
D'après ce que j'ai lu de la doc de Sara, c'est possible en créant un plugin avec le SDK de Sara. Vu qu'il utilise php, on peut imaginer faire quelque chose comme ca:
<?
if($request == "allume la lumiere"){
$response->say("Ok, j'allume la lumiere");
$url = 'http://ip_calaos/api.php';
$data = '{"cn_user": "mail@example.com", "cn_pass": "the_password", "action": "set_state", "type": "output", "id": "output_0", "value": "true"}';
$response = http_post_data($url, $data);
$response->exitContext();
ok();
}
steevedu49 mai 2012
Dans $url = 'http://....' il doi y avoir une erreur "https". La dernière étape "http_post_data" ne fonctionne pas.
Une solution ?
ArnaudTlse mai 2012
Bonsoir Raoul,
De tête, la centrale n'est interrogeable qu'en https. Du coup j'ai l'impression que le http_post_data n'est pas vraiment utilisable, à moins qu'on puisse l'utiliser en https ?!
Sinon, c'est en wget comme indiqué ici:
http://support.calaos.fr/protocole_json?...&s[]=state
via un serveur intermédiaire...
steevedu49 mai 2012
Comment par un serveur intermédiaire ?
raoul mai 2012
J'ai l'impression que le http_post_data n'est pas dispo dans Sara. Je vais voir si il y a un autre moyen...
ArnaudTlse juillet 2012
Hiiiiiiiii ça fonctionne ! J'arrive à ouvrir un volet à la voix ! )
Bon, un petit tuto rapido, et désolé c'est toujours en passant par le serveur Linux intermédiaire
Fred 13 févr.
Est-ce que tu as avancé dans ce projet ?
Sinon il y a une nouvelle solution grace aux Rasberry Pi et Siri Proxy :
http://www.tomshardware.fr/articles/domo...36895.html
L'avantage serait de créer une interface all-in-one très abordable sans devoir passer par un nas (étant donné que nous avons des NAS différents) et d'utiliser le "vrai" Siri.
En théorie il suffirait d'y greffer un bout de code JSon/sh pour pouvoir commander la centrale Calaos.
Avis aux spécialistes...
ArnaudTlse 14 févr.
Non, j'avais juste essayé pour voir si ça fonctionnait, la réponse est oui, mais ça n'était pas vraiment exploitable. En fait, les mots reconnus par Sara ne doivent pas contenir d'accent.. et bien ça limite beaucoup ! "Vidéo", "écran" niet... donc après avoir testé avec "truc" "bidule" "machine" ça fonctionne mais bon... répéter 3 fois un ordre à son téléphone pour avoir une action.. c'est plus rapide de lancer un scénario Calaos ou d'aller appuyer sur un bouton :-)
Le Linux que j'ai utilisé était le Syno, mais ça pourrait être n'importe quoi avec un service http et du script sh:
#!/bin/sh
SERVER=https://192.168.0.100/api.php
result=`/usr/syno/bin/wget -q --no-check-certificate --post-file ouvrir_volets.json --output-document - "$SERVER" `
echo result=$result
et le fichier de la commande JSON ouvrir_volets.json:
{
"cn_user": "*****",
"cn_pass": "*****",
"action": "set_state",
"type": "output",
"id": "output_10",
"value": "toggle"
}
Les tests étaient plus une maquette mais pas vraiment exploitable )
L'alternative avec un SiriProxy est probablement une bonne piste, tiens nous au courant
Florian 15 févr.
Je vous signale une expérience interressante à base de raspberry et d'un pc windows qui utilise la librairie Speech To Text de Microsoft :
http://blog.idleman.fr/?p=1788
Fred 18 févr.
Sympa cette expérience, seul bémol il faut avoir un PC sous Windows allumé en permanence. Par contre on pourrait installer par exemple des micros dans les pièces et pouvoir commander à la voix sans utiliser un accessoire (iphone+Siri)...un peu comme HAL dans l'odyssée de l'espace de Kubrick :-)
pour en revenir à l'autre expérience j'ai commandé un Raspberry, je vous tiens au courant dès qu'il sera arrivé.
Fred 24 févr.
Pendant ce dimanche neigeux et maussade, j'ai pu avancer un peu en attendant la livraison du Raspberry.
Donc j'ai utilisé une machine virtuelle tournant sous Ubuntu et installé Siriproxy. Grâce à l'étude de quelques plug-ins Ruby pour siriproxy et un add-on "httparty" (similaire au http_post_data cité plus haut), j'ai pu créer une première maquette :
elle a également l'avantage de reconnaitre les caractères spéciaux grâce à l’utilisation de l'utf-8 (très fréquents dans notre langue contrairement à l'anglais).
Je vais essayer de structurer tout cela dans les prochains temps. J'ai dans l'idée de rechercher le nom des entrées/sorties et le id directement depuis la config calaos. Par contre j'aurai certainement besoin d'un petit coup de main pour la programmation avancée...
Au final on pourrait avoir une passerelle Siri-Calaos peu couteuse et économe en énergie.
ArnaudTlse 26 févr.
"Amènes moi une bière fraiche"
Fred 13 mars
Je voulais vous tenir un peu au courant concernant ce projet.
Entretemps j'ai reçu le Raspberry PI modèle B et commencé à le "personaliser"
photoiur.jpg
Cette image a été redimensionnée pour tenir dans la page. Cliquez pour agrandir.
A celà j'utilise une carte SD Transcend 8GB Class 10 TS8GSDHC10 (compatible avec le PI) et pour le moment un transformateur 5V avec une prise usb au format micro-USB car au final, on pourra brancher le PI directement sur la prise USB situé sur la box internet du fournisseur d'accès pour l'alimenter et sur une des prises réseaux.
Clavier + souris USB pour le configurer mais par la suite un simple accès SSH suffira.
Coté logiciel, j'ai utilisé le firmware déjà tout fait de ce projet (c'est la fameuse video qui circule sur le woueb " Garage Door" : voir ici ) et suivi les instructions fournies pour le configurer :
http://sourceforge.net/p/siriproxyrpi/wiki/Home/
Puis afin de connaitre un peu mieux le langage Ruby (je ne suis pas programmateur à la base...donc ça prend un plus de temps, lol), j'ai créé quelques scripts pour tester deux fonctions principales : lire la config calaos avec JSON et envoyer et lire des valeurs sur la centrale, ce qui marchent très bien. Maintenant c'est de metre toutes ces fonctions dans un seul process et palier aux inperfections de Siri, un simple exemple quand je dis LED, siri reconnait le mot comme "laide"...
Il faut aussi trouver un certain format de prononciation, par exemple :
nom de la pièce / éléments / action (ex : salon / lumière principale / allumer).
Des phrases complètes, on ne pourra jamais avoir...il aura un peu trop de mal à tout reconnaitre notre ami Siri ;-)
Pour le moment j'ai un prototype assez fonctionel, mais à la place de lire la config depuis la centrale calaos j'utilise un fichier csv avec le nom des éléments que je veux tester et l'ID de la sortie ou de l'entrée :
objname, objid
lumière table,output_37
températures salon,input_91
Je vous mettrai les sources prochainement en ligne dès que tout celà sera un peu plus structuré.....
@ArnaudTlse : on pourrait aussi par exemple adapter ton module historique des températures en Ruby sur le PI.
ArnaudTlse 14 mars
Intéressant ton truc, surtout si ça permet d'avoir la mustang qui va avec le garage
jayzy 14 mars
c'est clair bon travail déjà!!! Je serais incapable de faire ce que tu fait..
Bravo et preneur de la mustang aussi.. lol
captainigloo 18 avril
Ca a l'air top ce truc !
raoul 27 avril
Sympa! Ca a l'air de marcher bien en plus
@Fred, Motivé pour qu'on intègre ca dans une prochaine maj directement?
Bonjours à tous,
J ai découvert que Sara l équivalent de Siri sur iPhone permettrai de contrôler des systèmes domotique à la voix. Calaos est il compatible. Peut on envoyer des requête web pour interagir avec le server calaos ?
ArnaudTlse mai 2012
Je ne répondrai pas à leur place, mais ça me semble chaud quand même :-)
Siri vient de sortir, Sara semble être une béta via jailbreak... why not, mais on parle d'une maison là, donc il faut un minimum de pérennité et de fiabilité dans les outils supportés. Qui dit support, dit aussi, savoir gérer les problèmes qu'auront les clients avec le produit. Donc, un support officiel me parait douteux.
Par contre, Sara est coté client, donc rien ne t’empêche de l'utiliser pour envoyer des requêtes https à ta centrale. Ta centrale dispose d'un serveur web, sur lequel tu peux passer des commandes (pas tester).
Arnaud.
steevedu49 mai 2012
Bonjours,
Connais tu la forme de la requête https
Le langage utilisé par Sara est du php et calaos utilise du Json
https:/ip.centrale/nom d'utilisateur/mot de passe/action...
Merci...
ArnaudTlse mai 2012
Hello,
Pas testé. Après si Sara ne peut pas taper sur Calaos directement, rien n'empêche de monter un linux intermédiaire. Sara fait une requête simple à ton serveur, qui lui envoi une requête complexe à Calaos. C'est une idée en l'air car je n'ai rien testé
raoulraoul mai 2012
D'après ce que j'ai lu de la doc de Sara, c'est possible en créant un plugin avec le SDK de Sara. Vu qu'il utilise php, on peut imaginer faire quelque chose comme ca:
<?
if($request == "allume la lumiere"){
$response->say("Ok, j'allume la lumiere");
$url = 'http://ip_calaos/api.php';
$data = '{"cn_user": "mail@example.com", "cn_pass": "the_password", "action": "set_state", "type": "output", "id": "output_0", "value": "true"}';
$response = http_post_data($url, $data);
$response->exitContext();
ok();
}
steevedu49 mai 2012
Dans $url = 'http://....' il doi y avoir une erreur "https". La dernière étape "http_post_data" ne fonctionne pas.
Une solution ?
ArnaudTlse mai 2012
Bonsoir Raoul,
De tête, la centrale n'est interrogeable qu'en https. Du coup j'ai l'impression que le http_post_data n'est pas vraiment utilisable, à moins qu'on puisse l'utiliser en https ?!
Sinon, c'est en wget comme indiqué ici:
http://support.calaos.fr/protocole_json?...&s[]=state
via un serveur intermédiaire...
steevedu49 mai 2012
Comment par un serveur intermédiaire ?
raoul mai 2012
J'ai l'impression que le http_post_data n'est pas dispo dans Sara. Je vais voir si il y a un autre moyen...
ArnaudTlse juillet 2012
Hiiiiiiiii ça fonctionne ! J'arrive à ouvrir un volet à la voix ! )
Bon, un petit tuto rapido, et désolé c'est toujours en passant par le serveur Linux intermédiaire
Fred 13 févr.
Est-ce que tu as avancé dans ce projet ?
Sinon il y a une nouvelle solution grace aux Rasberry Pi et Siri Proxy :
http://www.tomshardware.fr/articles/domo...36895.html
L'avantage serait de créer une interface all-in-one très abordable sans devoir passer par un nas (étant donné que nous avons des NAS différents) et d'utiliser le "vrai" Siri.
En théorie il suffirait d'y greffer un bout de code JSon/sh pour pouvoir commander la centrale Calaos.
Avis aux spécialistes...
ArnaudTlse 14 févr.
Non, j'avais juste essayé pour voir si ça fonctionnait, la réponse est oui, mais ça n'était pas vraiment exploitable. En fait, les mots reconnus par Sara ne doivent pas contenir d'accent.. et bien ça limite beaucoup ! "Vidéo", "écran" niet... donc après avoir testé avec "truc" "bidule" "machine" ça fonctionne mais bon... répéter 3 fois un ordre à son téléphone pour avoir une action.. c'est plus rapide de lancer un scénario Calaos ou d'aller appuyer sur un bouton :-)
Le Linux que j'ai utilisé était le Syno, mais ça pourrait être n'importe quoi avec un service http et du script sh:
#!/bin/sh
SERVER=https://192.168.0.100/api.php
result=`/usr/syno/bin/wget -q --no-check-certificate --post-file ouvrir_volets.json --output-document - "$SERVER" `
echo result=$result
et le fichier de la commande JSON ouvrir_volets.json:
{
"cn_user": "*****",
"cn_pass": "*****",
"action": "set_state",
"type": "output",
"id": "output_10",
"value": "toggle"
}
Les tests étaient plus une maquette mais pas vraiment exploitable )
L'alternative avec un SiriProxy est probablement une bonne piste, tiens nous au courant
Florian 15 févr.
Je vous signale une expérience interressante à base de raspberry et d'un pc windows qui utilise la librairie Speech To Text de Microsoft :
http://blog.idleman.fr/?p=1788
Fred 18 févr.
Sympa cette expérience, seul bémol il faut avoir un PC sous Windows allumé en permanence. Par contre on pourrait installer par exemple des micros dans les pièces et pouvoir commander à la voix sans utiliser un accessoire (iphone+Siri)...un peu comme HAL dans l'odyssée de l'espace de Kubrick :-)
pour en revenir à l'autre expérience j'ai commandé un Raspberry, je vous tiens au courant dès qu'il sera arrivé.
Fred 24 févr.
Pendant ce dimanche neigeux et maussade, j'ai pu avancer un peu en attendant la livraison du Raspberry.
Donc j'ai utilisé une machine virtuelle tournant sous Ubuntu et installé Siriproxy. Grâce à l'étude de quelques plug-ins Ruby pour siriproxy et un add-on "httparty" (similaire au http_post_data cité plus haut), j'ai pu créer une première maquette :
elle a également l'avantage de reconnaitre les caractères spéciaux grâce à l’utilisation de l'utf-8 (très fréquents dans notre langue contrairement à l'anglais).
Je vais essayer de structurer tout cela dans les prochains temps. J'ai dans l'idée de rechercher le nom des entrées/sorties et le id directement depuis la config calaos. Par contre j'aurai certainement besoin d'un petit coup de main pour la programmation avancée...
Au final on pourrait avoir une passerelle Siri-Calaos peu couteuse et économe en énergie.
ArnaudTlse 26 févr.
"Amènes moi une bière fraiche"
Fred 13 mars
Je voulais vous tenir un peu au courant concernant ce projet.
Entretemps j'ai reçu le Raspberry PI modèle B et commencé à le "personaliser"
photoiur.jpg
Cette image a été redimensionnée pour tenir dans la page. Cliquez pour agrandir.
A celà j'utilise une carte SD Transcend 8GB Class 10 TS8GSDHC10 (compatible avec le PI) et pour le moment un transformateur 5V avec une prise usb au format micro-USB car au final, on pourra brancher le PI directement sur la prise USB situé sur la box internet du fournisseur d'accès pour l'alimenter et sur une des prises réseaux.
Clavier + souris USB pour le configurer mais par la suite un simple accès SSH suffira.
Coté logiciel, j'ai utilisé le firmware déjà tout fait de ce projet (c'est la fameuse video qui circule sur le woueb " Garage Door" : voir ici ) et suivi les instructions fournies pour le configurer :
http://sourceforge.net/p/siriproxyrpi/wiki/Home/
Puis afin de connaitre un peu mieux le langage Ruby (je ne suis pas programmateur à la base...donc ça prend un plus de temps, lol), j'ai créé quelques scripts pour tester deux fonctions principales : lire la config calaos avec JSON et envoyer et lire des valeurs sur la centrale, ce qui marchent très bien. Maintenant c'est de metre toutes ces fonctions dans un seul process et palier aux inperfections de Siri, un simple exemple quand je dis LED, siri reconnait le mot comme "laide"...
Il faut aussi trouver un certain format de prononciation, par exemple :
nom de la pièce / éléments / action (ex : salon / lumière principale / allumer).
Des phrases complètes, on ne pourra jamais avoir...il aura un peu trop de mal à tout reconnaitre notre ami Siri ;-)
Pour le moment j'ai un prototype assez fonctionel, mais à la place de lire la config depuis la centrale calaos j'utilise un fichier csv avec le nom des éléments que je veux tester et l'ID de la sortie ou de l'entrée :
objname, objid
lumière table,output_37
températures salon,input_91
Je vous mettrai les sources prochainement en ligne dès que tout celà sera un peu plus structuré.....
@ArnaudTlse : on pourrait aussi par exemple adapter ton module historique des températures en Ruby sur le PI.
ArnaudTlse 14 mars
Intéressant ton truc, surtout si ça permet d'avoir la mustang qui va avec le garage
jayzy 14 mars
c'est clair bon travail déjà!!! Je serais incapable de faire ce que tu fait..
Bravo et preneur de la mustang aussi.. lol
captainigloo 18 avril
Ca a l'air top ce truc !
raoul 27 avril
Sympa! Ca a l'air de marcher bien en plus
@Fred, Motivé pour qu'on intègre ca dans une prochaine maj directement?
Calaos v1.1.20 sur Advantech x86 | Calaos Home écran tactile RS232 | Wago 750-841 | DMX RGB LED
Calaos-OS v2.0 sur Advantech x86 | Clé USB
Squeezebox | Raspberry & Scripts maison
Calaos-OS v2.0 sur Advantech x86 | Clé USB
Squeezebox | Raspberry & Scripts maison