Managed to get everything to work.
Big thanks to alex from this post here:
Here is exactly what i’ve got if somebody needs it.
This is used to power on my synology nas with Wake On Lan and to power it off by ssh.
File: /etc/openhab2/things/storage.things
Thing exec:command:device-nas-control "NAS Control (On/Off)" @ "Diverses" [ command="/etc/openhab2/scripts/storage.sh %2$s", interval=0, timeout=10, autorun=true ] Thing exec:command:device-nas-status "NAS Online Status" @ "Diverses" [ command="/etc/openhab2/scripts/storage.sh status", interval=20, timeout=5 ]
File: /etc/openhab2/items/storage.items
String network_device_nas_control "NAS Control" (gOthers) { channel="exec:command:device-nas-control:input", channel="exec:command:device-nas-status:output", autoupdate="false" } String network_device_nas_status "NAS Online Status" (gOthers) { channel="exec:command:device-nas-status:output" } Switch network_device_nas_switch "NAS (On/Off)" (gOthers) [ "Switchable" ]
File: /etc/openhab2/sitemaps/[yoursitemap].sitemap
Frame label=“Storage” {
Switch item=network_device_nas_switch
}
File: /etc/openhab2/rules/storage.rules
rule “NAS Switch”
when
Item network_device_nas_switch changed
then
logInfo(“Network”, "Switching NAS " + network_device_nas_switch.state.toString + ": " + network_device_nas_control.state.toString)
network_device_nas_status.postUpdate(network_device_nas_switch.state.toString)
network_device_nas_control.sendCommand(network_device_nas_switch.state.toString)
endrule “NAS State”
when
Item network_device_nas_status changed
then
logInfo(“Network”, "Switching NAS " + network_device_nas_status.state.toString + ": " + network_device_nas_control.state.toString)
network_device_nas_switch.postUpdate(network_device_nas_status.state.toString)
network_device_nas_control.sendCommand(network_device_nas_status.state.toString)
end
File: /etc/openhab2/scripts/storage.sh
#!/bin/bash # wakeonlan need to be installed; sudo apt-get install wakeonlan THIS_NAME="$(basename "${0}")" #Admin-User of Synolgy, must be active and the default user "admin" HOST_USER="admin" #Synology Admin PW HOST_PASS="12345" #Synology IP Adress HOST_NAME="192.168.178.XX" #Synology MAC Adress HOST_MAC="XX:XX:XX:XX:XX:XX" case "${1}" in [oO][nN]) exec wakeonlan "${HOST_MAC}" >/dev/null 2>&1 ;; [oO][fF][fF]) exec sshpass -p "${HOST_PASS}" ssh -o StrictHostKeyChecking=no "${HOST_USER}"@"${HOST_NAME}" 'echo "'${HOST_PASS}'" | sudo -S shutdown now -P' >/dev/null 2>&1 ;; [sS][tT][aA][tT][uU][sS]) ping -c 1 -W 1 "${HOST_NAME}" >/dev/null 2>&1 if [ $? -eq 0 ] ; then echo "ON" exit 0 fi echo "OFF" exit 1 ;; *) echo echo "Usage: ${THIS_NAME} <on|off|status>" echo exit 1 ;; esac exit 0