Aller au contenu

kiwi

Membres confirmés
  • Compteur de contenus

    500
  • Inscription

  • Dernière visite

  • Jours gagnés

    4

Tout ce qui a été posté par kiwi

  1. kiwi

    Plugin - Nest

    @Lionel57 je suis 100% d'accord vis a vis des solutions avec du cloud derrière. Est-ce qu'on a pas retenu la leçon du Nabastaz / Karotz ? Quand vous avez un matériel qui dépends de serveur extérieurs vous avez : La possibilité que le gérant des ces serveurs ferme l'activité sans préavis (coucou Karotz / Nabastaz !) La dépendance trop forte de la connection internet, votre connection à la maison merde (ça arrive TRES souvent en France, en espérant que la FTTH soit plus stable que le cuivre mais bon vu que la FTTH n'est quasiment pas déployé dans les maisons... je dis joker). Le fait que NOS données sont chez quelqu'un qui n'est peut-être pas sur le territoire français (donc juridictions différentes toussa), quid de la sécu ? On peux savoir sans être chez X ou Y que tu n'es pas la. Et donc agir pour effectuer des vols par exemple Le coté écologique de la chose, internet mange beaucoup de Kwh pour des solutions "intelligentes", consommer avec les divers éléments (routeurs, fibres, km de cables et autres) juste pour le chauffage est une connerie. Après ce que j'aime chez Nest c'est leur détecteur de fumée qui peuvent être connectés sur secteur : exit les piles à la con a changer...
  2. Vis àvis du "suivit" conso, j'ai un Eco devices avec qui j'ai couplé 2 compteurs a impulsion : - eau froide générale - eau chaude (sortie du balon d'eau chaude) Evidement j'ai le compteur HC/HP standard EDF. Bon par contre, je vais faire mon "français" a propos de la RT2012, c'est pas en mesurant ce qu'on consomme qu'on change quoi que ce soit. Le gros des économies viennent de l'isolation et de la gestion du chauffage (par ex : quand il y a su soleil : ouvrir les volets en hivers, les fermer l'été). Ceci dit, j'ai arrêté d'utiliser la suivit conso de la HC2 car, c'est limite totalement inutilisable.
  3. kiwi

    Gestion Chauffe-Eau

    Bonjour, Comme dans un autre sujet on parle de Chauffe-eau, je mets içi mon script LUA qui m'as permis de faire baisser en 2013-2014 la consommation électrique "heures-creuses" de la maison. Il faut aussi noter les prérequis : Chauffe-eau récent (environ 10ans) Chauffe-eau dans un local fermé (nouvelles normes... normalement les maisons récentes ont ça) Contacteur de mise en marche en Heures Creuses (vous pouvez ne pas avoir d'heures creuses, dans ce cas vous devez vous procurer un contacteur jour-nuit) Un module relais compatible 220V (Fibaro, Qubino). Normalement votre installation électrique ressemble à ça : Il faut donc ajouter en coupure sur le fil rouge un relais, typiquement a la sortie phase (rouge) du disjoncteur 2A qui vas vers le compteur. J'ai fais ca avec FGS221 avec l'un des 2 contacts (l'autre est utilisé pour autre chose), ce module est donc pour mon exemple le 174. Il vous faut une variable globale que j'ai nommé ChauffeEau. Le nombre de jour sans chauffe est a mettre içi : local nod-4; Puis vous pouvez lancer le code suivant dans le scheduler (j'ai mis ca WinterNormal et SummerNormal, puisque en vacances on utilise pas l'eau chaude) : -- Chauffe-eau -- Scene de gestion de chauffe-eau luaDaySchedule:add("22:45","84", "" , "startScene", {"All"} ,false) -- Chauffe-eau : Off tous les jours luaDaySchedule:add("05:00","174", "turnOff" , "call", {"All"}, false) Voici le code : --[[ %% properties %% globals ChauffeEau --]] local debug=true; -- Debug or not local activator=174; -- ID of the ECS activator local globalvarce="ChauffeEau"; -- Name of Global Variable for ECS local nod = 4; -- Number of days between 2 ECS heating -- Avoid multiple launch of this scene if (fibaro:countScenes()>1) then fibaro:debug("Second instance killed"); fibaro:abort(); end -- Function function mydebug(string) if (debug) then fibaro:debug(string); end end -- Code local currenttime = os.time(); --local ce,tsmod = fibaro:getGlobal(globalvarce); local ce = fibaro:getGlobal(globalvarce); local tsmod = tonumber(ce); -- security if (nod <= 0) then fibaro:debug("Variable 'nod' should >= 1 : ABORTING"); fibaro:abort(); end -- Calculating if we have to heat or not local nodts = (nod * 86400) - 3600; -- Remove one hour in case local noddif = currenttime - tsmod; mydebug("Time is "..currenttime); mydebug("Global var ("..globalvarce..") is : ".. ce .. " TS is : "..tsmod); mydebug("Diff in seconds " .. noddif .. " (hours = ".. (noddif / 3600) ..")"); if ((tsmod+nodts) > currenttime) then mydebug("No need to heat, wait for next execution"); else mydebug("We need to heat, start the heating contactor..."); fibaro:setGlobal(globalvarce,currenttime); fibaro:call(activator, 'turnOn'); end Have fun.(A noter que dans ce code j'aurais pu utiliser le timestamp de la variable pour savoir si je peux déclencher le chauffe-eau, mais hélas, et ca doit être un bug le timestamp de la variable global est remise a la variable du reboot de la HC2 en cas de reboot, donc ça peux faire un fail...)
  4. kiwi

    Chauffe Eau Éléctrique

    4000W < 4600W donc pas de pb. En plus un chauffe-eau est une charge resistive donc y a pas de cos phi comme sur une charge inductive ou capacitive. Ce qui tu peux faire, c'est ne pas faire chauffer le chauffe-eau tous les soirs (j'ai fait un script comme ça, je ne sais pas si j'ai publié la chose ou pas). Avec cette méthode tu peux réussir a baisser ta facture d'électricité MAIS : Il faut tester Il faut que ton chauffe-eau soit assez récent (moins de 10ans) car l'isolation des vieux chauffe-eau n'est pas ultra bonne Que ton chauffe-eau soit dans un espace fermé (par dans le garage sans isolation tu as une plus grande déperdition) Que tu aie aussi une capacité de chauffe-eau très supérieure a ton utilisation. Par exemple j'ai du 300L, sans l'utiliser il reste chaud 5 à 6 jours (testé), on (ma femme et moi) consomme moins 100 / 200L d'eau chaude sur 4 jours, et on a sur les douches / sdb que des robinets thermostatique (donc moins de pertes d'eau chaude). Le fait de le faire tourner tous les 4 jours glissant me fait economiser beaucoup (eco devices me permet de vérifier ca). Temps de chauffe journalier (eg si je le fais chauffer tous les soirs) : 2h30 / 3h Temps de chauffe tous les 4 jours : 3h / 3h30 Donc en gros tu as ... au pire une heure de plus de chauffage, ramené a 4 jours on a une baisse significative du nb de Kwh consommé pour l'eau sanitaire... La cerise serait : de mesurer a quelle temperature est l'eau de combiner avec un compteur eau chaude pour être capable de faire chauffer moins souvent... Pas encore trouvé de bonnes solutions pour ca...
  5. kiwi

    Chauffe Eau Éléctrique

    @fdp2: Je sens que ça a dû être "sympa" ton expérience dans la maison....
  6. kiwi

    Chauffe Eau Éléctrique

    @fdp2: je pense qu'il veux ne pas lancer le chauffe-eau si la temperature (quelle sonde d'ailleurs?) montre qu'il y a de l'eau suffisamment chaude dedans... Je suis 100% d'accord avec toi de NE PAS by passer le thermostat intégré au chauffe-eau (qui est en général mécanique donc 100% fiable).
  7. kiwi

    Chauffe Eau Éléctrique

    Salut Alexbi, En général les chauffe-eau electriques consomment largement plus que 3Kw, tu risques même de tuer le module fibaro 3Kw. Sur ton tableau electrique tu as quoi comme fusible / disjoncteur pour ton chauffe-eau. Moi j'ai du 20A soit au max 4600W... Et mes mesures montrent bien qu'il consomme ses 4000W en chauffe. Le mieux c'est d'utiliser un contacteur chauffe-eau et le commander via le module fibaro (c'est ce que je fais avec les sèches - dont le fil pilote est uniquement décoratif - et des SRT321)....
  8. J'en ai un comme ça, je ne l'utilise que pour commander via le groupe 1. Je ne savais pas que sur Jeedom le module pouvais faire sceneActivation.
  9. Heu... pourquoi réinventer le module fil pilote ? A noter que le module fil pilote a aussi un connecteur sonde thermique. Par contre il ne peux pas l'utiliser pour réguler la température.
  10. Hello, Attention j'ai modifié le code du bouton (et pas encore mis àjour le code du virtual module), le voici : local thismodule = fibaro:getSelfId(); local ip = fibaro:get(thismodule, 'IPAddress'); local port = fibaro:get(thismodule, 'TCPPort'); local cgi = "/kiwi/arp.pl"; local what = "ikiwi"; -- DON'T FORGET to create global variable Phone_ with "what" content -- ie if what="ikiwi", then the GV will be : Phone_ikiwi or change the -- following local gbname = "Phone_"..what; fibaro:debug("ARP : http://"..ip..":"..port..cgi); local arpstuff = pcall(function() -- Create the global variable name local gbname = "Phone_"..what; local ARP = Net.FHttp(ip,port); local response, status, errorCode = ARP:GET(cgi.."?host="..what); --fibaro:debug("Debug : r : "..response.."\n"); --fibaro:debug("Debug : s : "..status.."\n"); --fibaro:debug("Debug : e : "..errorCode.."\n"); if(tonumber(status)==200) then -- enregistrement du retour de l API dans une table response = json.decode(response); fibaro:debug(response.hostname); fibaro:debug(response.MAC); if(response.MAC == "unknown") then fibaro:debug(what.." is not at home"); if (fibaro:getGlobalValue(gbname)=="1") then fibaro:setGlobal(gbname,"0"); end; fibaro:log(what.." is not at home"); else fibaro:debug(what.." is at home"); if (fibaro:getGlobalValue(gbname)=="0") then fibaro:setGlobal(gbname,"1"); end fibaro:log(what.." is at home"); end; else fibaro:debug("status: " .. tostring(status or "")); fibaro:debug("error code: " .. tostring(errorCode or "")); end; end); if (not arpstuff) then fibaro:debug("ARP polling failed"); end; D'autre part, le problèmes viennent du fait chez certains que la machine qui héberge le CGI ne vois pas assez souvent les iDevices.De mon coté, sur mon PI j'ai deux choses : - un resolveur dns (serveur dns) qui remplace celui de mon FAI (comme ça je n'ai pas accès a la censure d'état), qui peux être installé a avec "aptitude install unbound". Le serveur DHCP alors annonce ce serveur comme serveur DNS de la maison. - j'ai aussi installé avahi... Ce qui me permet d'avoir accès via bonjour a mes matériels. D'autre part d'après les échanges que j'ai eu avec pepite, un sysctl -w net.ipv4.neigh.default.base_reachable_time_ms=1800000 en root permet de garder le cache ARP de facon plus longue. Il est vrai que mon code est très "unix" centric, et donc dépend aussi un peu de ma configuration personnelle qui peux ne pas être la même partout.
  11. @carfman: le concept d'adresse MAC est que toute carte ethernet (y compris wifi) en as une et est obligée de l'annoncer. Le ping quand a lui n'est même pas obligatoire et des fois même certains matériels ne répondent pas au ping alors que l'adresse MAC réponds (je ne vais pas décrire comment ca marche, mais la carte wifi du téléphone réponds directement aux requêtes MAC alors que le ping dois passer dans le CPU du smartphone, donc on est plus bas niveau dans les couches OSI : niveau 1 : câbles / wifi, niveau 2 : MAC, niveau 3: ping / tcp...en gros). Sur les machines *nix (linux, ...) la table MAC -> IP est gardée en cache un certain nombre de temps (sur FreeBSD j'arrive a tuner ça sur linux, je recherche encore la bonne commande a mettre), donc partant de ce fait que les iBidules ne se présente que une fois très courte sur le réseau, en utilisant ca cache on peux savoir, sans encombrer le réseau wifi (qui est partagé par tous les clients wifi, donc limité en bande passante) si un téléphone est la depuis peu de temps (peu = dans mes versions de tests environ 30 minutes), de façon "passive". Mon code n'est pas encore parfait, mais je vais corriger le virtual module pour qu'on puisse mettre ip / mac / nom (si, comme moi, on a mis un DNS propre a la maison).
  12. @pepite: sur ton pi si peux tu me donner ce que fait la commande : arp -a en MP ?J'ai une configuration particulière chez moi (avec des DNS / reverse DNS / plutôt proche de l'état de l'art dans un datacenter que des "choses" normales chez mr tout le monde). Sur le point 1, je vais modifier le virtual module pour qu'il prenne autre chose de le contenu de la variable what. Sur le point 5, j'ai oublié de dire cette partie, doc àmettre a jour (ca sera fait bientôt) Sur le dernier point, j'ai un bug tracker sur le redmine ou est hébergé le GIT... Mais c'est pas grave
  13. Sisi il fonctionne en mettant une adresse MAC (grep power !) : http://ip.du.ras.pi:8080/cgi-bin/arp.pl?host=aa:af:bb:cf:de:ad me retourne : { hostname: "aa:af:bb:cf:de:ad", ipv4: "192.168.0.40", MAC: "aa:af:bb:cf:de:ad" } Donc l'effet kiss cool, c'est que tu peux retrouver comme ça quelle adresse IP appartient l'adresse MAC que tu précises...
  14. @yassinex: le perl cgi est capable de manger des adresses MAC, donc normalement ça doit marcher. Pourquoi des ip / nom d'hosts? parce que c'est plus facile de se souvenir de ça que d'une adresse MAC (Ok je parles pas d'IPv6 encore)
  15. @pepite: Justement je n'ai que ça àla maison iPhone 5S et 4S... Donc tu peux considérer que ça marche
  16. @MasterBT: si tu as un cisco y a 2 methodes qu'on pourrais utiliser en jouant avec MIB SNMP de ton cisco... (enfin si c'est un *vrai* cisco, pas un Linksys) en se basant sur les adresses MAC...
  17. Bonjour à tous, Cette solution, différente des autres, se base sur le fait que les objets wifi disposent d'un adresse "MAC" (ou ARP en anglais). Cette adresse est obligatoire et a le grand avantage de ne nécessiter aucun port ouvert sur l'appareil a tester. Prérequis : Une machine *nix (Linux : Raspberry, Synology, FreeBSD, ...). Une HC2 (une version spécifique HCL viendra plus tard). Du Perl avec la bibliothèque CGI sur la machine hôte. Avoir un baux DHCP fixe (aka configurer une IP fixe) pour les appareils a surveiller. La solution se décompose en deux parties :Un script CGI qui se met sur un serveur *nix. Un virtual module qui s'occupe de faire des demandes toutes les 10 minutes sur ce script CGI. Installation du CGI sur un serveur *nix.Je prends pour référence mon Raspberry PI qui fait tourner mon domoticz. Ayant eu la flemme d'installer un PI "à la main" j'avais déjà pris la "Domoticz RaspberryPI SD Image", que vous pouvez trouver à l'adresse suivante : http://www.domoticz.com/wiki/Domoticz_RaspberryPi_SD_Image. Accessoirement j'ai installé avahi afin de le trouver via bonjour sur mon Mac. Commandes a executer en root : aptitude install avahi-daemon Normalement l'image PI pour domoticz dispose déjà d'un nginx préinstallé, il reste donc plus à ajouter fcgiwrap pour que le CGI soit executable depuis nginx. aptitude install fcgiwrap Puis copier le fichier de configuration dans /etc/nginx : cp /usr/share/doc/fcgiwrap/examples/nginx.conf /etc/nginx/fcgiwrap.conf Il suffit de créer un répertoire cgi-bin et downloader le script arp.pl : mkdir -p /usr/lib/cgi-bin cd /usr/lib/cgi-bin wget --no-check-certificate https://redmine.oav.net/projects/kiwi/repository/revisions/master/raw/fibaro/arp/arp.pl chmod +x arp.pl Il reste à configurer le nginx pour qu'on puisse donc executer le CGI qui vas nous servir a trouver si le matériel fonctionne ou pas, créez le fichier /etc/nginx/sites-available/cgi avec le contenu suivant : server { #listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 listen 8000; root /usr/share/nginx/www; index index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ /index.html; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules } include /etc/nginx/fcgiwrap.conf; } Puis activez le site : cd /etc/nginx/sites-enabled && ln -s ../sites-available/cgi nginx -t Au "nginx -t" un test de syntaxe du fichier de conf vas être effectuée normalement si vous avez autre chose que : nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful C'est qu'il y a un erreur quelque part dans votre configuration.Dans le cas où tout vas bien, relancez le service nginx : service nginx restart Puis nous pouvons passer au test CGI.Exemple avec une ip en 192.168.0.50, mettez dans votre navigateur : http://ip.du.pi.lan:8000/cgi-bin/arp.pl?host=192.168.0.50, devrait vous donner le JSON suivant (si cette machine existe et que vous arrivez a pinger cette machine depuis le PI) : { hostname: "192.168.0.50", ipv4: "192.168.0.50", MAC: "aa:bb:cc:dd:ee:ff" } La partie *nix est donc finie.Installation de la partie HC2. Téléchargez le virtual module à l'adresse : https://redmine.oav.net/projects/kiwi/repository/revisions/master/raw/fibaro/arp/presence.vfib (Si le certificat SSL fais la tronche c'est pas grave, je le mettrais à jour bientôt). Dans la configuration du modules, mettez l'ip correspondant au PI et le Port correspondant a celui que vous avez ouvert précédemment (dans mon exemple : 8000). Dans le code du bouton 1, complétez les lignes suivantes avec *vos* paramètres : local cgi = "/cgi-bin/arp.pl"; local what = "192.168.0.50"; Pour aller avec l'exemple ci dessus.A noter que vous avez besoin de créer une variable locale qui s'appelle : Phone_<valeurdewhat>, par exemple : Phone_192.168.0.50 avec comme 2 valeurs 1 ou 0. Après laissez le reste se faire, normalement les icônes changent tout seul et la ligne de status affiche correctement les bonnes infos. Enjoy et informez moi des pb ou evolutions. Xavier PS1: License du module : MPL1.1, URL de mon git : https://redmine.oav.net/projects/kiwi/repository/revisions/master/show/fibaro/arp PS2: Si bug utilisez l'option "Nouvelle demande" afin que je corrige/adapte Edits: 22/12 : corrections de carfnann
  18. @Tony270570: Je ferai un Sujet séparé, je teste actuellement et clairement ca marche impec sur ce que j'ai fait ce week-end. Je vais aussi tester sur Linux d'abord car la plus part de mes serveurs/machines chez moi sont sur FreeBSD Pour les HCL, le support se fera une fois que j'ai terminé le sujet initial Merci pour votre patience
  19. @jojo: pour la HCL, vu que le virtual module fait du http et du JSON.... Ceci dit, on pourrais "facilement" adapter ca... Je mets ca dans ma TODO pour faire plus simple... Pour info, une partie de code est publié sur : https://redmine.oav.net/projects/kiwi/repository/revisions/master/show/fibaro/arp
  20. Hello, J'ai fait mon proof of concept a la maison. C'est basé avec un CGI (en perl, donc ca devrait marcher sur Syno, mais j'ai pas de syno dispo pour tests), et la table ARP de la machine. A noter que sur mon PI, la table a l'air de durer longtemps, peut-être a cause de avahi (a vérifier). J'ai fait un virtual module qui vas checker ca. Je fais du debug jusqu'à la semaine prochaine et je publie les codes (et comment les mettre sur PI / FreeBSD...). Quelles sont les dépendences ? : - /usr/sbin/arp (facile tout linux est censé avoir ca) - Un serveur web - HC2 (testé sur ma 3.591).
  21. @Tony270570 le fping est pas mal, mais n'est pas aussi fiable que de jouer avec le fait que la carte wifi fait un p'tit broadcast en DHCP lors de sa présence, donc "passivement" sans encombrer le réseau plus qu'il n'est déjà on "sais" que le device est là (enfin tout le réseau sais : switch / routeurs / whatever). D'autre part faire un fping sur /24 entier est quand même pas mal bruyant au niveau reseau et pas correctement efficace (typiquement firewall sur de pc Windows), et donc dire : host down alors qu'il est vraiment présent sur le réseau. Deux méthodes a utiliser : Soit on prends un daemon / ou la capacite a faire un watch de la table ARP de certaines machines (exemple dans la freebox revolution en mode routeur, il y a liste des host découvert), c'est plus que fiable car le ping peux se perdre d'une facon ou d'une autre et donc faute a pas de chance pas detecter que le matériel est là . Utiliser les capacités des switchs intelligent type Cisco, mais tout le monde n'en as pas un nécessairement à la maison (là c'est simple : snmpwalk et le pb est réglé). C'est une technique que j'utilises au taf pour monitorer qui est la ou pas... (surtout le point 2).
  22. De mon coté, je vais faire une autre version. Un peu moins intrusive que le fping. Idée de base : - un daemon qui trainne sur une babasse unix quelconque (linux, freebsd, ...) sur laquelle tous les machines passent obligatoirement, typiquement un resolveur DNS pour éviter les censures de l'Etat Français pour certains ayants droits - Ce démon garde en cache toutes les adresses MAC qui font une requête dans un stable SQL (MySQL / sqlite / fichier plat, pas encore décidé) - Un script CGI en perl qui fait un bon JSON - Un Virtual module qui fait des query dessus avec la liste des devices a checker. Le cache des adresses MAC est pour mon coté prévu a 30 minutes ce qui me permet d'avoir une idée globale : est-ce que ce devices est ou n'est pas à portée du ou des bornes wifi. Et donc nécessairement plus précis que le ping car on n'est jamais sà»r que le machin soit à l'écoute lorsque qu'on ping... Je ne sais pas encore si je fais a base d'arpwatch (ou equivalent "hacké") ou... en utilisant bonjour (avec le daemon avahi) qui présente aussi ce type de fonctionnalités. Edit du 12/12/2014: J'abandonne le coup du avahi, car le TTL des données présentent dans bonjour a une durée trop courte pour être correctement gérée, sauf coder un machin en C avec un polling régulier (ou une gestion via dbus que avahi utilise) ce n'est pas que ça m'est impossible, mais je veux que ca soit assez simple pour moi et aussi pour tous içi. Donc, je vais m'orienter vers l'arpwatch qui me semble une meilleure idée
  23. kiwi

    Lenteur Forum

    Ca sent l'index qui commence a être lourd... ou le MySQL qui est a la rue...
  24. kiwi

    Qubino Fil Pilote

    Ce module est très intéressant par exemple si tu l'associe à un SRT321 (soit directement à la main ou avec le groupe 2) afin de bénéficier d'une gestion de chauffage homogène dans une grande pièce (par ex mon salon qui a 3 radiateurs pour une puissance de 5Kw). Après le FP 6 ordre est plutôt pratique et moins "tout" ou rien que le 4 ordres. Sans compter le fait que le 1/2 pont diode est un peu du hack (qui marche mais qui n'est pas aussi élégant qu'un module). J'ai migré sur les qubino juste pour les 6 ordres et j'arrive donc a moins consommer le week-end qu'avant... (utilisation du -2°C / -1°C en journée).
  25. kiwi

    Module Virtuel "air Parif"

    De mon coté le OpenWeathermap est pas mal et assez fiable. De toute facon, j'ai commencé a acheter les modules orégon pour les coller sur mon Domoticz (Rapberry Pi) que je suis en train de dédier
×
×
  • Créer...