diff --git a/sysutils/nut/Makefile b/sysutils/nut/Makefile
index 0c7ccd2df..b86569bea 100644
--- a/sysutils/nut/Makefile
+++ b/sysutils/nut/Makefile
@@ -1,5 +1,5 @@
PLUGIN_NAME= nut
-PLUGIN_VERSION= 1.5
+PLUGIN_VERSION= 1.6
PLUGIN_COMMENT= Network UPS Tools
PLUGIN_DEPENDS= nut
PLUGIN_MAINTAINER= m.muenz@gmail.com
diff --git a/sysutils/nut/src/opnsense/mvc/app/controllers/OPNsense/Nut/forms/settings.xml b/sysutils/nut/src/opnsense/mvc/app/controllers/OPNsense/Nut/forms/settings.xml
index b5f05913c..c6c02f79b 100644
--- a/sysutils/nut/src/opnsense/mvc/app/controllers/OPNsense/Nut/forms/settings.xml
+++ b/sysutils/nut/src/opnsense/mvc/app/controllers/OPNsense/Nut/forms/settings.xml
@@ -134,6 +134,22 @@
Set the password of the remote NUT server.
+
+
+ nut.qx.enable
+
+ checkbox
+ Enable the QX driver.
+
+
+ nut.qx.args
+
+
+ select_multiple
+ true
+ Set extra arguments for this UPS, e.g. "port=auto".
+
+
nut.riello.enable
@@ -150,6 +166,22 @@
Set extra arguments for this UPS, e.g. "port=auto".
+
+
+ nut.snmp.enable
+
+ checkbox
+ Enable the SNMP driver.
+
+
+ nut.snmp.args
+
+
+ select_multiple
+ true
+ Set extra arguments for this UPS, e.g. "community=public".
+
+
nut-general-settings
diff --git a/sysutils/nut/src/opnsense/mvc/app/models/OPNsense/Nut/Nut.xml b/sysutils/nut/src/opnsense/mvc/app/models/OPNsense/Nut/Nut.xml
index 2215c0209..ac8c908eb 100644
--- a/sysutils/nut/src/opnsense/mvc/app/models/OPNsense/Nut/Nut.xml
+++ b/sysutils/nut/src/opnsense/mvc/app/models/OPNsense/Nut/Nut.xml
@@ -1,7 +1,7 @@
//OPNsense/Nut
Network UPS Tools
- 1.0.2
+ 1.0.3
@@ -93,6 +93,16 @@
N
+
+
+ Y
+ 0
+
+
+ port=auto
+ N
+
+
Y
@@ -103,5 +113,15 @@
N
+
+
+ Y
+ 0
+
+
+ community=public
+ N
+
+
diff --git a/sysutils/nut/src/opnsense/service/templates/OPNsense/Nut/ups.conf b/sysutils/nut/src/opnsense/service/templates/OPNsense/Nut/ups.conf
index 7f50fbf71..20d94a1e9 100644
--- a/sysutils/nut/src/opnsense/service/templates/OPNsense/Nut/ups.conf
+++ b/sysutils/nut/src/opnsense/service/templates/OPNsense/Nut/ups.conf
@@ -38,6 +38,15 @@ driver=blazer_ser
{% endfor %}
{% endif %}
{% endif %}
+{% if helpers.exists('OPNsense.Nut.qx.enable') and OPNsense.Nut.qx.enable == '1' %}
+[{{ OPNsense.Nut.general.name }}]
+driver=nutdrv_qx
+{% if helpers.exists('OPNsense.Nut.qx.args') and OPNsense.Nut.qx.args != '' %}
+{% for args in OPNsense.Nut.qx.args.split(',') %}
+{{ args }}
+{% endfor %}
+{% endif %}
+{% endif %}
{% if helpers.exists('OPNsense.Nut.riello.enable') and OPNsense.Nut.riello.enable == '1' %}
[{{ OPNsense.Nut.general.name }}]
driver=riello_usb
@@ -47,4 +56,13 @@ driver=riello_usb
{% endfor %}
{% endif %}
{% endif %}
+{% if helpers.exists('OPNsense.Nut.snmp.enable') and OPNsense.Nut.snmp.enable == '1' %}
+[{{ OPNsense.Nut.general.name }}]
+driver=snmp_ups
+{% if helpers.exists('OPNsense.Nut.snmp.args') and OPNsense.Nut.snmp.args != '' %}
+{% for args in OPNsense.Nut.snmp.args.split(',') %}
+{{ args }}
+{% endfor %}
+{% endif %}
+{% endif %}
{% endif %}
diff --git a/sysutils/nut/src/opnsense/service/templates/OPNsense/Nut/upsmon.conf b/sysutils/nut/src/opnsense/service/templates/OPNsense/Nut/upsmon.conf
index fa1cd02d8..8878b83b8 100644
--- a/sysutils/nut/src/opnsense/service/templates/OPNsense/Nut/upsmon.conf
+++ b/sysutils/nut/src/opnsense/service/templates/OPNsense/Nut/upsmon.conf
@@ -26,8 +26,18 @@ MONITOR {{ OPNsense.Nut.general.name }} 1 monuser {{ OPNsense.Nut.account.mon_pa
SHUTDOWNCMD "/usr/local/etc/rc.halt"
POWERDOWNFLAG /etc/killpower
{% endif %}
+{% if helpers.exists('OPNsense.Nut.qx.enable') and OPNsense.Nut.qx.enable == '1' %}
+MONITOR {{ OPNsense.Nut.general.name }} 1 monuser {{ OPNsense.Nut.account.mon_password }} master
+SHUTDOWNCMD "/usr/local/etc/rc.halt"
+POWERDOWNFLAG /etc/killpower
+{% endif %}
{% if helpers.exists('OPNsense.Nut.riello.enable') and OPNsense.Nut.riello.enable == '1' %}
MONITOR {{ OPNsense.Nut.general.name }} 1 monuser {{ OPNsense.Nut.account.mon_password }} master
SHUTDOWNCMD "/usr/local/etc/rc.halt"
POWERDOWNFLAG /etc/killpower
{% endif %}
+{% if helpers.exists('OPNsense.Nut.snmp.enable') and OPNsense.Nut.snmp.enable == '1' %}
+MONITOR {{ OPNsense.Nut.general.name }} 1 monuser {{ OPNsense.Nut.account.mon_password }} master
+SHUTDOWNCMD "/usr/local/etc/rc.halt"
+POWERDOWNFLAG /etc/killpower
+{% endif %}