Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19000149 - Landis & Gyr E350 auslesen

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

    #61
    Hi

    Zitat von jockele Beitrag anzeigen
    Code:
    root@raspberrypi://# ls -la /dev/ttyUSB0
    crwxrwx--x 1 root dialout 188, 0 Okt 6 21:13 /dev/ttyUSB0
    Ok, hier ist Problem 1. Die Datei resp. das Device hat keine World-Leserechte. Mach mal bitte das hier:

    sudo chmod o+rx /dev/ttyUSB0
    oder als root das Gleiche, nur ohne sudo.


    Zitat von jockele Beitrag anzeigen
    Code:
    root@raspberrypi://# /home/edomi/LB_19000149_vzGetData.sh
    stty: '1:4:da7:a30:3:1c:7f:15:4:10:0:0:11:13:1a:0:12:f:1 7:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0': Datei oder Verzeichnis nicht gefunden
    /home/edomi/LB_19000149_vzGetData.sh: Zeile 3: Syntaxfehler beim unerwarteten Wort `&'
    /home/edomi/LB_19000149_vzGetData.sh: Zeile 3: `echo -e "\x2f\x3f\x21\x0d\x0a" > &'
    Du kannst nochmal testen, ob es jetzt funktioniert. Allerdings sieht das eher nach einer kaputten Datei aus. Wie genau hast Du diese denn von Edomi auf den Raspi übertragen? Falls da WinSCP im Spiel war, würde ich die Datei nochmal löschen und direkt von der Edomi-Maschine auf den Raspi schicken:

    scp /usr/local/edomi/main/LB_19000149_vzGetData.sh edomi@<raspi-ip>:/home/edomi/
    Kannst Du das Script dann direkt ausführen?
    Kind regards,
    Yves

    Kommentar


      #62
      genau das gleiche Ergebnis, habe auch die Dateien auf dem Edomi-Server nochmals neu erzeugen lassen, immer noch die gleiche Ausgabe :-(

      Edit: hab den Raspi nochmal neu aufgesetzt, immer noch gleiches Ergebnis
      Zuletzt geändert von jockele; 08.10.2020, 16:47.

      Kommentar


        #63
        Was genau läuft denn auf dem Raspi? Was ist das für eine Shell?
        Kind regards,
        Yves

        Kommentar


          #64
          habe ihn grade nochmal neu aufgesetzt, es läuft die :

          Code:
          Raspberry Pi 3 Model B Rev 1.2edomi@raspberrypi:// $ cat /etc/os-release
          PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
          NAME="Raspbian GNU/Linux"
          VERSION_ID="10"
          VERSION="10 (buster)"
          VERSION_CODENAME=buster
          ID=raspbian
          ID_LIKE=debian
          HOME_URL="http://www.raspbian.org/"
          SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
          BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
          genau so lief er eigentlich schon mit dem LBS

          Kommentar


            #65
            Moment, da stimmt was anderes nicht. Zeig mal bitte den output von

            Code:
            cat LB_19000149_vzGetData.sh
            auf dem Raspi und einen Screenshot der Logik-Seite mit dem LBS. Am besten mit Livewerten!
            Kind regards,
            Yves

            Kommentar


              #66
              Code:
              root@raspberrypi:/home/edomi# cat LB_19000149_vzGetData.sh
              #!/bin/bash
              stty 300 -F 1:4:da7:a30:3:1c:7f:15:4:10:0:0:11:13:1a:0:12:f:17 :16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
              echo -e "\x2f\x3f\x21\x0d\x0a" > &
              while read -t8 line ; do
              echo "$line"
              done <
              echo -e "\x06\x30\x30\x30\x0d\x0a" > &
              while read -t8 line ; do
              echo "$line"
              done <

              Kommentar


                #67
                Alles klar, ich sehe das Problem. Bitte noch den Screenshot!
                Kind regards,
                Yves

                Kommentar


                  #68
                  Unbenannt.JPG

                  Kommentar


                    #69
                    Hi

                    ok, wir kommen der Sache näher. Aber ich brauche noch ein paar mehr Infos. Bitte auf der Edomi-Maschine folgendes machen:

                    Code:
                    cat /usr/local/edomi/main/LB_19000149_vzGetData.sh
                    sowie

                    Code:
                    cat /usr/local/edomi/main/LB_19000149_callVzGetData.sh
                    und den Output hier bitte posten.
                    Kind regards,
                    Yves

                    Kommentar


                      #70
                      Code:
                      [root@Edomi_centos7 ~]# cat /usr/local/edomi/main/LB_19000149_vzGetData.sh
                      #!/bin/bash
                      stty 300 -F 1:4:da7:a30:3:1c:7f:15:4:10:0:0:11:13:1a:0:12:f:17 :16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
                      echo -e "\x2f\x3f\x21\x0d\x0a" > &
                      while read -t8 line ; do
                      echo "$line"
                      done <
                      echo -e "\x06\x30\x30\x30\x0d\x0a" > &
                      while read -t8 line ; do
                      echo "$line"
                      done <
                      Code:
                      [root@Edomi_centos7 ~]# cat /usr/local/edomi/main/LB_19000149_callVzGetData.sh
                      #!/bin/bash
                      if [ -n "$1" -a "$1" = "1" ] ; then
                      ssh -i /root/.ssh/id_rsa edomi@<ip-of-remote-machine> /home/edomi/LB_19000149_vzGetData.sh
                      else
                      /usr/local/edomi/main/LB_19000149_vzGetData.sh
                      fi

                      Kommentar


                        #71
                        Ok, bitte die beiden Dateien auf der Edomi-Maschine löschen dann den Baustein triggern. Dann werden sie neu angelegt. Danach dann bitte nochmal deren Inhalt hier posten. Ich weiss, warum es nicht geht bei Dir, mir ist nur unklar, wie es dazu kam...
                        Kind regards,
                        Yves

                        Kommentar


                          #72
                          Code:
                          [root@Edomi_centos7 ~]# cat /usr/local/edomi/main/LB_19000149_vzGetData.sh
                          #!/bin/bash
                          stty 300 -F /dev/ttyUSB0 1:4:da7:a30:3:1c:7f:15:4:10:0:0:11:13:1a:0:12:f:17 :16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
                          echo -e "\x2f\x3f\x21\x0d\x0a" > /dev/ttyUSB0 &
                          while read -t8 line ; do
                          echo "$line"
                          done < /dev/ttyUSB0
                          echo -e "\x06\x30\x30\x30\x0d\x0a" > /dev/ttyUSB0 &
                          while read -t8 line ; do
                          echo "$line"
                          done < /dev/ttyUSB0
                          Code:
                          [root@Edomi_centos7 ~]# cat /usr/local/edomi/main/LB_19000149_callVzGetData.sh
                          #!/bin/bash
                          if [ -n "$1" -a "$1" = "1" ] ; then
                          ssh -i /root/.ssh/id_rsa edomi@<ip-of-remote-machine> /home/edomi/LB_19000149_vzGetData.sh
                          else
                          /usr/local/edomi/main/LB_19000149_vzGetData.sh
                          fi

                          Kommentar


                            #73
                            Na bingo, da haben wir es doch!

                            Kann es sein, dass Du ganz zu Anfang E3 des Bausteins explizit gelöscht hast? Wenn der LBS die Scripte generiert, wird das hier angegebene Device verwendet.

                            Siehe bspw. diese Zeilen zum Vergleich:

                            Code:
                            echo -e "\x2f\x3f\x21\x0d\x0a" > &
                            vs.

                            Code:
                            echo -e "\x2f\x3f\x21\x0d\x0a" > /dev/ttyUSB0 &
                            Du kannst also jetzt das Script LB_19000149_vzGetData.sh nochmals auf den Raspi kopieren und testen, jetzt sollte es passen.

                            Was mich einzig noch stört ist, dass der Output, den Du hier gepostet hast, noch ein Leerzeichen enthält. Woher kommt der Output genau resp. wie oder womit verbindest Du Dich zu den beiden Maschinen?

                            Siehe zwischen ...17: 16...:

                            Zitat von jockele Beitrag anzeigen
                            Code:
                            stty 300 -F /dev/ttyUSB0 1:4:da7:a30:3:1c:7f:15:4:10:0:0:11:13:1a:0:12:f:17 :16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
                            Da ist ein Leerzeichen mitten im String. Sollte eigentlich so aussehen:


                            Code:
                            stty 300 -F /dev/ttyUSB0 1:4:da7:a30:3:1c:7f:15:4:10:0:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
                            Zuletzt geändert von starwarsfan; 10.10.2020, 13:42.
                            Kind regards,
                            Yves

                            Kommentar


                              #74
                              jetzt läuft er wieder, musste noch den user Edomi in die Gruppe dialout aufnehmen für die Abfrage von /dev/ttyUSB0.

                              starwarsfan Danke Dir vielmals für die Hilfe, ich werde jetzt erstmal eine Sicherung machen und das für mich dokumentieren

                              Kommentar


                                #75
                                Hallihallo starwarsfan ,

                                Erstmal danke für dein LBS.

                                Leider macht es bei mir nicht, was es soll und ich ahne auch warum ... ich habe 2 Zähler (Heizung/Haus) und dementsprechend auch 2 Opto-Köpfe.
                                Nachdem ich das ShellScript zum Auslesen der Daten so modifiziert habe, dass beide Zähler (ttyUSB0/ttyUSB1) ausgelesen werden (copy/paste und Anpassung USB0->USB1), kommen keine Daten im Edomi an (Liveansicht im Logikeditor). Ganz ehrlich, ich habe nie mit nur einem Optokopf probiert, aber ich gehe davon aus, dass das LBS ansich funktioniert.

                                Ich nehme an, dass das nacheinander auslesen der beiden Zähler durch das modifizierte Shell-Script einfach zu "Verwirrung" führt, da die Daten ja jetzt plötzlich 2-mal hintereinander kommen.

                                Da Programieren nicht meine Stärke ist, wollte ich fragen, ob du dein LBS bzw. das Shell-Script so umbauen kannst, dass die Schnittstelle /dev/ttyXXXX als Parameter an das Schellscript übergeben werden kann? Dann sollte der Output dem jeweiligen Aufruf sauber zugeordnet werden können und somit mehrere Zähler quasi gleichzeitig ausgelesen werden können.

                                Was denkst du?

                                Gruss

                                fasi

                                PS: bei mir läuft es nativ ohne SSH

                                Code:
                                [root@edomi main]# ./LB_19000149_vzGetData.sh
                                /LGZ4ZMF100AC.M29
                                F.F(00)
                                0.0( 5553)
                                C.1.0(38895295)
                                C.1.1( )
                                1.8.1(004843.602*kWh)
                                1.8.2(012036.742*kWh)
                                2.8.1(000000.000*kWh)
                                2.8.2(000000.000*kWh)
                                1.8.0(016880.344*kWh)
                                2.8.0(000000.000*kWh)
                                15.8.0(016880.344*kWh)
                                C.7.0(0005)
                                32.7(235*V)
                                52.7(234*V)
                                72.7(235*V)
                                31.7(00.302*A)
                                51.7(00.008*A)
                                71.7(00.000*A)
                                82.8.1(0001)
                                82.8.2(0000)
                                0.2.0(M29)
                                C.5.0(0621)
                                !
                                /LGZ4ZMF100AC.M29
                                F.F(00)
                                0.0( 5554)
                                C.1.0(38895296)
                                C.1.1( )
                                1.8.1(013406.805*kWh)
                                1.8.2(006898.653*kWh)
                                2.8.1(000000.000*kWh)
                                2.8.2(000000.000*kWh)
                                1.8.0(020305.458*kWh)
                                2.8.0(000000.000*kWh)
                                15.8.0(020305.458*kWh)
                                C.7.0(0008)
                                32.7(235*V)
                                52.7(235*V)
                                72.7(236*V)
                                31.7(002.72*A)
                                51.7(001.04*A)
                                71.7(00.284*A)
                                82.8.1(0001)
                                82.8.2(0000)
                                0.2.0(M29)
                                C.5.0(0421)
                                !
                                Zuletzt geändert von fasi; 21.10.2020, 20:59.

                                Kommentar

                                Lädt...
                                X