Aller au contenu

duch

Membres confirmés
  • Compteur de contenus

    21
  • Inscription

  • Dernière visite

Profile Information

  • Sexe :
    Homme
  • Ville :
    Perpignan et alentours
  • Box
    Home Center 2
  • Version
    HC2

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

duch's Achievements

Newbie

Newbie (1/14)

3

Réputation sur la communauté

  1. Bonjour à tous, ma maison est toute neuve et j'y ai fait installer 2 rubans de LEDs par l'électricien à une époque où je n'avais pas encore abordé la domotique. L'installation a été faite avec un ruban de marque Jisco 24V dimmable et un énorme transfo Relco dimmable 80W (20 cm de long au moins). Chaque barre est contrôlée avec un seul bouton poussoir. Vu la taille des transfo ils ont été déportés au niveau du tableau électrique, j'y ai donc la phase et le neutre. Au bout de 3 mois j'ai déjà une barre qui a perdu 2 groupes de 4 LEDs et l'alim de cette même barre qui déconne (elle reste constamment allumée à 50% même quand on l'éteint). Je vais donc ramener ce ruban et son alim au fournisseur mais au lieu de faire un échange standard j'aimerai voir si il n'y a pas un choix plus avisé. J'ai vu qu'il existait des rubans LED en "220V" mais ils ont toujours un mini transfo avec un câble très court, j'ai peur qu'il ne soit pas envisageable de l'éloigner du ruban pour arriver jusqu'à mon tableau (5 à 6 mètres sur des câbles de 1,5). De plus ces rubans sont-ils vraiment compatibles avec un FGD-212? Que dois-je vérifier pour m'en assurer? merci de votre aide
  2. duch

    Mon Test Jeedom

    Bon bah j'ai reçu mon Raspberry hier en fin de matinée et je l'ai installé dans la foulée et c'est une énorme claque ! j'ai du y passer en tout une demie journée et là tous mes plugins sont installés et comble de la geekerie, connecté avec Siri Pour rassurer Seb j'ai pris quelques précautions afin de préserver ma carte SD : - déplacement du rootfs sur une clé USB - montage du dossier /tmp en RAM (minimum 30Mo pour télécharger jeedom, j'ai mis 50) - utilisation de log2ram pour alléger /var/log - et je ferais évidemment un dump de la carte SD et de la clé USB une fois que tout sera installé les premiers contacts avec les plugins ont été un peu chaotiques je dois bien l'avouer mais après en avoir installer un ou deux j'ai pigé le truc et ça a roulé. Quel bonheur d'avoir un contrôle total sur la solution, par exemple j'ai un domaine chez Gandi donc au lieu d'utiliser un DynDns j'ai un petit cron qui me mets à jour mon LiveDns et hop l'application mobile me trouve de n'importe où . Quel bonheur également de pouvoir faire un vrai ping prochaines étapes : - refaire les scénarios (j'en avais pas beaucoup puisque je venais de débuter sur la HC2) - faire fonctionner mon DashButton (y'a un plugin pour ça) et dans un futur moyennement proche : - intégrer une alarme, peut-être une Satel , en me basant sur https://github.com/mkorz/IntegraPy
  3. Salut, ça a sans doute déjà été fait mais ce matin, pendant la panne OVH, je me suis amusé à intégrer mon détecteur de mouvement dans une platine double avec un cache en attente, ça lui donne un petit côté HAL900 Le résultat est à améliorer car la découpe est dégueu et il faut faire un joint propre mais si ça peut donner des idées...
  4. duch

    Alarme SATEL Integra-32

    d'après la description du site de pluscom, la 128 WRL inclut le boitier et les antennes : https://www.pluscom.pl/en/satel-integra-128-wrl-control-panel-with-8-to-128-zones-gsm-and-abax-p950.html c'est la référence opu-3p qui me semble suffisant pour tout caser : https://www.pluscom.pl/en/satel-opu-3p-control-panel-enclosure-p987.html
  5. duch

    Alarme SATEL Integra-32

    J'ai fait un panier chez Pluscom (forcément en sans-fil ça fait un peu mal), je pense n'avoir rien oublié niveau câbles, batteries et autres mais pourriez-vous me le confirmer SVP car c'est pas facile de savoir ce qui est indispensable et inclus ou non? merki.
  6. duch

    Alarme SATEL Integra-32

    Hé hé, maintenant je sais que si je choisis une alarme Satel j'ai plusieurs options pour communiquer avec : - hc2 via le plugin - script python sur un raspberry - contacts secs sur la carte d'extension INT-0 C'est assez important pour moi car il est probable que je garde mon alarme bien plus longtemps que ma box domotique et je pense à l'avenir
  7. duch

    Alarme SATEL Integra-32

    Merci pour cette mise en garde, j'ai prévu de mettre mes données sur un disque USB externe, j'en ai quelques uns en stock
  8. duch

    Mon Test Jeedom

    merci pour ce topic, Raspberry + clé z-wave commandés
  9. duch

    Alarme SATEL Integra-32

    effectivement j'ai trouvé ce script qui semble pas mal : https://github.com/mkorz/IntegraPy Dans ces conditions c'est un argument de plus pour la Satel puisque si pour une raison ou une autre je décide de changer de box je pourrais toujours me connecter à mon alarme via le Raspberry. Merci de ton aide.
  10. duch

    Alarme SATEL Integra-32

    c'est moins cher mais 4 sorties ça fait un peu juste
  11. duch

    Alarme SATEL Integra-32

    Je suis en contact avec l'importateur français depuis quelques jours et ça se passe très bien. Je viens d'avoir un technicien au téléphone qui me dit pouvoir sortir les états sur les sorties de la carte integra (2 sur la 32) et de la carte INT-0 sous forme de contacts secs. De cette manière je pourrais avoir une alarme fiable et 100% autonome avec des remontées d'état par l'intermédiaire d'un rapsberry PI. à suivre...
  12. J'étais en déplacement désolé, c'est l'adresse MAC (pas l'IP) qu'il faut mettre dans le champ adresse IP et tu laisse le port à 0
  13. houlà, beau travail, faut pas s'emballer, je n'ai fait que récupérer le VD des cadors du forum et le détourner honteusement pour mon usage. En parlant de honte, le Dash button disparait très rapidement du réseau donc j'ai mis en commentaire le sleep entre chaque essai (qui prends déjà une bonne seconde chez moi) et j'ai mis le maxRetry à 3 mais la RAM de ma box est à 39%. Même avec ça j'ai pas un taux de reconnaissance de 100%, je dirais dans les 80%. Ok pour déclencher le café du matin mais pour le reste...
  14. C'est bon ça marche, il y a une latence de 10 à 15s environ, il me faut bien plus de temps que ça pour m'extraire du lit voici le code fonctionnel, bien évidemment il peut être largement optimisé : le bouton -- IP Smartphone Presence Check V2.2 using arp table -- Copyright © 2014 Sébastien Jauquet. -- http://www.domotique-fibaro.fr/index.php/topic/2613-detection-de-pr%C3%A9sence/ -- mac adress check: Roman -- http://forum.fibaro.com/index.php?/topic/21062-idea-how-to-monitor-people-at-home/#entry86009 -- modifier le 08-02-2017 V2.31 beta local variable_globale_phone = "DashButtonChambre"; --------------------------------------------------------------------------------------------------------------- local current_icon_absent = 1027 -- icone absent local current_icon_present = 1026 -- icone present local current_icon_recherche = 1028 -- icone recherche du tel local ID_Tel = 259 -- Id du Tel laisser vide pour ne pas recevoir de notifications --------------------------------------------------------------------------------------------------------------- local maxRetry_Process = 2; local check_wait = 1; -- (seconds) to wait between each poll device local debug = true --------------------------------------------------------------------------------------------------------------- -- Ne rien toucher en dessous de cette ligne --------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------- -- Fonction affichage debugage --------------------------------------------------------------------------------------------------------------- function Debug(color, message) if debug then if color and color ~= "" then fibaro:debug('<span style="color:'..color..';">'..message..'</span>'); else fibaro:debug(message); end end end ------------------------------------------------------------------------------------------------------- -- Verification si Global Variable existe by @LAZER ------------------------------------------------------------------------------------------------------- function VG(VG_phone) fibaro:debug("Verification VG "..VG_phone) local HC2 = Net.FHttp("127.0.0.1", 11111) local response, status, errorCode = HC2:GET("/api/globalVariables/"..VG_phone) if tonumber(errorCode) == 0 and tonumber(status) == 404 then -- Create global variable if it does not exist local payload = '{"name":"'..VG_phone..'", "isEnum":0, "value":""}' local response, status, errorCode = HC2:POST("/api/globalVariables", payload) if tonumber(errorCode) == 0 and (tonumber(status) == 200 or tonumber(status) == 201) and response ~= nil and response ~= "" then fibaro:debug('<span style="display:inline;color:green;">Global variable "'..VG_phone..'" created</span>') else fibaro:debug('<span style="display:inline;color:red;">Error : Cannot create global variable "'..VG_phone..'", errorCode='..errorCode..', status='..status..', payload='..payload..', response='..(response or "")..'</span>') end end end --------------------------------------------------------------------------------------------------------------- -- Mise à jour de etiquette message --------------------------------------------------------------------------------------------------------------- function Label(couleur, mesg) if couleur ~= "" then fibaro:call(selfId, "setProperty", "ui.Message.value", '<font color="'..couleur..'">'..mesg..'</font>') else fibaro:call(selfId, "setProperty", "ui.Message.value", mesg) end end --------------------------------------------------------------------------------------------------------------- -- Fonction Heure secondes --------------------------------------------------------------------------------------------------------------- function SecondsToClock(sSeconds) local nSeconds = tonumber(sSeconds) if nSeconds == 0 then return "00:00:00"; else nHours = string.format("%02.f", math.floor(nSeconds/3600)); nMins = string.format("%02.f", math.floor(nSeconds/60 - (nHours*60))); nSecs = string.format("%02.f", math.floor(nSeconds - nHours*3600 - nMins *60)); return nHours..":"..nMins..":"..nSecs end end --------------------------------------------------------------------------------------------------------------- -- fonction recherche MAC adresse --------------------------------------------------------------------------------------------------------------- function FindMac(retry) retry = retry or 0; local foundUser = false; -- notify state local msg = "Tentative(s) ".. retry+1 .. "/"..maxRetry_Process+1; fibaro:call(selfId, "setProperty", "ui.Message.value", msg) fibaro:log(msg); Debug("yellow",msg) local response, status, errorCode = HC2.POST(HC2, "/api/networkDiscovery/arp", "{}"); local jsonTable = json.decode(response) --fibaro:debug("errorcode:"..errorCode.."status: "..status) if (tonumber(errorCode)==0 and tonumber(status)==200) then for i, name in ipairs(jsonTable) do if foundUser == false then --Debug("grey",i.." found mac:"..name['mac']) if(name['mac'] == mac) then foundUser = true; Debug("green","Device "..name['mac'].." trouvé"); end end end else Debug("red","error json decode") end -- check for error if foundUser == true then return true; else if retry < maxRetry_Process then fibaro:log("Retry process, please wait..."); fibaro:sleep(check_wait*1000); return FindMac(retry + 1); end return false; end end --------------------------------------------------------------------------------------------------------------- -- DEBUT DU PROGRAMME -- Ne rien toucher en dessous de cette ligne --------------------------------------------------------------------------------------------------------------- selfId = fibaro:getSelfId(); --------------------------------------------------------------------------------------------------------------- -- Recuperation adresse MAC et vérification de la longueur et conversion en minuscules --------------------------------------------------------------------------------------------------------------- VG(variable_globale_phone) -- verification VG et creation si not exist mac = string.lower(fibaro:get(selfId, 'IPAddress')); -- recupere la mac adresse en minuscules if string.len(mac) ~= 17 then -- test la longueur de la MAC adresse Label ("red", "Erreur adresse MA : "..mac) fibaro:abort() end --------------------------------------------------------------------------------------------------------------- -- mise a jour label --------------------------------------------------------------------------------------------------------------- fibaro:call(selfId, "setProperty", "ui.TEL.value", variable_globale_phone) fibaro:call(selfId, "setProperty", "currentIcon", current_icon_recherche) --------------------------------------------------------------------------------------------------------------- HC2 = Net.FHttp("127.0.0.1", 11111) fibaro:log("Starting process"); Debug("yellow","Recherche adresse MAC: "..mac) local f, result = pcall(FindMac); if (f) then local Valeur_VG = fibaro:getGlobal(variable_globale_phone) if (result == true) then fibaro:log("Device trouvé."); fibaro:setGlobal(variable_globale_phone,"1") local heureVariable = fibaro:getGlobalModificationTime(variable_globale_phone) Label ("green", os.date("Le %d/%m/%y a %HH%M : ", heureVariable).."WIFI ON.") if ID_Tel ~="" and Valeur_VG ~= "1" then fibaro:call(ID_Tel, "sendPush", os.date("Le %d/%m/%y a %HH%M : ", heureVariable).."WIFI ON.") end Debug("green","Global Var: "..variable_globale_phone.." = 1"); fibaro:call(selfId, "setProperty", "currentIcon", current_icon_present) else fibaro:log("Device Non trouvé!"); fibaro:setGlobal(variable_globale_phone,"0") local heureVariable = fibaro:getGlobalModificationTime(variable_globale_phone) Label ("red", os.date("Le %d/%m/%y a %HH%M : ", heureVariable).."WIFI OFF") if ID_Tel ~="" and Valeur_VG ~= "0" then fibaro:call(ID_Tel, "sendPush", os.date("Le %d/%m/%y a %HH%M : ", heureVariable).."WIFI OFF.") end Debug("red","Device "..mac.." Non trouvé"); Debug("red","Global Var: "..variable_globale_phone.." = 0"); fibaro:call(selfId, "setProperty", "currentIcon", current_icon_absent) end else fibaro:log("Error: " .. tostring(f)); end et la mainLoop local selfId = fibaro:getSelfId(); fibaro:call(selfId, "pressButton", "3") instance.lastrun = os.time() fibaro:debug("executed") avec un essai par seconde et 3 essais à chaque fois ça fait au final un test toutes les secondes (puisque si j'ai bien compris la mainLoop est exécuté toutes les 3 secondes)
  15. Bon bah en fait, désolé de la fausse joie ça ne marche pas, la détection était un faux positif. Mais je ne vois pas de raison pour laquelle ça foirerait donc ça vient forcément de mon code, je remets mon ouvrage sur le métier...
×
×
  • Créer...