Seite 1 von 2

OH-4.0.0.M2 - Whitelist-Warnung

Verfasst: 25. Apr 2023 18:14
von peter-pan
Hallo,
ich habe beim Starten (Neustarten) von OH festgestellt, dass irgend etwas mit meiner Whitelist nicht in Ordnung sein soll.
In der Vergangenheit (OH2 - OH3) hatte ich damit keine Probleme.

Code: Alles auswählen

2023-04-25 16:09:46.652 [WARN ] [cTransformationWhitelistWatchService] - Cannot read whitelist file, exec transformations won't be processed: misc/exec.whitelist
Berechtigungen:

Code: Alles auswählen

-rw-rw-r--  1 openhab openhab  332 31. Mär 17:21 exec.whitelist
Dateityp lt. VSC "Nur Text" - "LF"

Inhalt:

Code: Alles auswählen

# For security reasons all commands that are used by the exec binding or transformation need to be whitelisted.
# Every command needs to be listed on a separate line below.
/bin/bash /etc/openhab/scripts/cpu_temp.sh
/bin/bash /etc/openhab/scripts/test.sh
echo "scale=2;($(/bin/cat /sys/class/thermal/thermal_zone0/temp)/1000)" | bc
Hat jemand eine Idee?

Re: OH-4.0.0.M2 - Whitelist-Warnung

Verfasst: 25. Apr 2023 19:18
von udo1toni
Nutzt Du denn exec transformation? (Mit Betonung auf Transformation)?
Ansosnten denke daran, dass 4.0 noch ein paar Monate braucht...

Re: OH-4.0.0.M2 - Whitelist-Warnung

Verfasst: 25. Apr 2023 22:15
von peter-pan
@udo1toni
Hallo Udo,
Danke für dein feedback.
Ich hoffe ich habe dich richtig verstanden. Das Add-On "Exec transformation" habe ich installiert.

Meine dazugehörige Things-Datei sieht so aus:

Code: Alles auswählen

Thing exec:command:my_user "Angemeldet ist" @ "Buero"  
                    [command="/bin/bash /etc/openhab/scripts/test.sh", interval=120, timeout=30, transform="REGEX((.*?))"]
                    
Thing exec:command:cpu_temp "OH2-PI Temperatur" @ "Buero" 
                    [command="/bin/bash /etc/openhab/scripts/cpu_temp.sh", interval=120, timeout=30, transform="REGEX((.*?))"]

Thing exec:command:cpu_temp_command "PI4 Temperatur.:" @ "Buero" 
                    [command="echo \"scale=2;($(/bin/cat /sys/class/thermal/thermal_zone0/temp)/1000)\" | bc", interval=120, timeout=30, transform="REGEX((.*?))"]
Ein Item daz:

Code: Alles auswählen

String       Dummy           "Versucherle [%s]"          (gPower,gPower1)   ["WallSwitch", "Point_Control_Switch"]   {channel="exec:command:cpu_temp:output"}
Das Item wird auch mit Werten befüllt.

Das Script (cpu_temp.sh) dazu sieht so aus:

Code: Alles auswählen

#!/bin/bash
INPUT=$(/bin/cat /sys/class/thermal/thermal_zone0/temp)
TEMP=$(echo "scale=2; $INPUT / 1000" | bc)
echo $TEMP
und läuft:

Code: Alles auswählen

hab3@oh3ssd:/etc/openhab/scripts $ ./cpu_temp.sh
40.89
hab3@oh3ssd:/etc/openhab/scripts $
Berechtigungen:

Code: Alles auswählen

hab3@oh3ssd:/etc/openhab/scripts $ ls -alF
insgesamt 48
drwxrwxr-x  2 openhab openhab 4096 23. Apr 18:11  ./
drwxrwxr-x 16 openhab openhab 4096 23. Dez 2021   ../
-rw-rw-r--  1 openhab openhab  193 27. Jul 2018   cpuRasPi_Office_temp.sh
-rw-rw-r--  1 openhab openhab   82  2. Jul 2018   cpu_temp1.sh
-rwxrwxr-x  1 openhab openhab  123 23. Feb 2020   cpu_temp.sh*
-rw-rw-r--  1 openhab openhab  148 20. Mai 2021   fahrenheit.sh
-rw-rw-r--  1 openhab openhab  176 17. Jul 2018   mount_check.sh
-rw-rw-r--  1 openhab openhab  163 18. Sep 2019   mountusb.sh
-rw-rw-r--  1 openhab openhab  166  2. Jul 2018  'Mount USB-Stick.txt'
-rw-rw-r--  1 openhab openhab 1326  9. Aug 2020   oh_uptime.sh
-rw-rw-r--  1 openhab openhab  236 12. Dez 2021   readme.txt
-rwxrwxr-x  1 openhab openhab  237  4. Jul 2022   test.sh*
Hab ich Infos vergessen ?

Re: OH-4.0.0.M2 - Whitelist-Warnung

Verfasst: 26. Apr 2023 00:32
von udo1toni
Nein, eben nicht :) Was Du installiert hast, ist das exec Binding, nicht die exec Transformation (kann aber sein, dass die zusätzlich installiert ist...).
Und was Du konfiguriert hast, ist ein exec Thing (bzw. mehrere).

Wie gesagt, ich denke, die Meldung ist einfach der Tatsache geschuldet, dass die 4.0 Beta ist.

Re: OH-4.0.0.M2 - Whitelist-Warnung

Verfasst: 26. Apr 2023 12:13
von peter-pan
Da warte ich dann auch mal ab, obwohl ich sowohl Binding als auch Transformation installiert habe.
exec-trans.jpg
exec-bind.jpg
Im englischen Forum hab ich leider nichts dazu gefunden.

Danke für die Info.

Re: OH-4.0.0.M2 - Whitelist-Warnung

Verfasst: 26. Apr 2023 20:25
von bastler
ich kann nur zur info beitragen dass ich aktuell oh 4.0.0.m1 installiert habe und bei mir die exec.whitelist keine probleme macht. ich hab keine solche fehlermeldung in den logs gefunden und meine cpu temperatur wird auch korrekt angezeigt.

so sieht meine exec.whitelist aus:

Code: Alles auswählen

# For security reasons all commands that are used by the exec binding or transformation need to be whitelisted.
# Every command needs to be listed on a separate line below.

# CPU-Temperatur auslesen
cat /sys/class/thermal/thermal_zone0/temp

Re: OH-4.0.0.M2 - Whitelist-Warnung

Verfasst: 26. Apr 2023 20:57
von peter-pan
@bastler

Danke für deine Info. Im Prinzip das gleiche wie bei mir.
Das kuriose bei mir ist, dass die Kommandos ja ausgeführt werden und ich auch Werte in die Items gemeldet bekomme. Deshalb bin ich etwas über die Meldung verwundert. Ich hatte auch bisher mit meiner Whitelist nie Probleme und habe auch seit OH2.5 nichts geändert.

Andere Frage: Wie formatierst du den Wert ?

Da kommt doch so etwas raus:

Code: Alles auswählen

hab3@oh3ssd:~ $ cat /sys/class/thermal/thermal_zone0/temp
49660
Also ein Wert ohne Punkt und Komma !

Re: OH-4.0.0.M2 - Whitelist-Warnung

Verfasst: 26. Apr 2023 21:19
von bastler
ja stimmt, wenn ich das in der kommandozeile eingebe kommt so etwas raus.

vermutlich sieht meine things anders aus als bei dir:

Code: Alles auswählen

Thing exec:command:cpu_temp "CPU-Temperatur" [
    // Command to execute
    command="cat /sys/class/thermal/thermal_zone0/temp",
    // interval time in seconds
    interval=15,
    // should it run when input channel is changed
    autorun=false,
    // REGEX transformation to make 44007/1000 => 44,007
    // explanation for the regex
    // s/           - substitute
    // (.{2})(.{3}) - a a number with 5 characters, split in two groups
    // /$1.$2/g     - returned value= first group, a comma, then second group, used to devide by 1000
    // transform="REGEX(s/(.{2})(.{3})/$1,$2/g)"
    // /$1.$2/g     - returned value= first group, devide by 1000
    transform="REGEX(s/(.{2})(.{3})/$1/g)"
    // alternative EXEC transformation with python
    // transform="EXEC(python3 -c \"print(%s/1000)\")"
]

Re: OH-4.0.0.M2 - Whitelist-Warnung

Verfasst: 26. Apr 2023 21:32
von J-N-K
In der Transformation ist es ein Bug, im Binding sollte es funktionieren. Fix: https://github.com/openhab/openhab-addons/pull/14884

Re: OH-4.0.0.M2 - Whitelist-Warnung

Verfasst: 27. Apr 2023 11:39
von peter-pan
@bastler

Code: Alles auswählen

Thing exec:command:cpu_temp "CPU-Temperatur" [
    command="cat /sys/class/thermal/thermal_zone0/temp", interval=15, autorun=false, transform="REGEX(s/(.{2})(.{3})/$1/g)"]
Wenn ich deinen Code so anschaue, ist das fast der Gleiche. Nur dass ich für die Umwandlung in eine Dezimalzahl nicht REGEX nehme, sondern eine Berechnung mit "bc" auf zwei Dezimalstellen.

@J-N-K

Hab's leider nicht verstanden. Wird da noch was angepasst oder muss ich da selbst aktiv werden ? Und wenn ja, wo ? :oops: :oops: