Ankündigung

Einklappen
Keine Ankündigung bisher.

Exec Binding

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

    Exec Binding

    Moin,

    ich versuche seit ca. 3 Tagen ein exec Binding zum laufen zu bekommen.
    Das Binding soll die CPU Temperatur meines Pi auslesen.
    Leider Funktioniert das ganze nicht und es wird keine Temperatur ausgeben.

    Informationen:
    addon "org.openhab.binding.exec-1.7.0.jar" in den addons Ordner installiert.

    Items:
    Code:
    Number TEMP_HIMBEERE "Temperatur Himbeere [%.1f °C]" (gSystem) <temperature> { exec="<[/etc/openhab/configurations/shellscripts/coreTemp.sh:60000:REGEX((.*?))]" }
    Sitemap:
    Code:
    Text item=TEMP_HIMBEERE icon="temperature"
    in der openhab.log erscheint keine Fehlermeldung. Hat jemand hierzu eine Idee?

    Gruß marc

    #2
    Hat der openHAB-User die nötigen Rechte, coreTemp.sh auszuführen?

    Kommentar


      #3
      Und paste hier mal die Ausgabe von
      /etc/openhab/configurations/shellscripts/coreTemp.sh

      Kommentar


        #4
        Zitat von udo1toni Beitrag anzeigen
        Hat der openHAB-User die nötigen Rechte, coreTemp.sh auszuführen?
        selbst wenn ich openhab als root ausführe wird nichts ausgegeben.

        Zitat von thoern Beitrag anzeigen
        Und paste hier mal die Ausgabe von
        /etc/openhab/configurations/shellscripts/coreTemp.sh
        Code:
        ./coreTemp.sh
        45.46

        Kommentar


          #5
          Dann möchte ich empfehlen, mal testweise das Fragezeichen im REGEX wegzumachen (führt zum kürzestmöglichen Match) ... hätte ich auch gleich sehen können.

          Kommentar


            #6
            Zitat von udo1toni Beitrag anzeigen
            Dann möchte ich empfehlen, mal testweise das Fragezeichen im REGEX wegzumachen (führt zum kürzestmöglichen Match) ... hätte ich auch gleich sehen können.
            Habe ich geprüft. Bringt leider keine Besserung. Gibt es eine Möglichkeit zu prüfen das das Item (Shell Script) überhaupt ausgeführt wird?

            Kommentar


              #7
              Zitat von Hazzard Beitrag anzeigen

              Habe ich geprüft. Bringt leider keine Besserung. Gibt es eine Möglichkeit zu prüfen das das Item (Shell Script) überhaupt ausgeführt wird?
              Schreibe halt einfache einen Text in dein Shellskript, der dir in eine Datei ausgegeben wird, Beispiel:

              ....
              echo -n "Letzter Aufruf von" >> /tmp/aufruf
              date >> /tmp/aufruf
              ...

              Dann schaust du, ob was in die Datei reingeschrieben wurde.

              Gruß,
              thoern

              Kommentar


                #8
                Zitat von thoern Beitrag anzeigen

                Schreibe halt einfache einen Text in dein Shellskript, der dir in eine Datei ausgegeben wird, Beispiel:

                ....
                echo -n "Letzter Aufruf von" >> /tmp/aufruf
                date >> /tmp/aufruf
                ...

                Dann schaust du, ob was in die Datei reingeschrieben wurde.

                Gruß,
                thoern
                Stimmt, danke für den Tipp. Es wird keine Datei erzeugt. Also wird das Script wohl nicht aufgerufen?

                Gruß Marc

                Kommentar


                  #9
                  ich gehe davon aus, dass du es vorher mit manuellem Aufruf getestet hast, oder?
                  Verwendest du im Skript relative oder absolute Pfade zu den Unix-Kommandos? Vielleicht wird es ja ausgeführt, es werden die Kommandos aber nicht gefunden, da Umgebung falsch gesetzt?
                  Zuletzt geändert von thoern; 11.06.2015, 17:16.

                  Kommentar


                    #10
                    Moin,

                    habe das gerade geprüft. Im Script wird bash gesetzt:

                    Code:
                    #!/bin/bash
                    
                    INPUT=$(/bin/cat /sys/class/thermal/thermal_zone0/temp)
                    echo $INPUT/1000 |bc -l| python -c "print round(float(raw_input()),2)"
                    Rufe ich das Script mit /bin/bash ./coreTemp.sh auf bekomme ich auch eine Ausgabe.

                    Gruß Marc

                    Kommentar


                      #11
                      echo, bc und python müssen in dem Fall auch mit Pfad angegeben werden. Oder eben beim Aufruf des Scripts die Bash mit einbauen...

                      Kommentar


                        #12
                        Zitat von udo1toni Beitrag anzeigen
                        echo, bc und python müssen in dem Fall auch mit Pfad angegeben werden. Oder eben beim Aufruf des Scripts die Bash mit einbauen...
                        Oder einfach den PATH setzen. Aber eigentlich kann er sich alles erst mal sparen. Er sollte einfach mal wie weiter oben geschrieben ein Skript anlegen was eine simple Info in ein Text-File schreibt. Im Moment weiss er ja gar nicht, ob es überhaupt ausgeführt wird...
                        Zuletzt geändert von thoern; 12.06.2015, 21:56.

                        Kommentar


                          #13
                          Zitat von thoern Beitrag anzeigen

                          Oder einfach den PATH setzen. Aber eigentlich kann er sich alles erst mal sparen. Er sollte einfach mal wie weiter oben geschrieben ein Skript anlegen was eine simple Info in ein Text-File schreibt. Im Moment weiss er ja gar nicht, ob es überhaupt ausgeführt wird...
                          Moin,
                          Problem ist mittlerweile gelöst.
                          Die Definition des Items war nicht richtig.

                          Falsch:
                          Code:
                          Number TEMP_HIMBEERE "Temperatur Himbeere [%.1f °C]" (gSystem) <temperature> { exec="<[/etc/openhab/configurations/shellscripts/coreTemp.sh:60000:REGEX((.*?))]" }
                          Richtig:
                          Code:
                          Number  TEMP_HIMBEERE   "Temperatur Himbeere [%.1f °C]" <temperature>   (gSystem)               { exec="<[/etc/openhab/configurations/shellscripts/coreTemp.sh:60000:REGEX((.*?))]" }
                          Gruß und Danke!

                          Kommentar


                            #14
                            Zitat von Hazzard Beitrag anzeigen

                            Falsch:
                            Code:
                            Number TEMP_HIMBEERE "Temperatur Himbeere [%.1f °C]" (gSystem) <temperature> { exec="<[/etc/openhab/configurations/shellscripts/coreTemp.sh:60000:REGEX((.*?))]" }
                            Richtig:
                            Code:
                            Number TEMP_HIMBEERE "Temperatur Himbeere [%.1f °C]" <temperature> (gSystem) { exec="<[/etc/openhab/configurations/shellscripts/coreTemp.sh:60000:REGEX((.*?))]" }
                            Gruß und Danke!
                            Hölle und Verdammnis !!!
                            Seit Tagen suche ich den Fehler warum meine (vermeintlich) unveränderten Items nicht mehr funktionieren.
                            Das kommt übers Bett :-D

                            Grüße,
                            Kharim

                            Kommentar

                            Lädt...
                            X