Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten per remote Zugriff auf KO schreiben

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

    Daten per remote Zugriff auf KO schreiben

    Habe von jonofe folgenden Befehl hier im Forum gesehen
    Code:
     
     http://<edomi-IP>/remote/?login=<user>&pass=<password>&koid=<edomi_KO_ID>&kovalue=<value>
    leider funktioniert das nicht bei mir. Hier sind die Ausagben
    Code:
       
    
    
    pi@temp1:~ $ http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50       [1] 898
    [2] 899
    [3] 900
    pi@temp1:~ $ -bash: http://192.168.111.3/remote/?login=remote: Datei oder Verzeichnis nicht gefunden
    pi@temp1:~ $ http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50
    [4] 901
    [5] 902
    -bash: http://192.168.111.3/remote/?login=remote: Datei oder Verzeichnis nicht gefunden
    [6] 903
    [1]   Exit 127                http://192.168.111.3/remote/?login=remote
    [2]   Fertig                  pass=1234
    [3]   Fertig                  koid=487
    [5]-  Fertig                  pass=1234
    pi@temp1:~ $ http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50
    [7] 904
    [8] 905
    -bash: http://192.168.111.3/remote/?login=remote: Datei oder Verzeichnis nicht gefunden
    [9] 906
    [4]   Exit 127                http://192.168.111.3/remote/?login=remote
    [6]   Fertig                  koid=487
    [8]-  Fertig                  pass=1234
    [9]+  Fertig                  koid=487
    pi@temp1:~ $ 192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50
    [8] 907
    -bash: 192.168.111.3/remote/?login=remote: Datei oder Verzeichnis nicht gefunden
    [9] 908
    [10] 909
    [7]   Exit 127                http://192.168.111.3/remote/?login=remote
    [9]   Fertig                  pass=1234
    pi@temp1:~ $ 192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50
    [11] 910
    [12] 911
    [13] 912
    [8]   Exit 127                192.168.111.3/remote/?login=remote
    [10]   Fertig                  koid=487
    [12]   Fertig                  pass=1234
    pi@temp1:~ $ -bash: 192.168.111.3/remote/?login=remote: Datei oder Verzeichnis nicht gefunden
    pi@temp1:~ $ http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50
    [14] 913
    [15] 914
    [16] 915
    [11]   Exit 127                192.168.111.3/remote/?login=remote
    [13]   Fertig                  koid=487
    pi@temp1:~ $ -bash: http://192.168.111.3/remote/?login=remote: Datei oder Verzeichnis nicht gefunden
    Was mach ich den falsch?

    Letztendlich würde ich dann gerne so ein script ausführen lassen auf dem pi

    Code:
    #!/bin/bash
    
    while true; do
        WERTE=$(sudo /home/pi/lol_dht22/./loldht 0 | grep Humidity)
        # Humidity = 57.60 % Temperature = 20.40 *C
        [[ ! -z "$WERTE" ]] && break
        echo "Konnte keine Werte auslesen, Wiederholung in 5 Sekunden"
        sleep 5
    done
    
    Hum=$(echo $WERTE | awk {'print $3'})
    Temp=$(echo $WERTE | awk {'print $7'})
    
    echo "Wohnzimmer"
    echo "Humidity: $Hum"
    echo "Temperature: $Temp"
    http://192.168.111.3/remote/?login=remote&pass=1234&koid=486&kovalue=echo$Hum
    http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=echo$Temp
    
    
    while true; do
        WERTE=$(sudo /home/pi/lol_dht22/./loldht 7 | grep Humidity)
        # Humidity = 57.60 % Temperature = 20.40 *C
        [[ ! -z "$WERTE" ]] && break
        echo "Konnte keine Werte auslesen, Wiederholung in 5 Sekunden"
        sleep 5
    done
    
    Hum=$(echo $WERTE | awk {'print $3'})
    Temp=$(echo $WERTE | awk {'print $7'})
    
    echo "Büro"
    echo "Humidity: $Hum"
    echo "Temperature: $Temp"
    
    http://192.168.111.3/remote/?login=remote&pass=1234&koid=488&kovalu=echo$Hum
    http://192.168.111.3/remote/?login=remote&pass=1234&koid=489&kovalu=echo$Temp
    Falls jemand bei dem zweiten script noch Verbesserungsvorschläge hat gerne.

    #2
    Hatte vergessen nach einrichten des Fernzzugriffs Projekt neu zu starten.
    Hatte aber auch kein Erfolg

    Code:
    pi@temp1:~ $ http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50
    [11] 944
    [12] 945
    [13] 946
    pi@temp1:~ $ -bash: http://192.168.111.3/remote/?login=remote: Datei oder Verzeichnis nicht gefunden
    http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50
    [14] 947
    [15] 948
    [16] 949
    [10]   Exit 127                http://192.168.111.3/remote/?login=remote
    
    
    -bash: http://192.168.111.3/remote/?login=remote: Datei oder Verzeichnis nicht gefunden
    [11]   Exit 127                http://192.168.111.3/remote/?login=remote
    [12]   Fertig                  pass=1234
    [13]   Fertig                  koid=487
    [15]   Fertig                  pass=1234
    pi@temp1:~ $
    pi@temp1:~ $
    pi@temp1:~ $
    pi@temp1:~ $
    pi@temp1:~ $
    pi@temp1:~ $ http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50
    [17] 950
    [18] 951
    [19] 952
    [14]   Exit 127                http://192.168.111.3/remote/?login=remote
    -bash: http://192.168.111.3/remote/?login=remote: Datei oder Verzeichnis nicht gefunden
    [16]   Fertig                  koid=487
    [19]+  Fertig                  koid=487
    pi@temp1:~ $

    Kommentar


      #3
      du kannst nicht einfach http://....... in ein bash Skript schreiben. Ist ja nur eine URL. Du brauchst ein Binary, dass die URL aufruft.
      z.B. würde das mit curl funktionieren.

      Code:
      curl -X GET http://....
      oder

      Code:
      wget http://.....
      EDIT: die http://.... Adresse in Anführungszeichen setzen.

      Kommentar


        #4
        wget kennne ich nur wenn ich eine Datei wo anders runterladen möchte.
        Ich will ja vom pi was auf den edomi senden?

        Werde mir curl und wget aber nochmal anschauen was das genau kann

        Gebe ich nur das in die Kommandozeile ein kommt folgendes

        Code:
        pi@temp1:~ $ wget http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50
        [5] 978
        [6] 979
        [7] 980
        [2]   Exit 127                192.168.111.3/remote/?login=remote
        [4]   Fertig                  koid=487
        [7]+  Fertig                  koid=487
        pi@temp1:~ $ converted 'http://192.168.111.3/remote/?login=remote' (ISO-8859-1) -> 'http://192.168.111.      3/remote/?login=remote' (UTF-8)
        --2017-02-21 14:31:35--  http://192.168.111.3/remote/?login=remote
        Verbindungsaufbau zu 192.168.111.3:80... verbunden.
        HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
        L▒nge: 12 [text/plain]
        In ▒▒index.html?login=remote▒▒ speichern.
        
        index.html?login=remote   100%[======================================>]      12  --.-KB/s   in 0s
        
        2017-02-21 14:31:35 (163 KB/s) - ▒▒index.html?login=remote▒▒ gespeichert [12/12]
        
        
        [5]-  Fertig                  wget http://192.168.111.3/remote/?login=remote
        [6]+  Fertig                  pass=1234
        pi@temp1:~ $
        pi@temp1:~ $
        pi@temp1:~ $ ls
        index.html?login=remote  lol_dht22  temp1.sh  temp2.sh  temp.sh  wiringPi
        pi@temp1:~ $ curl -X GET http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50
        [1] 983
        [2] 984
        [3] 985
        [2]-  Fertig                  pass=1234
        [3]+  Fertig                  koid=487
        pi@temp1:~ $ ERROR;LOGIN;

        Kommentar


          #5
          Wie oben ergänzt: Anführungszeichen verwenden!

          Kommentar


            #6
            Also das geht nun soweit
            Code:
            pi@temp1:~ $ curl -X GET "http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50"
            OK;487;50;pi@temp1:~ $
            pi@temp1:~ $ sudo /home/pi/./temp1.sh                                          
            Wohnzimmer
            Humidity: 38.50
            Temperature: 23.40
            OK;487;echo38.50;OK;486;echo23.40;Büro
            Humidity: 39.00
            Temperature: 23.40
            10040pi@temp1:~ $
            pi@temp1:~ $
            Hatte nun das Problem das keine Daten in edomi rein gekommen sind. Hab dann gemerkt das ich vergessen hatte einen Logigbaustein zu erstellen.
            Hab einfach ne Ausgagsbox ungleich lehr angeleggt mit Eingang KO und Ausgang speichern ins Datenarchiv.
            Leider kommen die Daten noch immer nicht richtig rein.
            2 von 4 KO's erhöhen sich sekündlich die anderen beiden bleiben bei 40 bzw 100 stehen.
            Alle haben DPT9
            Auf dem bei werden die Daten per Cronjob alle 15 Minuten bearbeitet. Auch beim abschalten und versuch nur manuell den KO zu setzen bringt nichts.
            Die beiden KO's zählen weiter aufwärts. Meine Werte werden nicht übernommen.

            Noch nen Tipp was ich falsch mache?
            ko eingang temp hum.PNG

            Kommentar


              #7
              komisch ist noch das bei den beide ersten werten
              Code:
               
               OK;487;echo38.50;OK;486;echo23.40
              und bei den beiden anderen
              Code:
               10040
              kommt. Zweiteres wären genau die Zahlen aneinander gereit die fest bei den zweiten KO's drin stehen.

              Kommentar


                #8
                Vermutlich fragst Du die KOs ab, statt sie zu setzen? Hier ein Auszug aus der Hilfe:

                Der Zugriff auf ein per Fernzugriff freigegebenes KO erfolgt über folgende URL:
                • Abfragen eines KO-Wertes:
                  • http://<IP-Adresse>/remote/?login=<Login>&pass=<Passwort>&koid=<KO-ID>
                • Setzen eines KO-Wertes:
                  • http://<IP-Adresse>/remote/?login=<Login>&pass=<Passwort>&koid=<KO-ID>&kovalue=<KO-Wert>


                Je nach Parametern und Status wird der o.g. HTTP-Request wie folgt beantwortet:
                • <KO-Wert>
                  • das abgefragte KO hat aktuell den Wert <KO-Wert>
                • OK;<KO-ID>;<KO-Wert>;
                  • das KO <KO-ID> wird/wurde auf den Wert <KO-Wert> gesetzt


                EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                Kommentar


                  #9
                  Das mit den beiden anderen KO's hab ich nun raus wieso da 40 und 100 steht. Das hatte ich als maximum Wert eingetragen gehabt bei den KO's.
                  Zwar auch verwunderlich weil da Daten kleiner waren, aber das ist ein anderes Thema.

                  gaert Nein hab das schon richtig gemacht. siehe oben. Das ist bei allen KO's gleich.
                  Code:
                   
                   curl -X GET "http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50"
                  bzw im script
                  Code:
                   curl -X GET "http://192.168.111.3/remote/?login=remote&pass=1234&koid=486&kovalue=echo$Hum"
                  Kann ich noch irgendwie anders überprüfen von wo Werte auf das KO geschrieben werden? Sieht ja so aus als da sekündlich was drauf ankommt.

                  Kommentar


                    #10
                    Das hier dürfte alles sein was ich in edomi gemacht habe.

                    KOs.PNGFernzugriff.PNGDatenarchive.PNGLogikeditor.PNG

                    Kommentar


                      #11
                      Zitat von lordofchaos Beitrag anzeigen
                      Code:
                      curl -X GET "http://192.168.111.3/remote/?login=remote&pass=1234&koid=487&kovalue=50"
                      bzw im script
                      Code:
                       curl -X GET "http://192.168.111.3/remote/?login=remote&pass=1234&koid=486&kovalue=echo$Hum"
                      Ich denke da sollte zumindest ein Leerzeichen zwischen echo und $Hum sein.

                      Kommentar


                        #12
                        Hast recht jonofe ich muss das echo sogar ganz raus holen.

                        Es gibt aber ein grundlegendes Problem. Ich hab jetzt mal alle KO's eingerichtet. Wo ich den max Wert angegeben habe ist dieser im Ko drin 40 oder 100.
                        Die ersten 4 KO's sind meine Test KO's wo ich versuche Daten vom Pi zu senden.
                        KO 492 und 493 WC habe ich einfach den max Wert entfernt. Sonst nichts.
                        Wie man sieht wird dieser KO einfach auch von sekunde zu sekunde höher gezählt. Bildschirmfoto zu 2017-02-23 16-35-45.png

                        Kommentar


                          #13
                          Nachdem ich oben den Beitrag geschrieben habe
                          Bildschirmfoto zu 2017-02-23 16-43-56.png

                          Kommentar


                            #14
                            du hast bestimmt irgendwo eine Schleife gebaut. Was passiert denn in den Ausgängen?
                            Und schau dir mal an, wo du überall z.B. das KO486 verwendest.

                            Kommentar


                              #15
                              ich habe gerade bemerkt wenn ich die logig wieder deaktiviere und die Daten sende, kommen sie richtig in die Visu rein

                              Kommentar

                              Lädt...
                              X