-
Compteur de contenus
1 078 -
Inscription
-
Dernière visite
-
Jours gagnés
14
Tout ce qui a été posté par JossAlf
-
Oui j'ai trouvé un autre moyen. Mais je voulais faire un module facilement "configurable". J'ouvre bientôt autre sujet sur un petit truc dont j'ai rêvé cette nuit. Je pensais à un SMS et mes Squeezebox, Karotz ... Petit Teasing MAJ : Voilà c'est ici : Mini clavier pour HC2 ... Mais gros potentiel
-
Non ... local Vmessager = fibaro:getValue(118, "ui.Button3.value") Ca donne : [ERROR] 23:38:45: line :debug (arg 2), expected 'string const &' got 'nil' local Vmessager = string(fibaro:getValue(118, "ui.Button3.value")) [ERROR] 23:40:40: line getValue(11..."]:1
-
Non c'est la valeur du bouton (ce qui est écrit dans le bouton). J'avais pensé à local Vmessager = string(fibaro:getValue(118, "ui.lblbutton3.value")) Mais c'est pas ça ...
-
Excellent !
- 905 réponses
-
- SCRIPT LUA
- Contrôle
-
(et 1 en plus)
Étiqueté avec :
-
J'ai besoin de votre aide pour récupérer la valeur du label d'un bouton d'un module virtuel. Autrement dit : j'ai un bouton Stop , si je clique dessus, je veux que "Stop" soit placé dans MaVariable. EZn langage JossAlf : local MaVariable = valeur du label du bouton que je viens de cliquer Merci pour votre aide. Je vous concocte un petit truc sympa... MAJ : (finalement je n'ai pas utilisé cette fonction mais le truc est terminé. Voilà c'est ici : Mini clavier pour HC2 ... Mais gros potentiel
-
Pour info je viens de mettre le code complet (message 2) qui vérifie les portes et qui fabrique le message pour le diffuser en TTS sur 1 squeezebox.
-
Voici le contenu du bouton de votre module virtuel : -- réglage du niveau sonore local NiveauSo = 60 -- On remplace les espaces par des %20 local notification = string.gsub((notification)," ", "%%20"); -- Adresse IP du Logitech Media Server local ipadd = "192.168.0.46" -- le port du serveur local portno = 9090 -- L'adresse MAC de la squeeze local player = "00:xx:xx:xx:xx:00 " local playername = "SqueezeBox " -- On peut effacer les 17 lignes qui suivent si on ne veut pas gérer le volume sonore ! -- -- Allumage de la squeezebox local cmnd = "Power 1 " local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) -- On règle le volume sonore ici 60 local cmnd = "mixer volume " .. NiveauSo .. " " local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) -- -- fin de la zone effaçable si on ne veut pas gérer le volume sonore. -- On envoie le message qui vient de ALON dictaphone -- et qui a été placé sur le NAS par FTP local cmnd = "playlist play /volume1/music/Itunes/%20Sons/annonceiphone1.mp3 " local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend)
-
Oui Raz ! Bien vu j'avais oublié d'en parler...
-
Objectif : Enregistrer un message sonore sur son téléphone (de n'importe ou dans le monde !) et le diffuser chez soit sur une squeeze box (mais on peut le décliner sur Karotz, sonos etc du moment que le truc peut jouer un mp3). Besoins : 1 NAS 1 iPhone avec ALON Dictaphone (4,99 euros) http://alonsoftware.com/Apple/dictaphone.php (maisl'appli existe aussi sous Android) 1 HC2 Comment ça marche ? 1/ On installe ALON Dictaphone (c'est pas trop compliqué) 2/ on configure ALON Dictaphone pour qu'il y ait un nom par défaut et un raccourci vers le FTP du NAS. Donc un clic sur la petit roue préférence et on donne un nom par défaut ici "annonceiphone": Puis on clique sur l'enveloppe pour le réglage FTP Maintenant on peut enregistrer un message comme sur un dictaphone et cliquer sur l'icône "Marteau tournevis". On arrive à la page suivante où on trouve notre message et une icône en bas au milieu. Le clique sur l'icône envoi le fichier son sur le NAS (dans music/Itunes/%20sons) (Attention j'ai un espace avant son). Voilà on a un son en attente sur le NAS. Attention : N'oubliez pas d'effacer le message sur ALON dictaphone si non le prochain va s'appeler annonceiphone2 et votre commande HC2 ne fonctionnera pas. Maintenant on va le diffuser sur notre squeeze ... Je vous invite à voir le post ici : http://www.domotique-fibaro.fr/index.php/topic/1077-diffuser-un-message-tts-sur-squeezebox/#entry12339 Mais si j'ai le courage je vous place le code après ma pause repas. Code du bouton dans le message suivant.
-
Cette nuit je me disais que ce serait top d'envoyer un sms qui serait diffusé directement sur les squeeze... Envoyé de mon iPhone àl'aide de Tapatalk
-
J'ai une autre petite astuce avec Alon Dictaphone sur iPhone qui me permet d'enregistrer un message vocal et de l'envoyer sur le NAS pour le diffuser sur les Squeezes. Si ça intéresse quelqu'un je peux faire un petit tutot. Envoyé de mon iPhone àl'aide de Tapatalk
-
Logiciel Gratuit Pour Réaliser Vos Schéma D'installation
JossAlf a répondu à un sujet dans Le bistrot
Génial merci pour ce tuyau. Il va falloir que tu mettes àjour ta signature qui ne fait apparaître que 4 modules sur la trentaine du schéma -
Ché po suis sous Mac Il y a peut être un émulateur squeezebox sous PC ? Si non ça existe sous raspberry ( j'en ai un). C'est super facile, il y même un tuto de Cédric Locqueneux sur Maison et Domotique : http://maison-et-domotique.com/books/diy-votre-squeezebox-pour-40e/
-
Ce que tu peux faire c'est créer une scène qui Check la météo et en fonction de ça tu ouvres ou fermes tes volets. Tu lances cette scène par le scheduler en même temps que la fermeture conditionnée par la météo. Et comme tu dis, tu mets une tempo pour ne pas voir tes volets s'ouvrir et fermer toutes les 3 minutes. MAJ : mieux dit par Shad
-
Ha... làje cale et je ne sais pas si tu dois gèrer cette nouvelle condition depuis le schudeler ?! Il est normalement prévue pour programmer un déclenchement. Tu devrais gérer la réouverture depuis une autre scène. PS : Je me prends la tête sous iPad pour les codes ... Pfff
-
Ça me semble correcte mais pour pinailler je virerais les elseif qui ralentirait le code d'après ce que j'ai entendu. --[[%% properties%% globalsMETEO--]] if (( fibaro:getGlobalValue("METEO") == "DECOUVERT" )) then fibaro:call(24, "setValue", "75");fibaro:call(19, "setValue", "75");fibaro:call(22, "sendDefinedPushNotification", "4");end if (( fibaro:getGlobalValue("METEO") == "COUVERT" )) then fibaro:call(24, "setValue", "75");fibaro:call(19, "setValue", "75");fibaro:call(22, "sendDefinedPushNotification", "4");end if (( fibaro:getGlobalValue("METEO") == "PLUIE" )) then fibaro:call(24, "open");fibaro:call(19, "open");fibaro:call(22, "sendDefinedPushNotification", "3"); endfibaro:sleep(60*1000);Pourquoi as tu le même code que se soit couvert ou découvert ?
-
En utilisant AirPlay (sur Mac) ça doit être possible de balancer vers une borne airport ou freebox mais ça doit être coton.
-
Mais tu vas te retrouver avec des volets qui montent et descendent àla moindre modification de la météo ?! Tu devrais mettre un store banne et ce serait réglé
-
Finalement cette V6 est plus stable. Depuis que la guerre des trachées est terminée chez moi (et que les orages ne sont pas trop fréquents) je n'ai pas à me plaindre. C'est la débit qui est galère (5 Méga) mais rien à voir avec la box, c'est encore l'environnent et une ligne de 4000 mètres et d'un autre age...
-
Allé, pendant que j'y suis voici le code qui permet de checker mes portes le soir quand je déclenche la scène "dodo" [MAJ du code] Il passe de 204 ligne à 126... -- Adresse IP du Logitech Media Server local ipadd = "192.168.0.46" -- le port du serveur local portno = 9090 -- L'adresse MAC de la squeeze local player = "xx:xx:xx:xx:xx:xx " local playername = "SqueezeBox " -- réglage du niveau sonore local NiveauSo = 25 local notification = "" local NombrePorte = 0 -- 32 Garage if tonumber(fibaro:getValue(32, "value")) > 0 then NombrePorte = NombrePorte + 1 if NombrePorte > 1 then notification = notification.." et du garage ." else notification = notification.." du garage ." end fibaro:call(4, "sendPush", "Garage ouvert") fibaro:call(15, "sendPush", "Garage ouvert") end -- 34 Chambre bas if tonumber(fibaro:getValue(34, "value")) > 0 then NombrePorte = NombrePorte + 1 if NombrePorte > 1 then notification = notification.." et de la chambre du bas ." else notification = notification.." de la chambre du bas ." end fibaro:call(4, "sendPush", "Chambre du bas ouverte") fibaro:call(15, "sendPush", "Chambre du bas ouverte") end -- 38 Entrée principale if tonumber(fibaro:getValue(38, "value")) > 0 then NombrePorte = NombrePorte + 1 if NombrePorte > 1 then notification = notification.." et de lentrer ." else notification = notification.." de lentrer ." end fibaro:call(4, "sendPush", "Entrée principale ouverte") fibaro:call(15, "sendPush", "Entrée principale ouverte") end -- 39 cuisine du bas if tonumber(fibaro:getValue(39, "value")) > 0 then NombrePorte = NombrePorte + 1 if NombrePorte > 1 then notification = notification.." et de la cuisine du bas ." else notification = notification.." de la cuisine du bas ." end fibaro:call(4, "sendPush", "Cuisine du bas ouverte") fibaro:call(15, "sendPush", "Cuisine du bas ouverte") end -- 45 portail if tonumber(fibaro:getValue(45, "value")) > 0 then NombrePorte = NombrePorte + 1 if NombrePorte > 1 then notification = notification.." et du portail ." else notification = notification.." du portail ." end fibaro:call(4, "sendPush", "Portail ouvert") fibaro:call(15, "sendPush", "Portail ouvert") end -- Si il n'y a pas de porte ouverte : if NombrePorte == 0 then notification = "Toutes les portes sont fermée." end -- Si il n'y a qu'un porte ouverte : if NombrePorte == 1 then notification = "Attention a la porte "..notification.." elle me semble ouverte ." end -- Si on a plusieurs portes ouvertes : if NombrePorte > 1 then notification = "Attention il y a "..NombrePorte.." porte ouverte . Celle "..notification end -- Allumage de la squeezebox local cmnd = "Power 1 " local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) -- On règle le volume sonore ici 25 local cmnd = "mixer volume " .. NiveauSo .. " " local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) -- On envoie le message local notification = string.gsub((notification)," ", "%%20"); fibaro:debug(notification) local cmnd = "playlist play http://translate.google.com/translate_tts?tl=FR&ie=UTF-8&q=" .. notification; local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) -- OFF des squeezeBoxs après 10 secondes fibaro:sleep(10*1000) local cmnd = "power 0 " local stringtosend = player .. cmnd .. string.char(10) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend)
-
Je vous propose un petit tutoriel pour créer un bouton qui diffusera un message (que vous taperez) sur vos squeezebox. Pour cela il vous faut une ou plusieurs squeezebox et un NAS avec Logitech media Serveur installé dessus. En suite vous créez un module virtuel avec un bouton qui contient le code suivant : --Taper ici la phrase à diffuser -- ATTENTION les accents sont mal lus par google -- Utiliser l'infinitif pour prononcer "diffusé" il faut taper "diffuser" local notification = "Message traduit par google et diffuser sur squeezebox" -- réglage du niveau sonore local NiveauSo = 60 -- On remplace les espaces par des %20 local notification = string.gsub((notification)," ", "%%20"); --fibaro:debug(notification) -- Adresse IP du Logitech Media Server local ipadd = "192.168.0.46" -- le port du serveur local portno = 9090 -- L'adresse MAC de la squeeze local player = "00:xx:xx:xx:xx:00 " local playername = "SqueezeBox " -- Allumage de la squeezebox local cmnd = "Power 1 " --Fabrication de la ligne qui sera envoyée au serveur squeeze local stringtosend = player .. cmnd .. string.char(10) -- ouverture du socket tcpSocket = Net.FTcpSocket(ipadd, portno) --réglage du timeout de 2 secondes tcpSocket:setReadTimeout(2*1000) -- envoi de la commande bytes, errorCode = tcpSocket:write(stringtosend) -- On règle le volume sonore ici 60 local cmnd = "mixer volume " .. NiveauSo .. " " --Fabrication de la ligne qui sera envoyée au serveur squeeze local stringtosend = player .. cmnd .. string.char(10) -- ouverture du socket tcpSocket = Net.FTcpSocket(ipadd, portno) --réglage du timeout de 2 secondes tcpSocket:setReadTimeout(2*1000) -- envoi de la commande bytes, errorCode = tcpSocket:write(stringtosend) -- On envoi le message local cmnd = "playlist play http://translate.google.com/translate_tts?tl=FR&ie=UTF-8&q=" .. notification; --Fabrication de la ligne qui sera envoyée au serveur squeeze local stringtosend = player .. cmnd .. string.char(10) -- ouverture du socket tcpSocket = Net.FTcpSocket(ipadd, portno) --réglage du timeout de 2 secondes tcpSocket:setReadTimeout(2*1000) -- envoi de la commande bytes, errorCode = tcpSocket:write(stringtosend) -- OFF des squeezeBoxs après 10 secondes fibaro:sleep(10*1000) local cmnd = "power 0 " --Fabrication de la ligne qui sera envoyée au serveur squeeze local stringtosend = player .. cmnd .. string.char(10) -- ouverture du socket tcpSocket = Net.FTcpSocket(ipadd, portno) --réglage du timeout de 2 secondes tcpSocket:setReadTimeout(2*1000) -- envoi de la commande bytes, errorCode = tcpSocket:write(stringtosend) Voilà . PS : On pourrait se passer d'allumer la squeezebox avent de diffuser le message, mais cela nous permet de régler le niveau sonore. Ainsi vous pouvez choisir de pousser à fond pour dire "A table !!!" ou avoir un niveau plus faible pour annoncer que "Toutes les portes sont bien fermées" à minuit quand vous cliquez sur le bouton dodo... Je vous conseille une amélioration du code ici (Emission Tts Simplifiée Sur Squeezebox). Ce nouveau code permet de simplifier les appels depuis un bouton en insérant seulement 5 lignes pour diffuser un message sur 1 ou plusieurs squeezebox.
-
Freebox V6 Ce code tourne depuis plus d'un an (et s'appuyait sur une zibase avant la HC2) et depuis ma maison est toujours joignable Le plantage était une perte de synchro certainement due à des travaux dans la rue (changement de canalisations, passage de la fibre ...). Depuis que ça s'est calmé dehors, je n'ai pas eu de nouvelles désynhro. Dernier lancement du script après un gros orage en juillet pendant que j'étais absent. La boxe était pourtant sur onduleur, mais les équipements extérieurs ont morfler d'après les voisins qui ont vécus la fin du monde ! Le script s'est lancé et la box s'est remise d'aplomb
-
J'avais surtout un code tronqué en affichage. Je viens de le remettre au propre. Cela dit, l'idée est aussi de permettre à un possesseur de HCL (donc sans lua) de lancer une scene bloc avec une commande du style : http://<LOGIN>:<PASS>@<IP>/api/sceneControl?id=<SCENE ID>&action=start Vous trouverez un petit tutoriel sur les commande http là : http://tutoriels.domotique-store.fr/content/76/45/fr/api-commander-le-home-center-par-des-requêtes-http.html
-
C'est donc ton téléphone sous android qui posait problème ? Tiens nous au courant de la fiabilité dans le temps.
-
Quel est votre fournisseur d’accès Internet ?
JossAlf a répondu à un(e) sujet de Moicphil dans Le bistrot
Idem. Petite couronne, même opérateur, ligne de 4000 mètres et 4 à5 pauvres mégas ... Quand mes parents et beaux parents en campagne (à800 km les uns des autres donc c'est pas géographiquement le même lieu) se tapent des 15 et 20 méga ! La fibre est dans ma ville (et même dans ma rue) mais impossible d'en profiter chez free. Je pige rien àla mutualisation des réseaux moi