Ankündigung

Einklappen
Keine Ankündigung bisher.

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