Aller au contenu

trainkill666

Membres confirmés
  • Compteur de contenus

    273
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Messages posté(e)s par trainkill666

  1. Il y a Imperihome sous Android.

     

    Tu y choisis les modules ainsi que leurs positions, leurs tailles, les icônes, des graphiques, la vidéo des caméra, des lignes de commandes, jauges de consommation ...

     

    C'est un très bon logiciel qui est compatible depuis peu de temps avec les box Fibaro.

    Il y a donc quelques bugs de reconnaissance de modules, et toutes les possibilités disponibles avec les autres box arriveront dans les mises à  jour.

     

    Il y a une version gratuite et payante (que je possède) qui vaut largement le coup.

  2. Pour plusieurs modules virtuels sonos  ;)  :

    (non testé)

    la liste sonos est modifiable.

    --[[
    %% properties
    94 value
    124 value
    119 value
    10 value
    32 value
    %% globals
    --]]
     
    -- récupération de l'ID déclencheur
    local moduleactif = fibaro:getSourceTrigger()
     
    if (moduleactif ['type'] == 'property') then
       IDactif  = tonumber(moduleactif ['deviceID'])
       fibaro:debug("moduleactif id = "..IDactif)
       local NomDeclencheur = fibaro:getName(IDactif)
       print("ID du Module déclencheur = ", IDactif, " - Nom : ", NomDeclencheur)
    else
       fibaro:debug("La scène ne peut être lancer que par une Variable Globale")
       fibaro:abort();
    end
    
    local jedors = fibaro:getGlobal("jedors")
     
    -- correspondance entre ID capteur et numéro du message à  envoyer
    local buttonpourcapteur = {[10] = "2", [32] = "3", [94] = "4", [119] = "6", [124] = "5"}
    
    -- liste des ID modules virtuels sonos
     local listesonos = {134, 136, 137, 138}
     
    -- Lancement
    if jedors == "1" and tonumber(fibaro:getValue(IDactif, 'value')) > 0 then
    	for index, idsonos in pairs(listesonos) do
    		fibaro:call(idsonos, "pressButton", buttonpourcapteur[IDactif])
    	end
    fibaro:debug("notification envoyée")
    end
    
  3. @ mprinfo :

    Tu fatigues aussi ou tu es déjà  à  l'apéro :60: ,

     

    il y a 3 coquilles dans ta scène :

     

    la ligne 20 : il faut plutôt mettre ça :

    local NomDeclencheur = fibaro:getName(IDactif)
    

    Ligne 27, il manque "-" :

    -- correspondance entre ID capteur et numéro du message à  envoyer
    

    Tu as oublié :

    local jedors = fibaro:getGlobal("jedors")
    

    Bah du coup je te suis pour l'apéro, avec un bon saucisson sec. :P

    Je vais encore manger tard aujourd'hui. :2:

    • Upvote 1
  4. Testé sur ma box, tout tourne comme une horloge suisse, il y avait juste la parenthèse en trop d'hier.

     

    Mais je viens de comprendre pourquoi tu as une erreur,

     

    tu lances le programme en cliquant sur démarrer, il n'y a donc pas d'ID déclencheur, or IDactif = au nombre de l'ID qui a déclenché la scène. IDactif = nil.

     

    Pour le tester, n'utilise pas ce bouton "démarrer", fait le en condition réel en te déplaçant devant tes capteurs par exemple,

    ou force une valeur a IDactif a la ligne 16 le temps de ce test.

     

    Si tu n'a pas compris je peux reformuler différemment.

  5. Non testé, il y a peut-être des fautes de frappes  :)  :

    --[[
    %% properties
    94 value
    124 value
    119 value
    10 value
    32 value
    %% globals
    --]]
    
    --jedors est retiré des déclencheurs car pas utile
    
    -- récupération de l'ID déclencheur
    local moduleactif = fibaro:getSourceTrigger()
    local IDactif = tonumber(moduleactif['deviceID'])
    
    local jedors = fibaro:getGlobal("jedors")
    
    --affichage du nom du capteur déclencheur et de son ID
    fibaro:debug(fibaro:getName(IDactif))
    fibaro:debug(IDactif)
    
    -- correspondance entre ID capteur et numéro du message à  envoyer
    local buttonpourcapteur = {[10] = "2", [32] = "3", [94] = "4", [119] = "6", [124] = "5"}
    
    
    -- Lancement
    if jedors == "1" and tonumber(fibaro:getValue(IDactif, 'value')) > 0 then
    fibaro:call(134, "pressButton", buttonpourcapteur[IDactif])
    fibaro:debug("notification envoyée")
    end
    
    • Upvote 2
  6. @ pascal

    Merci :) , les vacances ne sont malheureusement pas avant 1 mois.

     

    @zeldoi5

    Est-ce en partie une réponse à  ta question :

    local verifparametres = function(volet)
    	local veriftemp
    	local definirtemp = {voletSalon = 177, voletChambre = 71, voletJardin = 159}
    	local definirbutton = {voletCuisine = 40, voletSalon = 43, voletChambre = 42, voletJardin = 41}
    	local definirzibase = {voletCuisine = "ZIBASE_V15", voletSalon = "ZIBASE_V18", voletChambre = "ZIBASE_V17", voletJardin = "ZIBASE_V16"}
    	if volet == "voletCuisine" then
    		veriftemp = tonumber(fibaro:getGlobalValue("OS439156759_V1"))/10
    	else
    		veriftemp = fibaro:getValue(definirtemp[volet], "value")
    	end
    	return tonumber(fibaro:getGlobalValue(definirzibase[volet])), veriftemp, definirbutton[volet], definirzibase[volet]
    end
    
    
    function ferme(volet, saison, statut)
    
    
    local statut_volet, temp, call_button, zibase_id = verifparametres(volet) -- remplace la ligne 138 à  168
    

    Semble être fonctionnel. ;)

     

    Ne lâches pas l'affaire si vite, on en est qu'au début de ce sujet.

     

    Le script de mprinfo peut également t'aider comme le dit pépite.

  7. C'est toujours ça de pris ;)  .

     

    Tu souhaites que la fonction ferme(...) soit simplifiée pour qu'il n'y ai pas le test pour chaque volets de la ligne avec

    if (tostring(volet) == tostring("voletCuisine"))
    

    jusque

    (tostring(volet) == tostring("voletJardin"))
    

    ?

  8. Bonjour zeldoi5

     

    Voici une version un peu simplifiée de ton code de la ligne 1 à  62 qui donne le même résultat, si je n'ai pas fait d'erreur :

        local currentDate = os.date("*t");
             
        fibaro:debug(" Lancement Fermeture Selective GLOBALE");
        fibaro:debug(" ->Statut volets RdC : "..fibaro:getGlobalValue("GLOBALE_FERM_RDC"));
        fibaro:debug(" ->Statut volets 1er : "..fibaro:getGlobalValue("GLOBALE_FERM_1ER"));
         
        --Initialisation des variables de scène
    	local definirjour = { "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"};
    	local jour = definirjour[currentDate.wday];
    	local definirmois = { "JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE"};
    	local mois = definirmois[currentDate.month];	
    	local definirsaison = { "hiver", "hiver", "hiver", "hiver", "été", "été", "été", "été", "été", "hiver", "hiver", "hiver"};
    	local saison = definirsaison[currentDate.month];		
        local annee = currentDate.year;
        local heure = currentDate.hour;
        local minute = currentDate.min; 
     
        local voletCuisine = "";
        local voletSalon   = "";
        local voletChambre = "";
        local voletJardin  = "";
         
        local tempCuisine = tonumber(fibaro:getGlobalValue("OS439156759_V1"))/10;
        local tempSalon   = fibaro:getValue(177, "value");
        local tempChambre = fibaro:getValue(71, "value")
        local tempJardin  = fibaro:getValue(159, "value");
            
        fibaro:setGlobal("MsgSMS", "");    --Initialisation SMS
         
        fibaro:debug("Fermeture des volets selective GLOBALE en mode "..status_present..", le "..currentDate.day.."/"..currentDate.month.."/"..annee.." à  "..heure..":"..minute..".");
         
    	local definirpresence = { "Présent", "Absent", "Repos" };
    	local status_present = definirpresence[ tonumber(fibaro:getGlobalValue("PRESENCE")];	
    
    • Upvote 1
  9. @Gazous

    Je rencontre exactement le même problème avec mon FGS-221 dans le couloir pour l'éclairage de 3 spot LED de 7w chacun, avec un script de détection de mouvement.

    Le module se bloquait aussi avec la zipabox il y a 2 ans. Je l'ai remplacé 2 fois par 1 neuf, mais le blocage du contacteur est réapparu.

    Ce qui est étrange c'est que j'ai 3 autres pièces gérées de la même façon qui fonctionnent parfaitement :

    Le hall pour 1 spot LED de 12W.

    La cuisine pour 3 ampoules fluocompact de 23W chacune (1 seul blocage depuis 1 an où j'ai été obligé d'ouvrir l'interrupteur pour taper directement sur le module).

    La Salle de bain pour 3 ampoules fluocompact de 23W, et 2 spot de 7W.

    Le défaut du contacteur est présent pour la VMC en vitesse 2 si, et seulement si je change trop souvent de vitesse sur 1 temps réduit.

     

    Note : j'habite à  la campagne et il y a régulièrement des variations de tension visibles sur l'éclairage.

    Les voisins changent souvent leurs ampoules, les appareils électroniques sensibles de la maison sont placés sur onduleurs car j'en ai eu plusieurs de grillés.

    On est généralement sur 250V voire plus.

    J'ai retiré le FGR-221 car les fins de courses se déprogrammaient sans arrêt, peut-être à  cause de micro-coupures.

  10. J'ai également des problèmes d'accès distance depuis 2 semaines.

     

    Par contre un nouveau bug est apparu sans que je comprenne pourquoi. La RAM passe en quelques jours à  99% puis la box bloque. Je dois la redémarrer tous les 3 jours.

    A part réinstaller un FGMS-001 et modifié 2 ou 3 lignes de code de modules virtuels qui ne tournent pas en boucle mais par appui de boutons, rien n'a changé.

  11. @Sakkhho :

     

    En prenant les derniers codes de

    Gazous (juste 1 copier-coller de la boucle exclusion renommé inclusion et 1 à  modifier, ça prends 1 min pour modifier le code)

    moi (recherche très (trop) restrictive pour beaucoup d'utilisateurs  :P mais peut intégrer ta lampe)

    ou en attendant la version de JoJo qui va faire une petite compilation de toutes les propositions qui sera adaptée à  tout le monde. ;)

  12. Les AEON LABS DSA22 font planter les scènes en 4.042.

    [DEBUG] 23:59:02: 290
    [DEBUG] 23:59:02: Touche: 1
    [DEBUG] 23:59:03: demarrage du processus
    [DEBUG] 23:59:03: Sun Apr 26 23:59:03 2015
    [ERROR] 23:59:03: Runtime error: /opt/fibaro/FibaroSceneAPI.lua:91: attempt to concatenate local 'deviceId' (a nil value)
    

    Même

    if (fibaro:countScenes() > 1) then fibaro:abort() end
    

    ne suffit pas. Il lance la scène 2 fois avec la 2 ème valeur nul qui plante le 1er lancement.

    J'avoue ne pas comprendre, pourtant je viens d'une Zipabox, donc niveau absurdité je pensais avoir vu le summum (des modules pris en charges qui ne fonctionnent plus et ne sont plus reconnus d'un jour à  l'autre régulièrement).

     

    Plus il y a de mise à  jour et plus on régresse, les DSA22 non fonctionnels, les 7 EZmotion+ font planter le réseau Zwave et il est impossible d'avoir les remontés de température et de luminosité toutes les minutes, elles reviennent toutes les heures mini, même les FGS221 se rebellent, depuis la v4.03X le islight n'existe plus, et les modules éclairages disparaissent et apparaissent à  leur guise dans l'appli android. J'ai des erreurs 403 qui s'affichent aléatoirement.

     

     

    Modification : Il s'agit pour les DSA22 d'une erreur de programmation de ma part qui n'apparaissait pas précédemment dont le debug portait à  confusion. -_- Cependant le problème des autres modules ne correspond pas à  de la programmation. De plus 1 seule de mes 2 DSA22 a ses 8 boutons qui fonctionnent, l'autre en 1.11 n'en a que 2 voir 4 quand elle veut.

     

    Modification 2 : La 2ème DSA22 en 1.12 n'est plus utilisable après réinclusion (plusieurs essais), car on ne peut plus y ajouter de paramètres dont le 250 à  1. Ils programment à  la truelle et au marteau piqueur ? S'ils sont dépassés, qu'ils passent en "open source", on pourra enfin avancer.

    • Upvote 1
  13. Bonsoir Pascal,

    function ajoutvariable(Nom, typevariable, Valeurbase, Valeurspredef)
        if (fibaro:getGlobal(Nom) == "") then
            composants = {}
            composants.name = Nom
            composants.isEnum = typevariable
            composants.value = Valeurbase
            HC2 = Net.FHttp("127.0.0.1", 11111)
            HC2:POST("/api/globalVariables", json.encode(composants))
            if composants.isEnum == 1 then
                  composants.enumValues = '[' .. Valeurspredef .. ']'
                  HC2:PUT("/api/globalVariables/"..Nom, json.encode(composants))
            end
        end
    end
    
    ajoutvariable("Test1", 0, "1")
    ajoutvariable("Test2", 1, "2", '"1", "2", "3", "4"')
    

    Peux-tu stp me dire où est l'erreur de syntaxe qui fait que la variable prédéfinie est vide.

  14. @ pinou et Rocketlud

     

    J'utilise une fi8910w qui fonctionne même après passage en V4 (au moins un bug que je n'ai pas :P ).

     

    Elles est configurée entièrement en manuel (il y a peux être un plugin mais comme tout fonctionne...).

     

    Voici la configuration, ça peut être utile à  quelqu'un :

     

    Ulitisateur : XXXX

    mot de passe : XXXX

     

    affichage des images de la caméra sur la page d'accueil : case cochée

     

    Adresse IP: 192.168.X.X:PORT

     

    JPG : snapshot.cgi?user=XXXX&pwd=XXXX

    MPEG : video.cgi?user=XXXX&pwd=XXXX&resolution=32&rate=13

    les paramètres resolution et rate brident la caméra en 640x480 à  une fréquence de 3 images par secondes (inutile de mettre plus dans mon cas, mais vous pouvez le faire). J'avais des problèmes de rafraîchissement d'image réglés par cette méthode.

     

    gauche : decoder_control.cgi?command=4&user=XXXX&pwd=XXXX

    ...

     

    Envoyer STOP coché

     

    JPG coché

     

    Délai d'actu 3s

     

    MJPG décoché

  15. @ PITP2

     

    j'ai eu ce problème en 4.040 sur les FGS221. C'est réapparu par magie depuis la 4.042. Je peux de nouveau mettre le chiffre dans "Consommation de courant:" qui avait disparu.

    Par contre mes modules éclairages n'apparaissent de nouveau plus dans l'application android dans la section correspondante.

  16. @ JossAlf

     

    La version que j'ai faite tourne non stop avec le ".decode" dans le Main Loop depuis le 8 avril sans aucun plantage ni message d'erreur sur le debug.

    Je suis en V4.040.

     

    Par contre le "HC2 = Net.FHttp("127.0.0.1", 11111)" me faisait également planter la boucle lors de la précédente version du code (pb déjà  rencontré il y a 10 mois environ sur un MV du test réseau de toute la maison depuis 10 mois), d'où la nouvelle version que j'ai totalement réécrite en page 5 et fonctionnelle.

     

    Maintenant peut-être que l'erreur passe inaperçue, ou qu'une semaine n'est pas un délai assez long pour tester la fiabilité, c'est possible (sleep de 10 secondes + 3 secondes initiales du Main Loop). Rendez-vous dans 1 mois. ;)

×
×
  • Créer...