{"id":6378,"date":"2023-10-22T08:21:17","date_gmt":"2023-10-22T07:21:17","guid":{"rendered":"https:\/\/olivier.hoarau.site\/?p=6378"},"modified":"2023-10-22T10:57:16","modified_gmt":"2023-10-22T09:57:16","slug":"pilotage-dun-onduleur-sous-linux","status":"publish","type":"post","link":"https:\/\/olivier.hoarau.org\/?p=6378","title":{"rendered":"Pilotage d&rsquo;un onduleur sous linux"},"content":{"rendered":"\n<p>Apr\u00e8s avoir install\u00e9 mon <a href=\"https:\/\/olivier.hoarau.org\/?p=6177\">mini serveur Lenovo M92p<\/a> je n&rsquo;avais pas encore install\u00e9 le n\u00e9cessaire pour pouvoir piloter mon onduleur APC Back-UPS XS 950U. Maintenant que je suis pass\u00e9 \u00e0 la derni\u00e8re version<a href=\"https:\/\/olivier.hoarau.org\/?p=6373\"> Mageia 9<\/a>, il \u00e9tait grand temps de le faire.<\/p>\n\n\n\n<p>J&rsquo;avais d\u00e9j\u00e0 r\u00e9dig\u00e9 des articles \u00e0 ce sujet avec un onduleur et des versions pr\u00e9c\u00e9dentes qu&rsquo;on retrouvera <a href=\"https:\/\/olivier.hoarau.org\/?p=2949\">ici<\/a> et <a href=\"https:\/\/olivier.hoarau.org\/?p=3013\">l\u00e0<\/a> avec l&rsquo;utilisation de <a href=\"https:\/\/networkupstools.org\/\">NUT (Network UPS Tools)<\/a> qui pourront encore \u00e9ventuellement servir. <\/p>\n\n\n\n<p>Consid\u00e9rant que j&rsquo;avais un onduleur APC j&rsquo;ai install\u00e9 l&rsquo;utilitaire <a href=\"http:\/\/www.apcupsd.org\/\">APC UPS daemon<\/a> pr\u00e9vu pour. On retrouvera dans <a href=\"https:\/\/olivier.hoarau.org\/?p=3013\">cette page<\/a> l&rsquo;installation du serveur \u00e0 partir des sources mais sur ma mageia 9 je me suis content\u00e9 de l&rsquo;installer via urpmi. La suite de la configuration est assez simple, on active le daemon en tapant:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl enable apcupsd<\/code><\/pre>\n\n\n\n<p>Puis on \u00e9ditera le fichier de configuration <strong>\/etc\/apcupsd\/apcupsd.conf<\/strong> qu&rsquo;on retrouvera ci-dessous avec des commentaires pour certains param\u00e8tres, les autres \u00e9tant par d\u00e9faut.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#nom de l'onduleur\nUPSNAME onduleur\n\n#type de connexion\nUPSCABLE usb\nUPSTYPE usb\nDEVICE\n\nLOCKFILE \/run\/lock\nSCRIPTDIR \/etc\/apcupsd\nPWRFAILDIR \/etc\/apcupsd\nNOLOGINDIR \/etc\n\n# on laisse 6s \u00e0 apcupsd pour r\u00e9agir\nONBATTERYDELAY 6\n\n# si une coupure de courant survient, l'arr\u00eat est d\u00e9clench\u00e9 quand le pourcentage restant est inf\u00e9rieur est \u00e9gal \u00e0 la valeur d\u00e9finie par BATTERYLEVEL\nBATTERYLEVEL 5\n\n# si une coupure de courant survient, l'arr\u00eat est d\u00e9clench\u00e9 quand le temps restant est inf\u00e9rieur est \u00e9gal \u00e0 la valeur d\u00e9finie par MINUTES\nMINUTES 3\n\nTIMEOUT 0\nANNOY 300\nANNOYDELAY 60\nNOLOGON disable\nKILLDELAY 0\n\n# pour pouvoir monitorer via un navigateur\nNETSERVER on\nNISIP 127.0.0.1\n# port du serveur\nNISPORT 3551\n\n#fichier log\nEVENTSFILE \/var\/log\/apcupsd.events\n#taille max en Ko\nEVENTSFILEMAX 10\n\nUPSCLASS standalone\nUPSMODE disable\n\nSTATTIME 0\nSTATFILE \/var\/log\/apcupsd.status\nLOGSTATS off\nDATATIME 0<\/code><\/pre>\n\n\n\n<!--more-->\n\n\n\n<p>On lancera le daemon en tapant la commande <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status apcupsd<\/code><\/pre>\n\n\n\n<p>Et voil\u00e0 le r\u00e9sultat<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u25cf apcupsd.service - LSB: apcupsd monitors power and takes action if necessary\n     Loaded: loaded (\/etc\/rc.d\/init.d\/apcupsd; generated)\n     Active: active (running) since Sat 2023-10-21 19:00:32 CEST; 13h ago\n       Docs: man:systemd-sysv-generator(8)\n    Process: 1169436 ExecStart=\/etc\/rc.d\/init.d\/apcupsd start (code=exited, status=0\/SUCCESS)\n      Tasks: 3 (limit: 9264)\n     Memory: 1.5M\n        CPU: 33.947s\n     CGroup: \/system.slice\/apcupsd.service\n             \u2514\u25001169493 \/sbin\/apcupsd -f \/etc\/apcupsd\/apcupsd.conf\n\noct. 21 19:00:32 ultra.kervao.fr systemd&#91;1]: Starting apcupsd.service...\noct. 21 19:00:32 ultra.kervao.fr apcupsd&#91;1169436]: Lancement de la gestion UPS&nbsp;: &#91;  OK  ]\noct. 21 19:00:32 ultra.kervao.fr systemd&#91;1]: Started apcupsd.service.\noct. 21 19:00:32 ultra.kervao.fr apcupsd&#91;1169493]: apcupsd 3.14.14 (31 May 2016) mandrake startup succeeded\noct. 21 19:00:32 ultra.kervao.fr apcupsd&#91;1169493]: NIS server startup succeeded<\/code><\/pre>\n\n\n\n<p>Pour ouvrir le port 3551 sous <a href=\"https:\/\/www.funix.org\/fr\/linux\/index.php?ref=intrusions#Installer_un_firewall_avec_shorewall\">shorewall<\/a> on \u00e9ditera le fichier <strong>\/etc\/shorewall\/rules<\/strong> comme mentionn\u00e9 dans <a href=\"https:\/\/www.funix.org\/fr\/linux\/index.php?ref=intrusions#Installer_un_firewall_avec_shorewall\">cette page de configuration<\/a> en rajoutant pour le port tcp 3551. La commande <strong>apcaccess status <\/strong>donnera :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>APC      : 001,036,0893\nDATE     : 2023-10-22 09:06:46 +0200  \nHOSTNAME : ultra.kervao.fr\nVERSION  : 3.14.14 (31 May 2016) mandrake\nUPSNAME  : ultra.kervao.fr\nCABLE    : USB Cable\nDRIVER   : USB UPS Driver\nUPSMODE  : Stand Alone\nSTARTTIME: 2023-10-21 19:00:32 +0200  \nMODEL    : Back-UPS XS 950U   \nSTATUS   : ONLINE \nLINEV    : 242.0 Volts\nLOADPCT  : 5.0 Percent\nBCHARGE  : 100.0 Percent\nTIMELEFT : 73.0 Minutes\nMBATTCHG : 5 Percent\nMINTIMEL : 3 Minutes\nMAXTIME  : 0 Seconds\nSENSE    : Medium\nLOTRANS  : 155.0 Volts\nHITRANS  : 280.0 Volts\nALARMDEL : 30 Seconds\nBATTV    : 13.5 Volts\nLASTXFER : Unacceptable line voltage changes\nNUMXFERS : 0\nTONBATT  : 0 Seconds\nCUMONBATT: 0 Seconds\nXOFFBATT : N\/A\nSELFTEST : NO\nSTATFLAG : 0x05000008\nSERIALNO : 3B1713X09434  \nBATTDATE : 2017-03-30\nNOMINV   : 230 Volts\nNOMBATTV : 12.0 Volts\nNOMPOWER : 480 Watts\nFIRMWARE : 925.T2 .I USB FW:T2\nEND APC  : 2023-10-22 09:06:47 +0200<\/code><\/pre>\n\n\n\n<p>Pour configurer une visualisation via navigateur, il faudra disposer d&rsquo;un serveur http, j&rsquo;utilise <a href=\"https:\/\/www.funix.org\/fr\/linux\/index.php?ref=apache2\">apache<\/a>.  On copiera les  fichiers <strong>multimon.cgi<\/strong>, <strong>upsfstats.cgi<\/strong>, <strong>upsimage.cgi<\/strong> et <strong>upsstats.cgi<\/strong> pr\u00e9sents sous <strong>\/var\/www\/cgi-bin\/ <\/strong>sous le r\u00e9pertoire <strong>cgi-bin <\/strong>de votre serveur apache, pour ma part <strong>\/usr\/local\/apache2\/cgi-bin<\/strong>.<\/p>\n\n\n\n<p>Et voil\u00e0 ce que \u00e7a donne avec des vieilles copies d&rsquo;\u00e9cran, mais \u00e7a n&rsquo;a pas boug\u00e9 d&rsquo;un iota en terme d&rsquo;information et d&rsquo;ergonomie des ann\u00e9es apr\u00e8s.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/apcupsd.jpg?w=474&#038;ssl=1\" alt=\"\"\/><\/figure>\n\n\n\n<p>Et quand on clique sur le lien \u00e0 gauche, on obtient:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/apcupsd2.jpg?w=474&#038;ssl=1\" alt=\"\"\/><\/figure>\n\n\n\n<p>Le lien <strong>All data <\/strong>renvoie vers le r\u00e9sultat de la commande <strong>apcaccess status<\/strong> vu plus haut.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apr\u00e8s avoir install\u00e9 mon mini serveur Lenovo M92p je n&rsquo;avais pas encore install\u00e9 le n\u00e9cessaire pour pouvoir piloter mon onduleur APC Back-UPS XS 950U. Maintenant que je suis pass\u00e9 \u00e0 la derni\u00e8re version Mageia 9, il \u00e9tait grand temps de le faire. J&rsquo;avais d\u00e9j\u00e0 r\u00e9dig\u00e9 des articles \u00e0 ce sujet avec un onduleur et des &hellip; <a href=\"https:\/\/olivier.hoarau.org\/?p=6378\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Pilotage d&rsquo;un onduleur sous linux<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_share_on_mastodon":"0"},"categories":[5],"tags":[27,94],"class_list":["post-6378","post","type-post","status-publish","format-standard","hentry","category-logiciels-libres","tag-linux","tag-mageia"],"share_on_mastodon":{"url":"https:\/\/mastodon.social\/@funix\/111278072599687629","error":""},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/peOjJ-1ES","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/6378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6378"}],"version-history":[{"count":3,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/6378\/revisions"}],"predecessor-version":[{"id":6382,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/6378\/revisions\/6382"}],"wp:attachment":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}