From a364758a280838401ffba068792ad6bcf8701d3d Mon Sep 17 00:00:00 2001
From: Simon Delamare <simon.delamare@ens-lyon.fr>
Date: Wed, 9 Feb 2022 09:54:47 +0100
Subject: [PATCH] [lyon] Update PDU and wattmetre mappings

---
 .../sites/lyon/clusters/gemini/gemini.json    |   2 +-
 .../lyon/clusters/gemini/nodes/gemini-1.json  |  36 +-
 .../lyon/clusters/gemini/nodes/gemini-2.json  |  36 +-
 .../clusters/neowise/nodes/neowise-1.json     |  20 +-
 .../clusters/neowise/nodes/neowise-10.json    |  16 +-
 .../clusters/neowise/nodes/neowise-2.json     |  20 +-
 .../clusters/neowise/nodes/neowise-3.json     |  18 +-
 .../clusters/neowise/nodes/neowise-4.json     |  18 +-
 .../clusters/neowise/nodes/neowise-5.json     |  18 +-
 .../clusters/neowise/nodes/neowise-6.json     |  16 +-
 .../clusters/neowise/nodes/neowise-7.json     |  16 +-
 .../clusters/neowise/nodes/neowise-8.json     |  16 +-
 .../clusters/neowise/nodes/neowise-9.json     |  16 +-
 .../lyon/clusters/pyxis/nodes/pyxis-1.json    |   9 +-
 .../lyon/clusters/pyxis/nodes/pyxis-2.json    |   9 +-
 .../lyon/clusters/pyxis/nodes/pyxis-3.json    |   9 +-
 .../lyon/clusters/pyxis/nodes/pyxis-4.json    |   9 +-
 .../sites/lyon/clusters/pyxis/pyxis.json      |   2 +-
 .../sagittaire/nodes/sagittaire-11.json       |   9 +-
 .../sagittaire/nodes/sagittaire-12.json       |   9 +-
 .../sagittaire/nodes/sagittaire-13.json       |   9 +-
 .../sagittaire/nodes/sagittaire-14.json       |   9 +-
 .../sagittaire/nodes/sagittaire-15.json       |   9 +-
 .../sagittaire/nodes/sagittaire-16.json       |   9 +-
 .../sagittaire/nodes/sagittaire-2.json        |   9 +-
 .../sagittaire/nodes/sagittaire-3.json        |   9 +-
 .../sagittaire/nodes/sagittaire-4.json        |   9 +-
 .../sagittaire/nodes/sagittaire-5.json        |   9 +-
 .../sagittaire/nodes/sagittaire-6.json        |   9 +-
 .../lyon/clusters/sagittaire/sagittaire.json  |   2 +-
 .../lyon/clusters/sirius/nodes/sirius-1.json  |  56 +++
 .../sites/lyon/clusters/sirius/sirius.json    |   9 +
 data/grid5000/sites/lyon/pdus/pdu3a.json      |  24 +-
 data/grid5000/sites/lyon/pdus/pdu3b.json      |  22 +-
 data/grid5000/sites/lyon/pdus/wattmetre1.json |  25 --
 .../sites/lyon/pdus/wattmetrev3-1.json        |  50 ++-
 .../lyon/clusters/gemini/gemini_pdu.yaml      |  22 -
 .../lyon/clusters/neowise/neowise_pdu.yaml    | 123 ------
 .../lyon/clusters/orion/orion_pdu.yaml.erb    |   1 -
 .../lyon/clusters/pyxis/pyxis_pdus.yaml.erb   |  18 -
 .../clusters/sagittaire/sagittaire_pdu.yaml   |  66 ---
 input/grid5000/sites/lyon/pdus.yaml           | 398 +++++++++++++++++-
 42 files changed, 781 insertions(+), 420 deletions(-)
 delete mode 100644 input/grid5000/sites/lyon/clusters/gemini/gemini_pdu.yaml
 delete mode 100644 input/grid5000/sites/lyon/clusters/neowise/neowise_pdu.yaml
 delete mode 100644 input/grid5000/sites/lyon/clusters/pyxis/pyxis_pdus.yaml.erb
 delete mode 100644 input/grid5000/sites/lyon/clusters/sagittaire/sagittaire_pdu.yaml

diff --git a/data/grid5000/sites/lyon/clusters/gemini/gemini.json b/data/grid5000/sites/lyon/clusters/gemini/gemini.json
index 8417a404ce2..3777acc793c 100644
--- a/data/grid5000/sites/lyon/clusters/gemini/gemini.json
+++ b/data/grid5000/sites/lyon/clusters/gemini/gemini.json
@@ -7,7 +7,7 @@
     {
       "description": "Power consumption of node reported by wattmetre, in watt",
       "name": "wattmetre_power_watt",
-      "optional_period": 20,
+      "optional_period": 10,
       "period": 1000,
       "source": {
         "protocol": "wattmetre"
diff --git a/data/grid5000/sites/lyon/clusters/gemini/nodes/gemini-1.json b/data/grid5000/sites/lyon/clusters/gemini/nodes/gemini-1.json
index 53586bcddad..81e9a08ca94 100644
--- a/data/grid5000/sites/lyon/clusters/gemini/nodes/gemini-1.json
+++ b/data/grid5000/sites/lyon/clusters/gemini/nodes/gemini-1.json
@@ -370,20 +370,40 @@
   },
   "pdu": [
     {
-      "port": 33,
-      "uid": "wattmetre1"
+      "port": "b5",
+      "uid": "pdu3a"
     },
     {
-      "port": 32,
-      "uid": "wattmetre1"
+      "port": "c5",
+      "uid": "pdu3a"
     },
     {
-      "port": 31,
-      "uid": "wattmetre1"
+      "port": "b5",
+      "uid": "pdu3b"
     },
     {
-      "port": 30,
-      "uid": "wattmetre1"
+      "port": "c5",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 6,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 7,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 8,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 9,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/gemini/nodes/gemini-2.json b/data/grid5000/sites/lyon/clusters/gemini/nodes/gemini-2.json
index 902b381203a..5dff399fb9f 100644
--- a/data/grid5000/sites/lyon/clusters/gemini/nodes/gemini-2.json
+++ b/data/grid5000/sites/lyon/clusters/gemini/nodes/gemini-2.json
@@ -370,20 +370,40 @@
   },
   "pdu": [
     {
-      "port": 28,
-      "uid": "wattmetre1"
+      "port": "b6",
+      "uid": "pdu3a"
     },
     {
-      "port": 27,
-      "uid": "wattmetre1"
+      "port": "c1",
+      "uid": "pdu3a"
     },
     {
-      "port": 29,
-      "uid": "wattmetre1"
+      "port": "b6",
+      "uid": "pdu3b"
     },
     {
-      "port": 26,
-      "uid": "wattmetre1"
+      "port": "c4",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 0,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 1,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 2,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 3,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-1.json b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-1.json
index 29f1f1652a1..2e9ac81d5e3 100644
--- a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-1.json
+++ b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-1.json
@@ -300,16 +300,6 @@
     "turboboost_enabled": true
   },
   "pdu": [
-    {
-      "kind": "wattmetre-only",
-      "port": 0,
-      "uid": "wattmetrev3-1"
-    },
-    {
-      "kind": "wattmetre-only",
-      "port": 6,
-      "uid": "wattmetrev3-1"
-    },
     {
       "port": 14,
       "uid": "pdu1a"
@@ -317,6 +307,16 @@
     {
       "port": 14,
       "uid": "pdu1b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 18,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 24,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-10.json b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-10.json
index d6e04505258..31297557c38 100644
--- a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-10.json
+++ b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-10.json
@@ -300,6 +300,14 @@
     "turboboost_enabled": true
   },
   "pdu": [
+    {
+      "port": 28,
+      "uid": "pdu2a"
+    },
+    {
+      "port": 28,
+      "uid": "pdu2b"
+    },
     {
       "kind": "wattmetre-only",
       "port": 4,
@@ -309,14 +317,6 @@
       "kind": "wattmetre-only",
       "port": 10,
       "uid": "wattmetrev3-2"
-    },
-    {
-      "port": 28,
-      "uid": "pdu2a"
-    },
-    {
-      "port": 28,
-      "uid": "pdu2b"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-2.json b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-2.json
index 7f5eb228dbe..d7630070e32 100644
--- a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-2.json
+++ b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-2.json
@@ -300,16 +300,6 @@
     "turboboost_enabled": true
   },
   "pdu": [
-    {
-      "kind": "wattmetre-only",
-      "port": 1,
-      "uid": "wattmetrev3-1"
-    },
-    {
-      "kind": "wattmetre-only",
-      "port": 7,
-      "uid": "wattmetrev3-1"
-    },
     {
       "port": 15,
       "uid": "pdu1a"
@@ -317,6 +307,16 @@
     {
       "port": 15,
       "uid": "pdu1b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 19,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 25,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-3.json b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-3.json
index 935e90cb6b5..bf25f16aa07 100644
--- a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-3.json
+++ b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-3.json
@@ -301,22 +301,22 @@
   },
   "pdu": [
     {
-      "kind": "wattmetre-only",
-      "port": 2,
-      "uid": "wattmetrev3-1"
+      "port": 20,
+      "uid": "pdu1a"
     },
     {
-      "kind": "wattmetre-only",
-      "port": 8,
-      "uid": "wattmetrev3-1"
+      "port": 20,
+      "uid": "pdu1b"
     },
     {
+      "kind": "wattmetre-only",
       "port": 20,
-      "uid": "pdu1a"
+      "uid": "wattmetrev3-1"
     },
     {
-      "port": 20,
-      "uid": "pdu1b"
+      "kind": "wattmetre-only",
+      "port": 26,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-4.json b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-4.json
index 14c38ca1814..053474405fe 100644
--- a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-4.json
+++ b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-4.json
@@ -301,22 +301,22 @@
   },
   "pdu": [
     {
-      "kind": "wattmetre-only",
-      "port": 3,
-      "uid": "wattmetrev3-1"
+      "port": 21,
+      "uid": "pdu1a"
     },
     {
-      "kind": "wattmetre-only",
-      "port": 9,
-      "uid": "wattmetrev3-1"
+      "port": 21,
+      "uid": "pdu1b"
     },
     {
+      "kind": "wattmetre-only",
       "port": 21,
-      "uid": "pdu1a"
+      "uid": "wattmetrev3-1"
     },
     {
-      "port": 21,
-      "uid": "pdu1b"
+      "kind": "wattmetre-only",
+      "port": 27,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-5.json b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-5.json
index acba71fc680..f50ac1f228a 100644
--- a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-5.json
+++ b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-5.json
@@ -301,22 +301,22 @@
   },
   "pdu": [
     {
-      "kind": "wattmetre-only",
-      "port": 4,
-      "uid": "wattmetrev3-1"
+      "port": 28,
+      "uid": "pdu1a"
     },
     {
-      "kind": "wattmetre-only",
-      "port": 10,
-      "uid": "wattmetrev3-1"
+      "port": 28,
+      "uid": "pdu1b"
     },
     {
-      "port": 28,
-      "uid": "pdu1a"
+      "kind": "wattmetre-only",
+      "port": 22,
+      "uid": "wattmetrev3-1"
     },
     {
+      "kind": "wattmetre-only",
       "port": 28,
-      "uid": "pdu1b"
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-6.json b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-6.json
index 33c8b8f5bb2..85355e477e7 100644
--- a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-6.json
+++ b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-6.json
@@ -300,6 +300,14 @@
     "turboboost_enabled": true
   },
   "pdu": [
+    {
+      "port": 14,
+      "uid": "pdu2a"
+    },
+    {
+      "port": 14,
+      "uid": "pdu2b"
+    },
     {
       "kind": "wattmetre-only",
       "port": 0,
@@ -309,14 +317,6 @@
       "kind": "wattmetre-only",
       "port": 6,
       "uid": "wattmetrev3-2"
-    },
-    {
-      "port": 14,
-      "uid": "pdu2a"
-    },
-    {
-      "port": 14,
-      "uid": "pdu2b"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-7.json b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-7.json
index e269532fccc..fa7b1e3513a 100644
--- a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-7.json
+++ b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-7.json
@@ -300,6 +300,14 @@
     "turboboost_enabled": true
   },
   "pdu": [
+    {
+      "port": 15,
+      "uid": "pdu2a"
+    },
+    {
+      "port": 15,
+      "uid": "pdu2b"
+    },
     {
       "kind": "wattmetre-only",
       "port": 1,
@@ -309,14 +317,6 @@
       "kind": "wattmetre-only",
       "port": 7,
       "uid": "wattmetrev3-2"
-    },
-    {
-      "port": 15,
-      "uid": "pdu2a"
-    },
-    {
-      "port": 15,
-      "uid": "pdu2b"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-8.json b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-8.json
index 216838a63be..afafb7979c9 100644
--- a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-8.json
+++ b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-8.json
@@ -300,6 +300,14 @@
     "turboboost_enabled": true
   },
   "pdu": [
+    {
+      "port": 20,
+      "uid": "pdu2a"
+    },
+    {
+      "port": 20,
+      "uid": "pdu2b"
+    },
     {
       "kind": "wattmetre-only",
       "port": 2,
@@ -309,14 +317,6 @@
       "kind": "wattmetre-only",
       "port": 8,
       "uid": "wattmetrev3-2"
-    },
-    {
-      "port": 20,
-      "uid": "pdu2a"
-    },
-    {
-      "port": 20,
-      "uid": "pdu2b"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-9.json b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-9.json
index 82f36d64788..d6e87793cec 100644
--- a/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-9.json
+++ b/data/grid5000/sites/lyon/clusters/neowise/nodes/neowise-9.json
@@ -300,6 +300,14 @@
     "turboboost_enabled": true
   },
   "pdu": [
+    {
+      "port": 21,
+      "uid": "pdu2a"
+    },
+    {
+      "port": 21,
+      "uid": "pdu2b"
+    },
     {
       "kind": "wattmetre-only",
       "port": 3,
@@ -309,14 +317,6 @@
       "kind": "wattmetre-only",
       "port": 9,
       "uid": "wattmetrev3-2"
-    },
-    {
-      "port": 21,
-      "uid": "pdu2a"
-    },
-    {
-      "port": 21,
-      "uid": "pdu2b"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-1.json b/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-1.json
index af8e8943000..a4b42ea9b05 100644
--- a/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-1.json
+++ b/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-1.json
@@ -235,8 +235,13 @@
   },
   "pdu": [
     {
-      "port": 45,
-      "uid": "wattmetre1"
+      "port": "c1",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 10,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-2.json b/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-2.json
index 5934ae7e6e7..2e6b2684f05 100644
--- a/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-2.json
+++ b/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-2.json
@@ -235,8 +235,13 @@
   },
   "pdu": [
     {
-      "port": 24,
-      "uid": "wattmetre1"
+      "port": "c2",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 11,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-3.json b/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-3.json
index bfa1d515207..3f00de9785e 100644
--- a/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-3.json
+++ b/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-3.json
@@ -235,8 +235,13 @@
   },
   "pdu": [
     {
-      "port": 25,
-      "uid": "wattmetre1"
+      "port": "c2",
+      "uid": "pdu3a"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 4,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-4.json b/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-4.json
index 7c7eda0c29e..01b146b87be 100644
--- a/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-4.json
+++ b/data/grid5000/sites/lyon/clusters/pyxis/nodes/pyxis-4.json
@@ -235,8 +235,13 @@
   },
   "pdu": [
     {
-      "port": 35,
-      "uid": "wattmetre1"
+      "port": "b7",
+      "uid": "pdu3a"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 5,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/pyxis/pyxis.json b/data/grid5000/sites/lyon/clusters/pyxis/pyxis.json
index d8b26f8783e..e19c798c29c 100644
--- a/data/grid5000/sites/lyon/clusters/pyxis/pyxis.json
+++ b/data/grid5000/sites/lyon/clusters/pyxis/pyxis.json
@@ -7,7 +7,7 @@
     {
       "description": "Power consumption of node reported by wattmetre, in watt",
       "name": "wattmetre_power_watt",
-      "optional_period": 20,
+      "optional_period": 10,
       "period": 1000,
       "source": {
         "protocol": "wattmetre"
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-11.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-11.json
index f4cd1a51720..20ed89e5299 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-11.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-11.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 7,
-      "uid": "wattmetre1"
+      "port": "a1",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 36,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-12.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-12.json
index b1cc5818524..e437165091c 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-12.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-12.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 8,
-      "uid": "wattmetre1"
+      "port": "a2",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 37,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-13.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-13.json
index c21473cdba5..5d0e3ee2fa1 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-13.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-13.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 9,
-      "uid": "wattmetre1"
+      "port": "a3",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 38,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-14.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-14.json
index 66b41a8a413..82165cebe21 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-14.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-14.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 10,
-      "uid": "wattmetre1"
+      "port": "a4",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 39,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-15.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-15.json
index 43dd38505f2..87790407eb0 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-15.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-15.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 11,
-      "uid": "wattmetre1"
+      "port": "a5",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 40,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-16.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-16.json
index 19c3547ec93..0f73c03ae63 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-16.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-16.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 12,
-      "uid": "wattmetre1"
+      "port": "a6",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 41,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-2.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-2.json
index 98207dfdfa4..70d19798052 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-2.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-2.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 1,
-      "uid": "wattmetre1"
+      "port": "a1",
+      "uid": "pdu3a"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 30,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-3.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-3.json
index be0088a4214..007b04e6023 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-3.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-3.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 2,
-      "uid": "wattmetre1"
+      "port": "a2",
+      "uid": "pdu3a"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 31,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-4.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-4.json
index cb03c1970b4..52310faced0 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-4.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-4.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 3,
-      "uid": "wattmetre1"
+      "port": "a3",
+      "uid": "pdu3a"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 32,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-5.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-5.json
index 2c9895f43c1..ee22183452e 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-5.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-5.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 4,
-      "uid": "wattmetre1"
+      "port": "a4",
+      "uid": "pdu3a"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 33,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-6.json b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-6.json
index 4c38c7db059..71e7a72ef4f 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-6.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/nodes/sagittaire-6.json
@@ -159,8 +159,13 @@
   },
   "pdu": [
     {
-      "port": 5,
-      "uid": "wattmetre1"
+      "port": "a5",
+      "uid": "pdu3a"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 34,
+      "uid": "wattmetrev3-1"
     }
   ],
   "performance": {
diff --git a/data/grid5000/sites/lyon/clusters/sagittaire/sagittaire.json b/data/grid5000/sites/lyon/clusters/sagittaire/sagittaire.json
index 53ca5458cc1..17872d8ea0d 100644
--- a/data/grid5000/sites/lyon/clusters/sagittaire/sagittaire.json
+++ b/data/grid5000/sites/lyon/clusters/sagittaire/sagittaire.json
@@ -7,7 +7,7 @@
     {
       "description": "Power consumption of node reported by wattmetre, in watt",
       "name": "wattmetre_power_watt",
-      "optional_period": 20,
+      "optional_period": 10,
       "period": 1000,
       "source": {
         "protocol": "wattmetre"
diff --git a/data/grid5000/sites/lyon/clusters/sirius/nodes/sirius-1.json b/data/grid5000/sites/lyon/clusters/sirius/nodes/sirius-1.json
index 2450c2dc9e0..64bddb9372e 100644
--- a/data/grid5000/sites/lyon/clusters/sirius/nodes/sirius-1.json
+++ b/data/grid5000/sites/lyon/clusters/sirius/nodes/sirius-1.json
@@ -426,6 +426,62 @@
     "pstate_governor": "performance",
     "turboboost_enabled": true
   },
+  "pdu": [
+    {
+      "port": "a8",
+      "uid": "pdu3a"
+    },
+    {
+      "port": "b8",
+      "uid": "pdu3a"
+    },
+    {
+      "port": "c8",
+      "uid": "pdu3a"
+    },
+    {
+      "port": "a8",
+      "uid": "pdu3b"
+    },
+    {
+      "port": "b8",
+      "uid": "pdu3b"
+    },
+    {
+      "port": "c8",
+      "uid": "pdu3b"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 12,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 13,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 14,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 15,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 16,
+      "uid": "wattmetrev3-1"
+    },
+    {
+      "kind": "wattmetre-only",
+      "port": 17,
+      "uid": "wattmetrev3-1"
+    }
+  ],
   "performance": {
     "core_flops": 33600000000,
     "node_flops": 4300800000000
diff --git a/data/grid5000/sites/lyon/clusters/sirius/sirius.json b/data/grid5000/sites/lyon/clusters/sirius/sirius.json
index 1f832a995dd..e94351d72fb 100644
--- a/data/grid5000/sites/lyon/clusters/sirius/sirius.json
+++ b/data/grid5000/sites/lyon/clusters/sirius/sirius.json
@@ -4,6 +4,15 @@
   "exotic": false,
   "kavlan": false,
   "metrics": [
+    {
+      "description": "Power consumption of node reported by wattmetre, in watt",
+      "name": "wattmetre_power_watt",
+      "optional_period": 10,
+      "period": 1000,
+      "source": {
+        "protocol": "wattmetre"
+      }
+    },
     {
       "description": "Front node ambient temperature reported by BMC, in celsius",
       "name": "bmc_ambient_temp_celsius",
diff --git a/data/grid5000/sites/lyon/pdus/pdu3a.json b/data/grid5000/sites/lyon/pdus/pdu3a.json
index d315ed0939d..0ea90a35767 100644
--- a/data/grid5000/sites/lyon/pdus/pdu3a.json
+++ b/data/grid5000/sites/lyon/pdus/pdu3a.json
@@ -1,7 +1,29 @@
 {
   "ip": "172.17.63.205",
   "mac": "00:20:85:D7:8A:6C",
-  "model": null,
+  "model": "EMAB20",
+  "ports": {
+    "a1": "sagittaire-2",
+    "a2": "sagittaire-3",
+    "a3": "sagittaire-4",
+    "a4": "sagittaire-5",
+    "a5": "sagittaire-6",
+    "a6": "sagittaire-7",
+    "a7": "wattmetrev3-1-phase1",
+    "a8": "sirius-1",
+    "b1": "gw",
+    "b2": "salome",
+    "b3": "wattmetrev3-1-phase2",
+    "b5": "gemini-1",
+    "b6": "gemini-2",
+    "b7": "pyxis-4",
+    "b8": "sirius-1",
+    "c1": "gemini-2",
+    "c2": "pyxis-3",
+    "c3": "wattmetrev3-1-phase3",
+    "c5": "gemini-1",
+    "c8": "sirius-1"
+  },
   "type": "pdu",
   "uid": "pdu3a",
   "vendor": "Eaton"
diff --git a/data/grid5000/sites/lyon/pdus/pdu3b.json b/data/grid5000/sites/lyon/pdus/pdu3b.json
index 40842638528..0751ad9e662 100644
--- a/data/grid5000/sites/lyon/pdus/pdu3b.json
+++ b/data/grid5000/sites/lyon/pdus/pdu3b.json
@@ -1,7 +1,27 @@
 {
   "ip": "172.17.63.206",
   "mac": "00:20:85:D7:84:EB",
-  "model": null,
+  "model": "EMAB20",
+  "ports": {
+    "a1": "sagittaire-11",
+    "a2": "sagittaire-12",
+    "a3": "sagittaire-13",
+    "a4": "sagittaire-14",
+    "a5": "sagittaire-15",
+    "a6": "sagittaire-16",
+    "a7": "gw",
+    "a8": "sirius-1",
+    "b1": "switch-adm",
+    "b5": "gemini-1",
+    "b6": "gemini-2",
+    "b8": "sirius-1",
+    "c1": "pyxis-1",
+    "c2": "pyxis-2",
+    "c3": "switch-ib",
+    "c4": "gemini-2",
+    "c5": "gemini-1",
+    "c8": "sirius-1"
+  },
   "type": "pdu",
   "uid": "pdu3b",
   "vendor": "Eaton"
diff --git a/data/grid5000/sites/lyon/pdus/wattmetre1.json b/data/grid5000/sites/lyon/pdus/wattmetre1.json
index 710ee0f07bc..a1d9ae3dfda 100644
--- a/data/grid5000/sites/lyon/pdus/wattmetre1.json
+++ b/data/grid5000/sites/lyon/pdus/wattmetre1.json
@@ -12,31 +12,6 @@
     }
   ],
   "model": "v2",
-  "ports": {
-    "1": "sagittaire-2",
-    "10": "sagittaire-14",
-    "11": "sagittaire-15",
-    "12": "sagittaire-16",
-    "2": "sagittaire-3",
-    "24": "pyxis-2",
-    "25": "pyxis-3",
-    "26": "gemini-2",
-    "27": "gemini-2",
-    "28": "gemini-2",
-    "29": "gemini-2",
-    "3": "sagittaire-4",
-    "30": "gemini-1",
-    "31": "gemini-1",
-    "32": "gemini-1",
-    "33": "gemini-1",
-    "35": "pyxis-4",
-    "4": "sagittaire-5",
-    "45": "pyxis-1",
-    "5": "sagittaire-6",
-    "7": "sagittaire-11",
-    "8": "sagittaire-12",
-    "9": "sagittaire-13"
-  },
   "type": "pdu",
   "uid": "wattmetre1",
   "vendor": "OmegaWatt"
diff --git a/data/grid5000/sites/lyon/pdus/wattmetrev3-1.json b/data/grid5000/sites/lyon/pdus/wattmetrev3-1.json
index ec785c8bff9..dc01dcc9e7c 100644
--- a/data/grid5000/sites/lyon/pdus/wattmetrev3-1.json
+++ b/data/grid5000/sites/lyon/pdus/wattmetrev3-1.json
@@ -14,16 +14,46 @@
   ],
   "model": "v3",
   "ports": {
-    "0": "neowise-1",
-    "1": "neowise-2",
-    "10": "neowise-5",
-    "2": "neowise-3",
-    "3": "neowise-4",
-    "4": "neowise-5",
-    "6": "neowise-1",
-    "7": "neowise-2",
-    "8": "neowise-3",
-    "9": "neowise-4"
+    "0": "gemini-2",
+    "1": "gemini-2",
+    "10": "pyxis-1",
+    "11": "pyxis-2",
+    "12": "sirius-1",
+    "13": "sirius-1",
+    "14": "sirius-1",
+    "15": "sirius-1",
+    "16": "sirius-1",
+    "17": "sirius-1",
+    "18": "neowise-1",
+    "19": "neowise-2",
+    "2": "gemini-2",
+    "20": "neowise-3",
+    "21": "neowise-4",
+    "22": "neowise-5",
+    "24": "neowise-1",
+    "25": "neowise-2",
+    "26": "neowise-3",
+    "27": "neowise-4",
+    "28": "neowise-5",
+    "3": "gemini-2",
+    "30": "sagittaire-2",
+    "31": "sagittaire-3",
+    "32": "sagittaire-4",
+    "33": "sagittaire-5",
+    "34": "sagittaire-6",
+    "35": "sagittaire-7",
+    "36": "sagittaire-11",
+    "37": "sagittaire-12",
+    "38": "sagittaire-13",
+    "39": "sagittaire-14",
+    "4": "pyxis-3",
+    "40": "sagittaire-15",
+    "41": "sagittaire-16",
+    "5": "pyxis-4",
+    "6": "gemini-1",
+    "7": "gemini-1",
+    "8": "gemini-1",
+    "9": "gemini-1"
   },
   "serial": "02000014",
   "type": "pdu",
diff --git a/input/grid5000/sites/lyon/clusters/gemini/gemini_pdu.yaml b/input/grid5000/sites/lyon/clusters/gemini/gemini_pdu.yaml
deleted file mode 100644
index e25ff1bc903..00000000000
--- a/input/grid5000/sites/lyon/clusters/gemini/gemini_pdu.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-nodes:
-  gemini-1:
-    pdu:
-      - uid: wattmetre1
-        port: 33
-      - uid: wattmetre1
-        port: 32
-      - uid: wattmetre1
-        port: 31
-      - uid: wattmetre1
-        port: 30
-  gemini-2:
-    pdu:
-      - uid: wattmetre1
-        port: 28
-      - uid: wattmetre1
-        port: 27
-      - uid: wattmetre1
-        port: 29
-      - uid: wattmetre1
-        port: 26
diff --git a/input/grid5000/sites/lyon/clusters/neowise/neowise_pdu.yaml b/input/grid5000/sites/lyon/clusters/neowise/neowise_pdu.yaml
deleted file mode 100644
index 60cc3a0a923..00000000000
--- a/input/grid5000/sites/lyon/clusters/neowise/neowise_pdu.yaml
+++ /dev/null
@@ -1,123 +0,0 @@
----
-nodes:
-  neowise-1:
-    pdu:
-    - uid: wattmetrev3-1
-      kind: wattmetre-only
-      port: 0
-    - uid: wattmetrev3-1
-      kind: wattmetre-only
-      port: 6
-    - uid: pdu1a
-      port: 14
-    - uid: pdu1b
-      port: 14
-  neowise-2:
-    pdu:
-    - uid: wattmetrev3-1
-      kind: wattmetre-only
-      port: 1
-    - uid: wattmetrev3-1
-      kind: wattmetre-only
-      port: 7
-    - uid: pdu1a
-      port: 15
-    - uid: pdu1b
-      port: 15
-  neowise-3:
-    pdu:
-    - uid: wattmetrev3-1
-      kind: wattmetre-only
-      port: 2
-    - uid: wattmetrev3-1
-      kind: wattmetre-only
-      port: 8
-    - uid: pdu1a
-      port: 20
-    - uid: pdu1b
-      port: 20
-  neowise-4:
-    pdu:
-    - uid: wattmetrev3-1
-      kind: wattmetre-only
-      port: 3
-    - uid: wattmetrev3-1
-      kind: wattmetre-only
-      port: 9
-    - uid: pdu1a
-      port: 21
-    - uid: pdu1b
-      port: 21
-  neowise-5:
-    pdu:
-    - uid: wattmetrev3-1
-      kind: wattmetre-only
-      port: 4
-    - uid: wattmetrev3-1
-      kind: wattmetre-only
-      port: 10
-    - uid: pdu1a
-      port: 28
-    - uid: pdu1b
-      port: 28
-  neowise-6:
-    pdu:
-    - uid: wattmetrev3-2
-      kind: wattmetre-only
-      port: 0
-    - uid: wattmetrev3-2
-      kind: wattmetre-only
-      port: 6
-    - uid: pdu2a
-      port: 14
-    - uid: pdu2b
-      port: 14
-  neowise-7:
-    pdu:
-    - uid: wattmetrev3-2
-      kind: wattmetre-only
-      port: 1
-    - uid: wattmetrev3-2
-      kind: wattmetre-only
-      port: 7
-    - uid: pdu2a
-      port: 15
-    - uid: pdu2b
-      port: 15
-  neowise-8:
-    pdu:
-    - uid: wattmetrev3-2
-      kind: wattmetre-only
-      port: 2
-    - uid: wattmetrev3-2
-      kind: wattmetre-only
-      port: 8
-    - uid: pdu2a
-      port: 20
-    - uid: pdu2b
-      port: 20
-  neowise-9:
-    pdu:
-    - uid: wattmetrev3-2
-      kind: wattmetre-only
-      port: 3
-    - uid: wattmetrev3-2
-      kind: wattmetre-only
-      port: 9
-    - uid: pdu2a
-      port: 21
-    - uid: pdu2b
-      port: 21
-  neowise-10:
-    pdu:
-    - uid: wattmetrev3-2
-      kind: wattmetre-only
-      port: 4
-    - uid: wattmetrev3-2
-      kind: wattmetre-only
-      port: 10
-    - uid: pdu2a
-      port: 28
-    - uid: pdu2b
-      port: 28
-
diff --git a/input/grid5000/sites/lyon/clusters/orion/orion_pdu.yaml.erb b/input/grid5000/sites/lyon/clusters/orion/orion_pdu.yaml.erb
index 50ca2998ad4..25c28180e6f 100644
--- a/input/grid5000/sites/lyon/clusters/orion/orion_pdu.yaml.erb
+++ b/input/grid5000/sites/lyon/clusters/orion/orion_pdu.yaml.erb
@@ -6,4 +6,3 @@ nodes:
       - uid: wattmetre4
         port: <%= i+15 %>
 <% } %>
----
diff --git a/input/grid5000/sites/lyon/clusters/pyxis/pyxis_pdus.yaml.erb b/input/grid5000/sites/lyon/clusters/pyxis/pyxis_pdus.yaml.erb
deleted file mode 100644
index cff0f6150b3..00000000000
--- a/input/grid5000/sites/lyon/clusters/pyxis/pyxis_pdus.yaml.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-nodes:
-  pyxis-1:
-    pdu:
-      - uid: wattmetre1
-        port: 45
-  pyxis-2:
-    pdu:
-      - uid: wattmetre1
-        port: 24
-  pyxis-3:
-    pdu:
-      - uid: wattmetre1
-        port: 25
-  pyxis-4:
-    pdu:
-      - uid: wattmetre1
-        port: 35
diff --git a/input/grid5000/sites/lyon/clusters/sagittaire/sagittaire_pdu.yaml b/input/grid5000/sites/lyon/clusters/sagittaire/sagittaire_pdu.yaml
deleted file mode 100644
index 58d1dca57f1..00000000000
--- a/input/grid5000/sites/lyon/clusters/sagittaire/sagittaire_pdu.yaml
+++ /dev/null
@@ -1,66 +0,0 @@
----
-nodes:
-  sagittaire-2:
-    pdu:
-      - uid: wattmetre1
-        port: 1
-  sagittaire-3:
-    pdu:
-      - uid: wattmetre1
-        port: 2
-  sagittaire-4:
-    pdu:
-      - uid: wattmetre1
-        port: 3
-  sagittaire-5:
-    pdu:
-      - uid: wattmetre1
-        port: 4
-  sagittaire-6:
-    pdu:
-      - uid: wattmetre1
-        port: 5
-  sagittaire-11:
-    pdu:
-      - uid: wattmetre1
-        port: 7
-  sagittaire-12:
-    pdu:
-      - uid: wattmetre1
-        port: 8
-  sagittaire-13:
-    pdu:
-      - uid: wattmetre1
-        port: 9
-  sagittaire-14:
-    pdu:
-      - uid: wattmetre1
-        port: 10
-  sagittaire-15:
-    pdu:
-      - uid: wattmetre1
-        port: 11
-  sagittaire-16:
-    pdu:
-      - uid: wattmetre1
-        port: 12
-  sagittaire-24:
-    pdu:
-      - uid: wattmetre1
-        port: 17
-  sagittaire-27:
-    pdu:
-      - uid: wattmetre1
-        port: 18
-  sagittaire-29:
-    pdu:
-      - uid: wattmetre1
-        port: 19
-  sagittaire-30:
-    pdu:
-      - uid: wattmetre1
-        port: 20
-  sagittaire-31:
-    pdu:
-      - uid: wattmetre1
-        port: 21
diff --git a/input/grid5000/sites/lyon/pdus.yaml b/input/grid5000/sites/lyon/pdus.yaml
index 54d3fb4a65b..521a50bd436 100644
--- a/input/grid5000/sites/lyon/pdus.yaml
+++ b/input/grid5000/sites/lyon/pdus.yaml
@@ -6,6 +6,42 @@ pdus:
     model: AP8886
     ip: 172.17.63.201
     mac: 28:29:86:1D:00:29
+    ports:
+      14: #bank2
+        uid: neowise-1
+        wattmetre: wattmetrev3-1
+        module: "04000014" # ou 16?
+        channel: 1
+        phase: 1
+        phase_inverted: true
+      15: #bank2
+        uid: neowise-2
+        wattmetre: wattmetrev3-1
+        module: "04000014" # ou 16?
+        channel: 2
+        phase: 1
+        phase_inverted: true
+      20: #bank3
+        uid: neowise-3
+        wattmetre: wattmetrev3-1
+        module: "04000014" # ou 16?
+        channel: 3
+        phase: 3
+        phase_inverted: true
+      21: #bank3
+        uid: neowise-4
+        wattmetre: wattmetrev3-1
+        module: "04000014" # ou 16?
+        channel: 4
+        phase: 3
+        phase_inverted: true
+      28: #bank4
+        uid: neowise-5
+        wattmetre: wattmetrev3-1
+        module: "04000014" # ou 16?
+        channel: 5
+        phase: 3
+        phase_inverted: true
 
   pdu1b:
     # Rangée 9, 1ere armoire, PDU droite
@@ -13,34 +49,276 @@ pdus:
     model: AP8886
     ip: 172.17.63.202
     mac: 28:29:86:1D:00:20
+    ports:
+      14: #bank2
+        uid: neowise-1
+        wattmetre: wattmetrev3-1
+        module: "04000016" # ou 14?
+        channel: 1
+        phase: 1
+        phase_inverted: true
+      15: #bank2
+        uid: neowise-2
+        wattmetre: wattmetrev3-1
+        module: "04000016" # ou 14?
+        channel: 2
+        phase: 1
+        phase_inverted: true #?
+      20: #bank3
+        uid: neowise-3
+        wattmetre: wattmetrev3-1
+        module: "04000016" # ou 14?
+        channel: 3
+        phase: 3
+        phase_inverted: true
+      21: #bank3
+        uid: neowise-4
+        wattmetre: wattmetrev3-1
+        module: "04000016" # ou 14?
+        channel: 4
+        phase: 3
+        phase_inverted: true
+      28: #bank4
+        uid: neowise-5
+        wattmetre: wattmetrev3-1
+        module: "04000016" # ou 14?
+        channel: 5
+        phase: 3
+        phase_inverted: true
 
   pdu3a:
     # Rangée 9, 2ere armoire, PDU gauche
     vendor: Eaton
-    model: #AP8886
+    model: EMAB20
     ip: 172.17.63.205
     mac: 00:20:85:D7:8A:6C
+    ports:
+      a1:
+        uid: sagittaire-2
+        wattmetre: wattmetrev3-1
+        module: "04000018"
+        channel: 1
+        phase: 1
+        phase_inverted: true
+      a2:
+        uid: sagittaire-3
+        wattmetre: wattmetrev3-1
+        module: "04000018"
+        channel: 2
+        phase: 1
+        phase_inverted: true
+      a3:
+        uid: sagittaire-4
+        wattmetre: wattmetrev3-1
+        module: "04000018"
+        channel: 3
+        phase: 1
+        phase_inverted: true
+      a4:
+        uid: sagittaire-5
+        wattmetre: wattmetrev3-1
+        module: "04000018"
+        channel: 4
+        phase: 1
+        phase_inverted: true
+      a5:
+        uid: sagittaire-6
+        wattmetre: wattmetrev3-1
+        module: "04000018"
+        channel: 5
+        phase: 1
+        phase_inverted: true
+      a6:
+        uid: sagittaire-7
+        wattmetre: wattmetrev3-1
+        module: "04000018"
+        channel: 6
+        phase: 1
+        phase_inverted: true
+      a7: wattmetrev3-1-phase1
+      a8:
+        uid: sirius-1
+        wattmetre: wattmetrev3-1
+        module: "04000013"
+        channel: 1
+        phase: 1
+        phase_inverted: false
+      b1: gw
+      b2: salome
+      b3: wattmetrev3-1-phase2
+      b5:
+        uid: gemini-1
+        wattmetre: wattmetrev3-1
+        module: "04000011"
+        channel: 1
+        phase: 2
+        phase_inverted: true
+      b6:
+        uid: gemini-2
+        wattmetre: wattmetrev3-1
+        module: "04000010"
+        channel: 1
+        phase: 2
+        phase_inverted: true
+      b7:
+        uid: pyxis-4
+        wattmetre: wattmetrev3-1
+        module: "04000010"
+        channel: 6
+        phase: 2
+        phase_inverted: true
+      b8:
+        uid: sirius-1
+        wattmetre: wattmetrev3-1
+        module: "04000013"
+        channel: 2
+        phase: 2
+        phase_inverted: true
+      c1:
+        uid: gemini-2
+        wattmetre: wattmetrev3-1
+        module: "04000010"
+        channel: 2
+        phase: 3
+        phase_inverted: true
+      c2:
+        uid: pyxis-3
+        wattmetre: wattmetrev3-1
+        module: "04000010"
+        channel: 5
+        phase: 3
+        phase_inverted: true
+      c3: wattmetrev3-1-phase3
+      c5:
+        uid: gemini-1
+        wattmetre: wattmetrev3-1
+        module: "04000011"
+        channel: 2
+        phase: 3
+        phase_inverted: true
+      c8:
+        uid: sirius-1
+        wattmetre: wattmetrev3-1
+        module: "04000013"
+        channel: 3
+        phase: 3
+        phase_inverted: true
 
   pdu3b:
     # Rangée 9, 2ere armoire, PDU gauche
     vendor: Eaton
-    model: #AP8886
+    model: EMAB20
     ip: 172.17.63.206
     mac: 00:20:85:D7:84:EB
-
-  wattmetrev3-1:
-    vendor: OmegaWatt
-    model: v3
-    kind: wattmetre-only
-    serial: '02000014'
-    ip: 172.16.63.8
-    metrics:
-      - name: wattmetre_power_watt
-        description: Power consumption per outlet reported by wattmetre, in watt
-        period: 1000
-        optional_period: 10
-        source:
-          protocol: wattmetre
+    ports:
+      a1:
+        uid: sagittaire-11
+        wattmetre: wattmetrev3-1
+        module: "04000022"
+        channel: 1
+        phase: 1
+        phase_inverted: true
+      a2:
+        uid: sagittaire-12
+        wattmetre: wattmetrev3-1
+        module: "04000022"
+        channel: 2
+        phase: 1
+        phase_inverted: true
+      a3:
+        uid: sagittaire-13
+        wattmetre: wattmetrev3-1
+        module: "04000022"
+        channel: 3
+        phase: 1
+        phase_inverted: true
+      a4:
+        uid: sagittaire-14
+        wattmetre: wattmetrev3-1
+        module: "04000022"
+        channel: 4
+        phase: 1
+        phase_inverted: true
+      a5:
+        uid: sagittaire-15
+        wattmetre: wattmetrev3-1
+        module: "04000022"
+        channel: 5
+        phase: 1
+        phase_inverted: true
+      a6:
+        uid: sagittaire-16
+        wattmetre: wattmetrev3-1
+        module: "04000022"
+        channel: 6
+        phase: 1
+        phase_inverted: true
+      a7: gw
+      a8:
+        uid: sirius-1
+        wattmetre: wattmetrev3-1
+        module: "04000013"
+        channel: 4
+        phase: 1
+        phase_inverted: false
+      b1: switch-adm
+      b5:
+        uid: gemini-1
+        wattmetre: wattmetrev3-1
+        module: "04000011"
+        channel: 3 #?
+        phase: 2
+        phase_inverted: true
+      b6:
+        uid: gemini-2
+        wattmetre: wattmetrev3-1
+        module: "04000010"
+        channel: 3 #?
+        phase: 2
+        phase_inverted: true
+      b8:
+        uid: sirius-1
+        wattmetre: wattmetrev3-1
+        module: "04000013"
+        channel: 5
+        phase: 2
+        phase_inverted: true
+      c1:
+        uid: pyxis-1
+        wattmetre: wattmetrev3-1
+        module: "04000011"
+        channel: 5
+        phase: 3
+        phase_inverted: true
+      c2:
+        uid: pyxis-2
+        wattmetre: wattmetrev3-1
+        module: "04000011"
+        channel: 6
+        phase: 3
+        phase_inverted: true
+      c3: switch-ib
+      c4:
+        uid: gemini-2 #-2?
+        wattmetre: wattmetrev3-1
+        module: "04000010"
+        channel: 4
+        phase: 3
+        phase_inverted: true
+      c5:
+        uid: gemini-1
+        wattmetre: wattmetrev3-1
+        module: "04000011"
+        channel: 4
+        phase: 3
+        phase_inverted: true
+      c8:
+        uid: sirius-1
+        wattmetre: wattmetrev3-1
+        module: "04000013"
+        channel: 6
+        phase: 3
+        phase_inverted: false
 
   pdu2a:
     # Rangée 8, 1ere armoire, PDU droite
@@ -48,6 +326,42 @@ pdus:
     model: AP8886
     ip: 172.17.63.204
     mac: 28:29:86:1D:00:32
+    ports:
+      14: #bank2
+        uid: neowise-6
+        wattmetre: wattmetrev3-2
+        module: "04000012" #|15?
+        channel: 1
+        phase: 1
+        phase_inverted: true
+      15: #bank2
+        uid: neowise-7
+        wattmetre: wattmetrev3-2
+        module: "04000012" #|15?
+        channel: 2
+        phase: 1
+        phase_inverted: true
+      20: #bank3
+        uid: neowise-8
+        wattmetre: wattmetrev3-2
+        module: "04000012" #|15?
+        channel: 3
+        phase: 2
+        phase_inverted: true
+      21: #bank3
+        uid: neowise-9
+        wattmetre: wattmetrev3-2
+        module: "04000012" #|15?
+        channel: 4
+        phase: 2
+        phase_inverted: true
+      28: #bank4
+        uid: neowise-10
+        wattmetre: wattmetrev3-2
+        module: "04000012" #|15?
+        channel: 5
+        phase: 2
+        phase_inverted: true
 
   pdu2b:
     # Rangée 8, 1ere armoire, PDU gauche
@@ -55,6 +369,56 @@ pdus:
     model: AP8886
     ip: 172.17.63.204
     mac: 28:29:86:1D:00:2B
+    ports:
+      14: #bank2
+        uid: neowise-6
+        wattmetre: wattmetrev3-2
+        module: "04000015" # ou 12?
+        channel: 1
+        phase: 1
+        phase_inverted: true
+      15: #bank2
+        uid: neowise-7
+        wattmetre: wattmetrev3-2
+        module: "04000015" # ou 12?
+        channel: 2
+        phase: 1
+        phase_inverted: true
+      20: #bank3
+        uid: neowise-8
+        wattmetre: wattmetrev3-2
+        module: "04000015" # ou 12?
+        channel: 3
+        phase: 1 ## pas 2 ?
+        phase_inverted: false # ??
+      21: #bank3
+        uid: neowise-9
+        wattmetre: wattmetrev3-2
+        module: "04000015" # ou 12?
+        channel: 4
+        phase: 1 ## pas 2 ?
+        phase_inverted: false # ??
+      28: #bank4
+        uid: neowise-10
+        wattmetre: wattmetrev3-2
+        module: "04000015" # ou 12?
+        channel: 5
+        phase: 1 ## pas 2 ?
+        phase_inverted: false # ??
+
+  wattmetrev3-1:
+    vendor: OmegaWatt
+    model: v3
+    kind: wattmetre-only
+    serial: '02000014'
+    ip: 172.16.63.8
+    metrics:
+      - name: wattmetre_power_watt
+        description: Power consumption per outlet reported by wattmetre, in watt
+        period: 1000
+        optional_period: 10
+        source:
+          protocol: wattmetre
 
   wattmetrev3-2:
     vendor: OmegaWatt
@@ -69,6 +433,7 @@ pdus:
         optional_period: 10
         source:
           protocol: wattmetre
+
   wattmetre1:
     vendor: OmegaWatt
     model: v2
@@ -92,4 +457,3 @@ pdus:
         optional_period: 20
         source:
           protocol: wattmetre
-
-- 
GitLab