-
Compteur de contenus
1 078 -
Inscription
-
Dernière visite
-
Jours gagnés
14
Tout ce qui a été posté par JossAlf
-
Oui. Je recommence et compte jusqu'à10 avant de rebranches...
-
Idem. La commande dans safari http://192.168.0.55/cgi-bin/leds donne Failed to open connection to "system" message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory HTTP/1.0 200 OK Server: OpenKarotz WebServer 1.0 Connection: close Accept-Ranges: bytes Content-type: text/plain Access-Control-Allow-Origin: * {"color":"00FF00","secondary_color":"000000","pulse":"0","no_memory":"0","speed":"700","return":"0"}
-
Merci. Je suis repassé en 207 sans couper le jus. Je n'avais pas vu ton message. Même résultat : bleu clignotant mais accessible. Dois je repasser en 208 couper le jus et repasser en 207 ?
-
Cool le retour àla couleur d'origine sera facile Par contre j'ai passé le lapin en 208 et patatra... Il est accessible pour certaines choses comme les oreilles, le TTC mais il s'allume en bleu et je ne peut pas changer les couleurs. Au début je pensais qu'il n'était pas connecté... Mais si. Bon après 2 heures il était planté. Vu que la v208 est toujours accessible, je vais la relancer. On verra. Suis vert le 207 était super stable chez moi. En tapant ta première ligne de commande (message 13) voici ce que j'obtiens : Failed to open connection to "system" message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory HTTP/1.0 200 OK Server: OpenKarotz WebServer 1.0 Connection: close Accept-Ranges: bytes Content-type: text/plain Access-Control-Allow-Origin: * {"color":"FFFF00","secondary_color":"000000","pulse":"1","no_memory":"1","speed":"700","return":"0"}
-
La télécommande se règle avec des switchs ? Ce serait étonnant que ce soit un code tournant. Et si ça a fonctionné au mois 2ou 3 fois c'est que c'est pas du tournant.
-
C'est quoi ton portail ? Tu n'aurais pas un code tournant ?
-
@Steven Les curseurs permettant de régler la couleur de la lumière ne fonctionnent pas. Idem pour le curseur du clignotement... qui partage la même architecture de code J'ai l'impression qu'il y a un "end" en trop ligne 50 dans les boutons 7, 8, 9 et 10 : [ERROR] 19:00:12: line 50: '' expected near 'end' Si on supprime le "end" les curseurs fonctionnent. Par contre impossible de revenir à la couleur et au clignotement standard si on remet tous les curseurs à 0 ... Il serait peut-être bon de prévoir un enregistrement des réglages et de revenir dessus quand tous les curseurs sont à 0 (ou avec un autre bouton "Reset couleur"). Petit détail sur les oreilles : Si on fait appui sur le bouton "reset" et que l'on attend 2 ou 3 secondes, Quand on choisi de bouger l'oreille gauche, la droite bouge légèrement ?! J'ai rien vue dans ton code qui justifierait ça mais j'ai peut-être mal regardé.
-
Mise àjour du premier message en unifiant les noms des variables "MaVariable" pour faciliter la lecture (et éviter les hiatus ou contresens). Ajout de commentaires dans le code pour faciliter la compréhension.
-
Ha oui j'avais carrément oublié webdav !
-
Cool Steven. Merci.
-
Je crois que ce point en bas àdroite correspond au statut des détecteurs d'ouverture. Il n'est d'ailleurs présent que sur les pièces qui possèdent au moins un détecteur d'ouverture.
-
Modification Des Catégories Du Forum
JossAlf a répondu à un(e) sujet de Moicphil dans Annonces et suggestions
C'est vrai que c'est plus facile. On en redécouvre. C'est génial. Une question : les nouveaux tuto s'ajoutent automatiquement ou c'est vous qui vous en chargez ? -
Au fait, merci àTomzeBest, Steven, Lazer et Krikroff (et ceux que je pourrais oublier) qui m'ont permis de retrouver le sens commun ... Je croyais àtord que les variables globales étaient TOUTES (et uniquement déclarées) dans le panneau de variables ... N'importenawouak !!! Ce panneau de variables (n'est qu'une) est super important puisqu'il permet de partager les variables Globales entre toutes les scènes et tous les modules grâce àune base de données ...
-
Ajout du fichier oublié avec la mise à jour
-
Après avoir rencontré quelques difficultés avec la portée des variables, je vous propose un précis sur le sujet : Petit rappel : Une variable permet de stocker des valeurs de façon temporaire ou non dans des noms. On pourra en suite faire appel àces noms n'importe où dans notre code. Si cette gestion de l'information semble suffisante dans un petit script, il n'en va pas de même pour de longs codes (comme ceux dont nous gratifient Krikroff ou Steven) En effet, il serait catastrophique que des fonctions différentes utilisent le même nom de variable pour y stocker des valeurs !!! Les variables seraient alors écrasées ... Et ça c'est pas bon... La solution est de limiter la portée d'une variable en utilisant la notion de variable locale. Ainsi la variable locale n'aura d'existence que dans le bloc dans laquelle elle a été crée ! Mais qu'est-ce qu'un bloc ? Et bien c'est par exemple ce qui est situé entre if et end, ou entre do et end, ou encore une fonction ... Ben alors comment qu'on va faire maintenant ? Déjà, on a de la chance, puisque le Lua utilise ces 2 types de variables et que c'est super simple de les créer ! Les variables Globales sont crées simplement en tapant leur nom suivi d'un "=" et de la valeur numérique souhaitée ou du texte entre "" ou ' ' : MaVariableGlobale = 1 Attention : Fibaro propose en plus une gestion particulière des variables Globales par le biais de son Panneau variables. Il sera donc inutile de la déclarer ànouveau dans votre code pour l'utiliser. Cette gestion permet d'utiliser une même variable commune àtoutes les scènes ou modules de votre HC2. Les variables Locales sont quant àelles créées en ajoutant cette fois le mot local devant le nom de la variable (c'est ce mot clé qui restreint sa portée àun bloc ou àune fonction) : local MaVariableLocale = 2 Attention : Pour changer la valeur de cette variable locale il ne sera plus nécessaire de mettre le mot clé "local" devant ! Bon après ça dépend de ce que vous souhaitez faire... Mettre àjour la variable ou en créer une nouvelle (voir plus bas *) Mais c'est peut-être ce que vous voulez finalement ? Oui et non Il faudra être vigilant quant àla portée que l'on souhaite donnée àsa variable et choisir qu'elle soit locale ou globale. En effet, dans une fonction, il peut être intéressant d'utiliser une variable et d'être certain qu'il n'y aura pas de conflit avec un nom que vous auriez utilisé avant. C'est làque vous allez utiliser la puissance de la variable LOCALE ! Voici un exemple de la portée d'une variable locale (regardez la valeur retournée par le début). On voit clairement que nous avons àfaire à2 variables locales : local MaVarLocale = 1 fibaro:debug(MaVarLocale) -- donne 1 do local MaVarLocale = 5 -- création d'une nouvelle variable locale au sein du bloc (rien àvoir avec celle créée ligne 2 !) fibaro:debug(MaVarLocale) -- donne 5 end fibaro:debug(MaVarLocale) -- donne 1 Même si elles ont le même nom, elles ont été déclarées dans 2 blocs différents. Le système les considère comme complètement différentes àcause du mot clé local. Le danger avec le Lua c'est que ce langage est très permissif et qu'àforce d'omission, on peut se prendre les pieds sans le tapis ... Je m'explique en reprenant le même code qu'au dessus en supprimant le mot clé local : MaVariable = 1 -- création d'une variable globale fibaro:debug(MaVariable) -- donne 1 do MaVariable = 5 -- mise àjour de la variable globale créée ligne 2 fibaro:debug(MaVariable) -- donne 5 end fibaro:debug(MaVariable) -- donne 5 Ici nous n'avons àfaire qu'àune seule variable globale (elle s'appelle MaVariable ! Elle est considérée ici par le système comme globale car nous ne l'avons jamais déclarée avec le mot clé local. Ok ! Alors maintenant vous vous dites : je vais déclarer ma variable MaVariable en local dès la première ligne (comme ça je suis tranquille) : local MaVariable = 1 -- création d'une variable locale fibaro:debug(MaVariable) -- donne 1 do MaVariable = 5 -- ici pas de mot clé local, donc mise àjour de la variable déclarée ligne 2 fibaro:debug(MaVariable) -- donne 5 end fibaro:debug(MaVariable) -- donne 5 (C'est ici plus bas * !!!) Ici il n'y a pas d'erreur ! Ce code est valable si vous souhaitiez vraiment utiliser la même variable locale (dans un nouveau bloc) que celle déclarée en locale au début de votre script (et donc la mettre àjour). La Variable est mise àjour et non créer au sein du nouveau bloc. Le code suivant crée 4 variables locales MaVariable : local MaVariable = 0 -- création d'une variable locale do local MaVariable = 1 -- création d'une nouvelle variable locale (rien àvoir avec le ligne 2 end do local MaVariable = 2 -- création d'une nouvelle variable locale (rien àvoir avec le ligne 2 et 5 end do local MaVariable = 3 -- création d'une nouvelle variable locale (rien àvoir avec le ligne 2 ; 5 et 9) end Le code suivant crée 1 seule variable locale MaVariable et la met àjour 3 fois : local MaVariable = 0 -- création de la variable locale do MaVariable = 1 -- mise àjour de la variable déclarée ligne 2 end do MaVariable = 2 -- mise àjour de la variable déclarée ligne 2 et modifiée àla ligne 5 end do MaVariable = 3 -- mise àjour de la variable déclarée ligne 2, modifiée àla ligne 5 et modifiée ànouveau ligne 9 end Ce code utilise une seule variable Globale MaVariable car on a supprimé la 1ère ligne ! : -- On supprime la déclaration de la variable locale en la commentant : -- local MaVariable = 0 do MaVariable = 1 -- création de la variable globale ! end do MaVariable = 2 -- mise àjour de la variable globale ! end do MaVariable = 3 -- mise àjour de la variable globale ! end Subtile non ?! Une ligne en moins au début et on passe tout de local en globale ! Voilàpourquoi je disais que le côté permissif du Lua peut jouer des tours. Imaginez que vous vous trouviez àla tête de 1500 lignes de codes, il se pourrait que vous souhaitiez mettre àjour une variable globale (donc sans local devant) mais que malheureusement vous ayez àfaire àune variable locale déclarée quelques lignes au-dessus... ... En espérant que ce sujet vous ait été utile.
-
Amélioration du code dans le message 1 : • Suppression des if then end au profit d'une table dictionnaire ligne 18 (Merci Steven) • Suppression d'une variable globale "Player" inutile • Ajout de debug pour comprendre le déroulement du programme et vérifier vos réglages
-
C'est sur que la pile n'est pas assez puissante ! Et n'oublie pas qu'il faut alimenter le creasol au moins une seconde ou 2... Ça dépend aussi de la longueur du signal.
-
La caisse de la voiture fait Cage de faraday. Essaye de sortir le creasol pour faire des essais. Si ça fonctionne il va falloir que tu trouves l'endroit (derrière la grille de prise d'air) où le creasol ne sera pas muselé...
-
Tu n'aurais pas un pare-brise athermique plombé ?
-
Ton creasol Sender est placé où sur ta bécane ? Moi il est au centre du cintre/guidon sous le capot plastique (de mon Nexus 300).
-
J'en remets une couche avec l'excellent tuto sur le site de Cédric Le Locqueneux (maison et domotique) que tu trouveras ici : DIY: votre Squeezebox pour 40€
-
Ben franchement si tu as le NAS une squeeze et que tu ne veux que faire de la diffusion de messages reste avec le squeeze et essaye ça : http://www.domotique-fibaro.fr/index.php/topic/1185-emission-simplifiée-sur-squeezebox/ Si tu n'en n'as qu'une, tu pourras ajouter des Raspberry.
-
pfff (tu as a mis une majuscule à player -> Ca peut pas marcher) Bon allé j'arrête @Lazer Merci encore à tous.
-
Oui c'est sur ! Mais j'attends qd même la réponse de Steven !
-
Ha tu me cherches hein ?! Un autre truc dans le genre tordu : player = "001" local player = "003" fibaro:debug(player) Affichage du debug : 003 (c'est donc la locale qui est retenue puisque la dernière déclarée) Mais je fais comment pour retrouver ma Globale ? 001 ?