diff --git a/web/new website/GaugGroup.js b/web/new website/GaugGroup.js
new file mode 100644
index 0000000..fc214fc
--- /dev/null
+++ b/web/new website/GaugGroup.js
@@ -0,0 +1,47 @@
+class GaugeGroup {
+ constructor(nodeId, Location, gaugesCount, maxGaugeValues, dataTypes) {
+ this.nodeId = nodeId;
+ this.gaugesCount = gaugesCount;
+ this.maxGaugeValues = maxGaugeValues; // Maximum value the gauge can display
+ this.dataTypes = dataTypes; // Array of data type names for each gauge
+ this.location = Location;
+ // Create a new div element
+ this.element = document.createElement("div");
+ this.element.className = "gaugeGroup";
+
+ // Set the HTML of the new div
+ this.element.innerHTML = `
+
${this.nodeId} - ${this.location}
+
+ ${Array(this.gaugesCount).fill().map((_, i) => `
+
+
+

+
+
+
0
+
+
+
+ `).join('')}
+
+ `;
+
+ // Append the new div to the body
+ document.body.appendChild(this.element);
+ }
+
+ updateGauge(gaugeId, value) {
+ if (!this.maxGaugeValues || gaugeId - 1 < 0 || gaugeId - 1 >= this.maxGaugeValues.length) {
+ console.error('Invalid gaugeId or maxGaugeValues:', gaugeId, this.maxGaugeValues);
+ return;
+ }
+ const needle = document.getElementById(`needle${this.nodeId}_${gaugeId}`);
+ const gaugeText = document.getElementById(`gaugeText${this.nodeId}_${gaugeId}`);
+ const maxGaugeValue = this.maxGaugeValues[gaugeId - 1]; // Get the maximum value for this gauge
+ const rotationDegree = ((value / maxGaugeValue) * 180) - 90; // Convert value to degree (-90 to 90)
+
+ needle.style.transform = `rotate(${rotationDegree}deg)`;
+ gaugeText.textContent = `${this.dataTypes[gaugeId - 1]}: ${value}`; // Update the text with data type
+ }
+}
\ No newline at end of file