Ankündigung

Einklappen
Keine Ankündigung bisher.

Laufzeit vom Raspi einbinden

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

    Laufzeit vom Raspi einbinden

    Hallo,

    ich wollte einfach mal..... die Laufzeit des Raspi als String darstellen aber ich bin am scheitern.... Wahrscheinlich ist die Lösung einfach, aber ich brauche Unterstützung.

    Folgende Installation

    org.openhab.persistence.exec-1.7.1.jar
    in Addons eingefügt

    Item
    String TEMP_RBP236 "Temperatur rbp236 [%s]" <temperature> {exec="<[uptime:6000]"}

    Sitemap
    Text item=TEMP_RBP236

    Wenn ich "uptime" in der console eingebe kommt folgender Ausdruck:

    "22:41:27 up 9 days, 7:47, 2 users, load average: 0.00, 0.06, 0.07"

    Jens

    #2
    Die Notation im Wiki ist da vielleicht nicht ganz glücklich.
    Eine Möglichkeit wäre, dass ein abschließender Doppelpunkt fehlt, es also {exec="<[uptime:6000:]"} heißen muss (Der Doppelpunkt steht vor dem optionalen Teil). Ansonsten könntest Du eine Transformation mit angeben, also nach dem Doppelpunkt ein REGEX((.*)) ergänzen, spätestens dann sollte die Ausgabe übernommen werden.
    Anmerkung am Rande: Willst Du uptime wirklich alle 6 Sekunden aufrufen, oder hast Du nur eine Null vergessen?

    Kommentar


      #3
      Hallo Udo,

      ich habe den code geändert, aber keine Verbesserung
      Code:
      String TEMP_RBP236 "Temperatur rbp236 [%s]" <temperature> {exec="<[uptime:6000:REGEX((.*?))]"}
      Weiterhin habe ich noch ein sript probiert
      in der shell funktioniert es:

      root@raspberrypi:/opt/OpenHAB/configurations/scripts# bash rbptemp.sh
      41.16

      Code:
      #!/bin/bash
      TEMP=$(sudo cat /sys/class/thermal/thermal_zone0/temp)
      awk "BEGIN {printf \"%.2f\n\", $TEMP/1000}"
      Code:
      Number TEMP_HIMBEERE "Temperatur Himbeere [%.1f °C]" <temperature> { exec="<[/scripts/rbptemp.sh:6000:REGEX((.*?))]" }
      auch die exec binding habe ich nochmal eingespielt
      Jens

      Kommentar


        #4
        Das Problem hatte ich auch mal. Du musst schauen, ob OH auch unter root läuft oder einem anderen Benutzer.
        Leider weiß ich nicht mehr wie ich es genau gelöst habe. ich glaube ein chmod auf das OH verzeichnis hat dann das gewünschte Ergebnis gebracht. Dann lief exec auch richtig.

        Kommentar


          #5
          Hallo,

          so nachdem durch einen Spannungsausfall das OS hin war habe ich OpenHAB in aktueller Version neu aufgesetzt.
          Mit
          Code:
           String TEMP_RBP236 "Temperatur rbp236 [%s]" <temperature> {exec="<[uptime:6000:REGEX((.*?))]"}
          bekomme ich auch jetzt Daten. Uptime habe ich jetzt auch auf ein verträgliches Maß von 10 min geändert.
          Alternativ habe ich mir jetzt noch Daten von meinem Zähler abgeholt die in einem String liegen.
          Wie kann man diesen auf z.B. 1b1b1b1b suchen und an bestimmten Zeichen Teilen und von Hex in Float umwandeln??

          Jens
          Zuletzt geändert von JGLNN; 08.02.2016, 22:15.

          Kommentar


            #6
            vermutlich wirst Du (wegen der Umwandlung von Hex nach Float) eine >>Java Script Transformation<< einsetzen müssen.

            Kommentar


              #7
              Hallo,

              ich habe jetzt erfolgreich aus dem ganzen Zahlengewirr den Zählerstand extrahiert.

              00080644ce entspricht 134628558

              diese 00080644ce liegt jetzt auf Item "String TestZ2 "T Z2 [%s]"

              wie kann ich da die Transformation einsetzen???

              ich habe bei Java leider keine tieferen Kenntnisse
              Jens

              Kommentar

              Lädt...
              X