diff --git a/html/images/os/hwg-poseidon.png b/html/images/os/hwg-poseidon.png
new file mode 100644
index 0000000000..5762618092
Binary files /dev/null and b/html/images/os/hwg-poseidon.png differ
diff --git a/html/images/os/hwg.png b/html/images/os/hwg.png
new file mode 100644
index 0000000000..1e19ba056c
Binary files /dev/null and b/html/images/os/hwg.png differ
diff --git a/html/images/os/poseidon.png b/html/images/os/poseidon.png
deleted file mode 100644
index 29233208ad..0000000000
Binary files a/html/images/os/poseidon.png and /dev/null differ
diff --git a/includes/definitions.inc.php b/includes/definitions.inc.php
index 166e1f3a0a..3e1f04356c 100644
--- a/includes/definitions.inc.php
+++ b/includes/definitions.inc.php
@@ -1634,10 +1634,18 @@ $config['os'][$os]['over'][0]['graph'] = 'device_bits';
$config['os'][$os]['over'][0]['text'] = 'Traffic';
// HWGroup Poseidon
-$os = 'poseidon';
-$config['os'][$os]['text'] = 'Poseidon';
+$os = 'hwg-poseidon';
+$config['os'][$os]['text'] = 'HWg Poseidon';
$config['os'][$os]['type'] = 'environment';
-$config['os'][$os]['icon'] = 'poseidon';
+$config['os'][$os]['icon'] = 'hwg-poseidon';
+$config['os'][$os]['over'][0]['graph'] = 'device_bits';
+$config['os'][$os]['over'][0]['text'] = 'Traffic';
+
+// HWGroup STE
+$os = 'hwg-ste';
+$config['os'][$os]['text'] = 'HWg STE';
+$config['os'][$os]['type'] = 'environment';
+$config['os'][$os]['icon'] = 'hwg';
$config['os'][$os]['over'][0]['graph'] = 'device_bits';
$config['os'][$os]['over'][0]['text'] = 'Traffic';
diff --git a/includes/discovery/os/poseidon.inc.php b/includes/discovery/os/hwg-poseidon.inc.php
similarity index 94%
rename from includes/discovery/os/poseidon.inc.php
rename to includes/discovery/os/hwg-poseidon.inc.php
index 080a3be955..6bbd82aca5 100644
--- a/includes/discovery/os/poseidon.inc.php
+++ b/includes/discovery/os/hwg-poseidon.inc.php
@@ -12,6 +12,6 @@
if (!$os) {
if (strstr($sysObjectId, '.1.3.6.1.4.1.21796.3.3')) {
- $os = 'poseidon';
+ $os = 'hwg-poseidon';
}
-}
\ No newline at end of file
+}
diff --git a/includes/discovery/os/hwg-ste.inc.php b/includes/discovery/os/hwg-ste.inc.php
new file mode 100644
index 0000000000..67ea3da6a2
--- /dev/null
+++ b/includes/discovery/os/hwg-ste.inc.php
@@ -0,0 +1,17 @@
+
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or (at your
+ * option) any later version. Please see LICENSE.txt at the top level of
+ * the source code distribution for details.
+ */
+
+if (!$os) {
+ if (strstr($sysObjectId, '.1.3.6.1.4.1.21796.4.1')) {
+ $os = 'hwg-ste';
+ }
+}
diff --git a/includes/polling/os/poseidon.inc.php b/includes/polling/os/hwg-poseidon.inc.php
similarity index 100%
rename from includes/polling/os/poseidon.inc.php
rename to includes/polling/os/hwg-poseidon.inc.php
diff --git a/mibs/STE-MIB b/mibs/STE-MIB
new file mode 100644
index 0000000000..4f7e1bdb16
--- /dev/null
+++ b/mibs/STE-MIB
@@ -0,0 +1,160 @@
+-- HWg-STE MIB 1.02
+-- History:
+--
+-- 1.00 08.12.2008 Marek Hummel - Created
+-- 1.01 03.08.2009 Marek Hummel - Add SensorID, Change SensorState values
+-- 1.02 14.05.2010 Marek Hummel - Fix Syntax
+--
+
+STE-MIB DEFINITIONS ::= BEGIN
+IMPORTS
+ OBJECT-TYPE FROM RFC-1212
+ enterprises FROM RFC1155-SMI
+ DisplayString,sysName FROM RFC1213-MIB
+ TRAP-TYPE FROM RFC-1215;
+
+--
+-- Type Definitions
+--
+PositiveInteger ::= INTEGER (1..2147483647) -- 0x7FFF FFFF
+
+UnitType ::= INTEGER {
+ none (0),
+ celsius (1),
+ fahrenheit (2),
+ kelvin (3),
+ percent(4)
+ }
+
+SensorState ::= INTEGER {
+ invalid (0),
+ normal (1),
+ outofrangelo (2),
+ outofrangehi (3),
+ alarmlo (4),
+ alarmhi (5)
+ }
+
+SensorSN ::= DisplayString (SIZE (0..16))
+SensorName ::= DisplayString (SIZE (0..16))
+SensorValue ::= INTEGER
+SensorID ::= INTEGER
+SensorString ::= DisplayString (SIZE (0..10))
+
+--
+-- Node Definitions
+--
+
+hwgroup OBJECT IDENTIFIER ::= { enterprises 21796 }
+x390 OBJECT IDENTIFIER ::= { hwgroup 4 }
+ste OBJECT IDENTIFIER ::= { x390 1 }
+
+-- Application Info
+info OBJECT IDENTIFIER ::= { ste 70 }
+
+infoAddressMAC OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..17))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "MAC address in text form.
+ It is here to distinguish devices in trap messages."
+ ::= { info 1 }
+
+-- Table has to be last in a branch to satisfy snmp walk engine implementation
+sensTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SensEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of sensor table entries. The number
+ of entries corresponds with number of detected sensors."
+ ::= { ste 3 }
+
+sensEntry OBJECT-TYPE
+ SYNTAX SensEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry containing information applicable to a
+ particular sensor."
+ INDEX { sensIndex }
+ ::= { sensTable 1 }
+
+SensEntry ::= SEQUENCE {
+ sensIndex PositiveInteger,
+ sensName SensorName,
+ sensState SensorState,
+ sensString SensorString,
+ sensValue SensorValue,
+ sensSN SensorSN,
+ sensUnit UnitType,
+ sensID SensorID
+}
+
+sensIndex OBJECT-TYPE
+ SYNTAX PositiveInteger
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The sensor index."
+ ::= { sensEntry 1 }
+
+sensName OBJECT-TYPE
+ SYNTAX SensorName
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The sensor name."
+ ::= { sensEntry 2 }
+
+sensState OBJECT-TYPE
+ SYNTAX SensorState
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The sensor state."
+ ::= { sensEntry 3 }
+
+sensString OBJECT-TYPE
+ SYNTAX SensorString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The string representation of sensor value."
+ ::= { sensEntry 4 }
+
+sensValue OBJECT-TYPE
+ SYNTAX SensorValue
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The integer (decimal * 10) representation
+ of sensor value."
+ ::= { sensEntry 5 }
+
+sensSN OBJECT-TYPE
+ SYNTAX SensorSN
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The sensor Serial number."
+ ::= { sensEntry 6 }
+
+sensUnit OBJECT-TYPE
+ SYNTAX UnitType
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The sensor unit."
+ ::= { sensEntry 7 }
+
+sensID OBJECT-TYPE
+ SYNTAX UnitType
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The sensor ID."
+ ::= { sensEntry 8 }
+
+END