Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

Temperatursensor-Werte werden nicht angezeigt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Temperatursensor-Werte werden nicht angezeigt

    Hallo zusammen!

    Leider habe ich ein Problem mit der Einbindung meines DHT22 Temperatursensors:

    Bei mir laufen DHT und Openhab auf ein und demselben RPi. Openhab wurde über apt installiert. Mein Skript für den Export der Temperatur liegt hier: /scripts/temp.sh

    Das Skript sieht so aus:

    #!/bin/bash

    GPIO=$1
    INPUT=$(/scripts/loldht $GPIO |grep "Temperature")
    HUM=$(echo $INPUT|cut -d " " -f3)
    TEMP=$(echo $INPUT|cut -d " " -f7)

    if [ "$2" = "HUM" ]; then
    echo $HUM
    fi

    if [ "$2" = "TEMP" ]; then
    echo $TEMP
    fi


    Über `sudo /scripts/temp.sh 7 TEMP` erhalte ich hier wie gewünscht eine Ausgabe.
    In Openhab wird mir jedoch für Temperatur und Luftfeuchte nur "-" angezeigt.

    Meine default.sitemap sieht so aus:

    sitemap Haus label="Hauptmenue"
    {
    Frame {
    Text item=TEMP_WOHNZIMMER
    Text item=LUFT_WOHNZIMMER
    }
    }


    Die default.items so (wirklich nur dies in der Datei):

    Number TEMP_WOHNZIMMER "Temperatur Wohnzimmer [%.1f °C]" <temperature> { exec="<[sudo /scripts/temp.sh 7 TEMP:60000:REGEX((.*?))]" }
    Number LUFT_WOHNZIMMER "Luftf. Wohnzimmer [%.1f %%]" <humidity> { exec="<[sudo /scripts/temp.sh 7 HUM:60000:REGEX((.*?))]" }

    Ich glaube, dass irgendwas mit den Rechten nicht stimmt, da mit "sudo /scripts/temp.sh 7 TEMP" eine Ausgabe kommt. Mit der Rechteverteilung kenne ich mich leider nicht so aus. Exec als Addon ist installiert.

    cat /etc/passwd liefert:
    openhab:x:109:114penHAB runtime user,,,:/var/lib/openhab:/bin/false

    /etc/default/openhab liefert:
    USER_AND_GROUP=openhabpenhab

    Ich bin noch ganz neu im Thema Openhab und weiß daher nicht weiter. Ich hoffe Ihr könnt mir hier weiterhelfen.

    Danke vorab schonmal!

    #2
    Normalerweise verlangt sudo (mindestens beim ersten Aufruf, danach nach einer Zeitspanne seit dem letzen Aufruf) ein Passwort. openHAB kann dieses Passwort naturgemäß nicht übergeben.
    Mögliche Lösungen:
    • 1. Dafür sorgen, dass sudo nicht nötig ist, um die Daten zu lesen, im Zweifel muss der User openhab einer Gruppe zugeordnet werden, die die Ports lesen darf.
    • 2. Dafür sorgen, dass der User openhab das Script mit sudo aufrufen darf, ohne ein Passwort eingeben zu müssen.
    • 3. mittels echo mypassword | sudo -S <Dein Kommando> das Passwort explizit übergeben (was natürlich unsicher ist).

    Bitte auch daran denken, dass der User openhab zur Gruppe sudo gehören muss oder alternativ mittels visudo in der Datei /etc/sudoers eingetragen wird (dort ist auch der Platz, um sudo ohne Passwort nutzen zu können)

    Kommentar

    Lädt...
    X