Outils pour utilisateurs

Outils du site


transparence:electricite

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
transparence:electricite [2017/06/12 22:38] – créée, contenu migré depuis adminsys:reseau:adressage jocelyndtransparence:electricite [2017/10/09 19:05] – [Monitoring des consos électriques] typo kheops
Ligne 1: Ligne 1:
 ====== Monitoring des consos électriques ====== ====== Monitoring des consos électriques ======
  
-Voir aussi [[:conso_electrique|Consommations électriques]]+Voir aussi 
  
-Nous monitorons la consommation électrique des appareils en baie à l'aide d'une multiprise (PDU) *Ubiquiti mFi mPower pro*. +  * [[:conso_electrique|Consommations électriques]] 
 +  * [[https://munin.vinilox.eu/faimaison.net/fresk.faimaison.net/mpower_10_10_10_8.html|graphes de consos électriques]] (public) 
 + 
 +(graphe réel et à jour des consomations électriques en baie, par type de machin) 
 + 
 +{{ https://munin.vinilox.eu/faimaison.net/fresk.faimaison.net/mpower_10_10_10_8-month.png }} 
 + 
 +Nous monitorons la consommation électrique des appareils en baie à l'aide d'une multiprise (PDU) **Ubiquiti mFi mPower pro**. 
  
 {{ :adminsys:reseau:ubnt-mfi-mpower-pro-6-enchufes.jpg?400|}} {{ :adminsys:reseau:ubnt-mfi-mpower-pro-6-enchufes.jpg?400|}}
Ligne 11: Ligne 18:
 //nb: Le PDU supporte 16A en tout, et chaque prise peut délivrer 16A (nb: contrat électrique cogent à 6A), les multiprises du commerce supportent toutes 16A// //nb: Le PDU supporte 16A en tout, et chaque prise peut délivrer 16A (nb: contrat électrique cogent à 6A), les multiprises du commerce supportent toutes 16A//
  
-(multi 2/3 signifie une multiprise de 3 ports, dont deux sont occupés)+
  
   * 1. routeurs   * 1. routeurs
-    * multi 2/3 (fresk,  camber)+    * multi 2/3((//multi 2/3// par exemple signifie une multiprise de 3 ports, dont deux sont occupés)) (fresk,  camber)
   * 2. switches    * 2. switches 
     * multi 2/3 (sw1 : procurve (adhérents) tantad, switch cisco (cœur))     * multi 2/3 (sw1 : procurve (adhérents) tantad, switch cisco (cœur))
Ligne 26: Ligne 33:
      * multi:  3/8      * multi:  3/8
  
 +===== À propose du mPower =====
 +
 +Cet appareil est pensé pour être utilisé avec un contrôleur domotique de la game mFi. Aussi ses fonctions « standalone » sont un peu pauvres. Néanmoins, c'est du GNU/Linux assez standard, avec un shell, et les infos importantes sont exposées dans ''/proc/power'' et/ou via une API HTTP. On peut donc en tirer quelque-chose…
 +
 +Il est donc accessible :
 +
 +  * en SSH((Il n'est pas possible de se connecter en SSH depuis un client récent, typiquement, ça passe depuis jessie, pas depuis stretch (ciphers incompatibles). Il vous reste telnet pour pleurer))
 +  * en HTTP (interface web et API JSON)
 +  * en telnet
 +
 +
 +
 +===== Préparation du mPower =====
 +
 +L'IP par défaut est //192.168.1.20/24//
 +
 +==== Mise à jour du firmware ====
 +
 +À ce jour, la dernière version date de 2015 (vieux), c'est la 2.1.11. 
 +
 +Pour l'installer, attraper un firmware [[https://www.ubnt.com/download/mfi/mpower/mpower-pro-eu|chez le constructeur]] puis rendre sur http://192.168.1.20/system.cgi et l'uploader dans le formulaire ad-hoc. Ça prend quelques minutes. Ça n'écrase pas la conf.
 +
 +
 +==== Édition de la configuration ====
 +
 +**NB: rebooter le mpower n'occasionne pas de coupure sur ses prises**
 +
 +Se fait en SSH ou telnet((les options de conf dans l'interface web sont très très limitées)).
 +
 +Toutes les opérations se font dans le fichier /tmp/system.cfg si les clefs de configuration mentionnées ne sont pas présentes, il faut les ajouter. Une fois qu'on a édité la conf (vi est le seul éditeur dispo), il faut
 +
 +  - sauvegarder cette conf de manière persistente : ''save''
 +  - l'appliquer : ''reboot'' (et oui !)
 +
 +Quelques clefs de configuration intéressantes:
 +
 +=== Adressage statique ===
 +
 +<code ini>
 +    dhcpc.2.status=disabled
 +    …
 +    netconf.2.ip=10.10.10.8
 +    netconf.2.netmask=255.255.255.0
 +</code>
 +
 +=== Compte utilisateur et mot de passe ===
 +
 +<code ini>
 +users.1.name=faimaison        
 +users.1.password=AREMPLACER
 +users.1.status=enabled 
 +</code>
 +
 +La ligne ''users.1.password=AREMPLACER'' contient le mot de passe de l'utilisateur hashé en DES (oui oui).
 +
 +On va donc générer un nouveau mot de passe pour cet utilisateur (depuis une machine externe), par exemple avec la commande mkpasswd:
 +<code terminal>
 +$ mkpasswd --method=des
 +</code>
 +puis copier/coller le résultat de la commande à la suite de ''users.1.password=''.
 +
 +=== Créer un utilisateur non privillégié ===
 +
 +Utile pour un usage "read-only" en SSH, telnet ou HTTP.
 +
 +(nb: on utilise pas de ''users.2'' car l'interface web le désactive systématiquement).
 +
 +<code ini>
 +users.3.password=AREMPLACER
 +users.3.name=readonly          
 +users.3.gid=100          
 +users.3.uid=100 
 +users.3.status=enabled
 +</code>
 +
 +=== Fuseau horaire, localisation ===
 +NB: pour définir les coordonnées GPS, l'interface web offre une recherche par adresse.
 +<code ini>
 +system.latitude=47.203103
 +system.longitude=-1.550391
 +system.timezone=GMT-1GDT
 +</code>
 +
 +=== Serveur NTP ===
 +
 +(La date est importante pour les stats de conso)
 +<code ini>    
 +ntpclient.1.server=10.10.10.6
 +</code>
 +
 +==== Nommer les prises ====
 +
 +Il est possible de donner des noms aux ports, ça se passe dans le fichier ''/etc/persistent/cfg/config_file''. Il faut y ajouter les lignes suivantes (par ex) :
 +
 +<code ini>
 +port.0.label=Routeurs (fresk, camber)
 +port.1.label=Switches (sw1, tantad)
 +port.2.label=Machines FAImaison
 +port.3.label=Serveurs rackables adhérent·e·s
 +port.4.label=Nano-ordi adhérent·e·s
 +port.5.label=Laptops & mini-ITX adhérent·e·s
 +</code>
 +
 +Puis Faire ''save'' (pas besoin de rebooter).
 +
 +==== Activer les mesures ====
 +
 +Certaines mesures demandent l'activation de leur collecte, sur chaque prise, on règle ça une bonne fois pour toutes :
 +
 +<code shell>
 +cat > /etc/persistent/rc.poststart << EOF
 +#!/bin/sh
 +for i in \$(seq 1 6) ; do   echo 1 > /proc/power/enabled\${i} ; done
 +EOF
 +
 +chmod 0755 /etc/persistent/rc.poststart
 +
 +# On rend le changement persistant
 +cfgmtd -w -p /etc
 +
 +# C'est exécuté au reboot, pour s'épargner un reboot, on lance à la main une fois :
 +/etc/persistent/rc.poststart
 +</code>
 +
 +===== Exploitation du mPower =====
 +
 +==== Interface graphique ====
 +
 +Permet d'avoir ces infos : 
 +
 +{{ :transparence:screenshot-lut.im_2017-06-13_00-42-15.png?600 |}}
 +
 +==== Par l'API ====
 +
 +cf [[https://community.ubnt.com/t5/mFi/mPower-mFi-Switch-and-mFi-In-Wall-Outlet-HTTP-API/td-p/1076449|« doc officielle »]].
 +
 +=== Récupérer la conso du mois en kwH ===
 +
 +URLs pour récupérer les mesures :
 +
 +  - http://10.10.10.8/sensors/ toutes les prises
 +  - http://10.10.10.8/sensors/1 uniquement la prise 1
 +
 + Ensuite, on a du JSON. Parser le champ ''thismonth'' ou ''pastmonth'' pour obtenir les consos en kwH du mois courant ou passer, et à **multiplier par 0.003125** ((un sac de cacahuètes à cellui qui trouve pourquoi 0.003125, pour ma part, c'est une valeur que j'ai trouvé dans le JS de l'interface web)).
 +
 +=== Calculer l'ampérage moyen ===
 +
 +Si on souhaite passer d'une conso (ci-dessus) sur un mois à un ampérage moyen sur le mois (pour un mois de 30j) :
 +
 +<code>
 +amp_moyen = conso_kwh / (tension * coefficient_puissance)/30/24.
 +</code>
 +
 +Ce qui donne, en prenant les noms de propriétés JSON de l'API :
 +
 +<code>
 +amp_moyen = prevmonth*0.003125 / (voltage * powerfactor)/30/24.
 +</code>
 +==== En CLI ====
 +
 +Tout est dans ''/proc/power'', mais pas forcément évident de déduire de quelle valeur il s'agit pour chaque fichier, ni son unité…
 +
 +
 +==== Liens ====
 +
 +  * https://blog.vucica.net/2014/08/mfi-mpower-basic-use-without-cloud-and-controller.html
 +  * http://jrnin.com.br/automacao/ArqPA/src_pythonV3/mfi/mfi2.py
 +  * https://git.openrobots.org/projects/mpower/repository/revisions/master/entry/python/mpower.py
 +  * https://community.ubnt.com/t5/mFi/mFi-MPower-script-for-pushing-power-statistics-to-carbon/td-p/1145426
  
transparence/electricite.txt · Dernière modification : 2019/06/09 21:48 de capslock