Outils pour utilisateurs

Outils du site


transparence:electricite

Ceci est une ancienne révision du document !


Monitoring des consos électriques

Voir aussi

(graphe réel et à jour des consomations électriques en baie, par type de machin)

Nous monitorons la consommation électrique des appareils en baie à l'aide d'une multiprise (PDU) Ubiquiti mFi mPower pro.

LE PDU 6 prises est branché sur l'arrivée Cogent (domestic outlet), une multiprise est branchée sur chaque prise du PDU.

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

  • 1. routeurs
    • multi 2/31) (fresk, camber)
  • 2. switches
    • multi 2/3 (sw1 : procurve (adhérents) tantad, switch cisco (cœur))
  • 3. machines internes
    • multi 3/6 (mutine, dramm-hud, orson-ale)
  • 4. serveurs rackables adhérents
    • multi: 2/6
  • 5. mini-serveurs (rpi/nuc/…)
    • multi 3/8
  • 6. laptops & mini-itx
    • 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 SSH2)
  • 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 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 telnet3).

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

  1. sauvegarder cette conf de manière persistente : save
  2. l'appliquer : reboot (et oui !)

Quelques clefs de configuration intéressantes:

Adressage statique

    dhcpc.2.status=disabled
    …
    netconf.2.ip=10.10.10.8
    netconf.2.netmask=255.255.255.0

Compte utilisateur et mot de passe

users.1.name=faimaison        
users.1.password=AREMPLACER
users.1.status=enabled 

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:

$ mkpasswd --method=des

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).

users.3.password=AREMPLACER
users.3.name=readonly          
users.3.gid=100          
users.3.uid=100 
users.3.status=enabled

Fuseau horaire, localisation

NB: pour définir les coordonnées GPS, l'interface web offre une recherche par adresse.

system.latitude=47.203103
system.longitude=-1.550391
system.timezone=GMT-1GDT

Serveur NTP

(La date est importante pour les stats de conso)

ntpclient.1.server=10.10.10.6

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) :

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

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 :

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

Exploitation du mPower

Interface graphique

Permet d'avoir ces infos :

Par l'API

Récupérer la conso du mois en kwH

URLs pour récupérer les mesures :

  1. http://10.10.10.8/sensors/ toutes les prises
  2. 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 4).

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) :

amp_moyen = conso_kwh / (tension * coefficient_puissance)/30/24.

Ce qui donne, en prenant les noms de propriétés JSON de l'API :

amp_moyen = prevmonth*0.003125 / (voltage * powerfactor)/30/24.

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

1)
multi 2/3 par exemple signifie une multiprise de 3 ports, dont deux sont occupés
2)
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
3)
les options de conf dans l'interface web sont très très limitées
4)
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
transparence/electricite.1507575910.txt.gz · Dernière modification : 2017/10/09 19:05 de kheops