Ankündigung

Einklappen
Keine Ankündigung bisher.

Außentemperatur aus dem Internet in den Bus- LINKNX

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

    KNX/EIB Außentemperatur aus dem Internet in den Bus- LINKNX

    Hallo,

    hier ein kleines Howto wie man die aktuelle Aussentemperatur aus dem Internet auf seinen KNX-Bus bekommt:

    Der Shellscript (/usr/scripts/aussenTemp/putAussenTemp):
    Code:
    #!/bin/bash
    #
    #
    ##############
    
    # WEATHER LOCATION German overview >>> http://edg3.co.uk/snippets/weather-location-codes/germany/
    LOCATION="GMXX0018" # COLOGNE
    
    # LINKNX Object
    OBJECTID="temp_aussen"
    
    RESULT=$(wget -qO- "http://weather.tuxnet24.de/?id=$LOCATION")
    RC=$?
    
    if [ $RC -eq 0 ]; then
      CURRENTTEMP=$(echo "$RESULT" | grep current_temp | awk {'print $3'})
      # echo $CURRENTTEMP # DEBUG
      printf '<write><object id="%s" value=%s /></write>\4' "$OBJECTID" "$CURRENTTEMP" | netcat localhost 1028 > /dev/null 2>&1
    else
      echo "$(date) - cant connect weather server"
    fi
    an die Linuxrechte denke:
    Code:
    chmod 755 /usr/scripts/aussenTemp/putAussenTemp
    Die Config für linknx.xml:
    Code:
    ...
    <object id="temp_aussen" gad="0/1/10" type="9.xxx" flags="cwtus" log="true">TempAussen</object>
    ...
    <!-- update der aussen Temp alle 15min -->
        <rule id="sendAussenTemp">
          <condition type="timer" trigger="true">
            <every>900</every>
          </condition>
          <actionlist>
            <action type="shell-cmd" cmd="/usr/scripts/aussenTemp/putAussenTemp" />
          </actionlist>
        </rule>
    ...
    Weiteres zu dem InternetWeatherServices:
    Aktuelle Wetter Information
    und
    Germany / Weather Location Codes/IDs

    Gruß und Viel Spass :-)

    #2
    Super Einstieg

    Hoi

    Wilkommen im Forum.
    Super Sache, Dein Tipp. Vielleicht kann das ein Mod. in den richtigen Fred schubsen?
    Grüsse Bodo
    Fragen gehören ins Forum, und nicht in mein Postfach;
    EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

    Kommentar


      #3
      Leider gibt es mit dem Script bei mir ein Problem. Es bleiben netcat Prozesse stehen die den Rechner ausbremsen und nicht beendet werden können. Hat jemand auch schon diese Erfahrung gesammelt?

      Kommentar


        #4
        sicher das es an "netcat" liegt? was sagt denn dein Linknx?

        sonst probier's mal über den Linknx Clieint:
        LwKnxClient / Wiki / LwKnxClient

        Code:
        python /usr/scripts/linknx/client/lwknxclient.py -v "temp_aussen" -w $CURRENTTEMP

        Kommentar


          #5
          Hallo,

          bei mir läuft das jetzt schon ziemlich lange, ohne Probleme.
          Das Skript habe ich für die CometVisu zwar etwas abgeändert und Linknx hängt sich bei mir ca. alle drei Tage auf, aber an dem Skript wird es sicher nicht liegen.

          Gruß
          Michi

          Kommentar


            #6
            Mein linknx führt das Script aus. Ich habe auch die Außentemperatur auf meinem Bus. Also alles so wie es sein soll.
            Nur beendet sich das Script nicht. Es sind nach jedem Aufruf noch netcat Prozesse sowie das Script als Prozess über ps zu sehen. Mit der Zeit wird dann der PC ausgebremst. Dann hilft nur ein Reboot des kompletten Systems.
            lwknxclient funktioniert werde damit mal das Script laufen lassen.

            Kommentar


              #7
              Anderes Netcat nehmen

              Es gibt verschiedene netcats da draussen. Bei mir auf dem Raspberry Pi ging das hier:

              printf '<write><object id="%s" value=%s /></write>\4' "$OBJECTID" "$CURRENTTEMP" | nc -q 1 localhost 1028 > /dev/null 2>&1

              73,

              Joerg

              Kommentar

              Lädt...
              X