1-Wire Plugin

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • challo
    LoxBus Spammer
    • 21.09.2016
    • 372

    #16
    Ich verwende aktuell den "Loxone" Berechtigungsbaustein über iButtons. Im Intercom XL gibt es ja auch ein IButton Leser der über Ethernet die Daten an den Miniserver überträgt.
    Wenn man jetzt z.b. ein Raspi zum einlesen mehrerer IButtons an verschiedenen GPIOs verwendet und dann zusätzlich noch die IButton Leser über Ethernet Simulieren kann, wäre das eine super Lösung.
    Allerdings habe ich mir noch nicht angeschaut wie der IButton-Leser des Intercom XL im Miniserver angezeigt wird, bzw. wie dieses Protokoll aussieht.

    Aber auch ohne diese Möglichkeit ist das Plugin für mich sehr interessant! Sobald ich neben dem Hausbau noch einmal mehr Zeit habe werde ich hier gerne auch zum Testen einsteigen.

    Kommentar

    • Peter B
      MS Profi
      • 29.08.2015
      • 539

      #17
      Irgendwie hab Ich ein Berechtigungsproblemm

      inotifywait erkennt keine Änderungen im Ordner /opt/loxberry/data/plugins/1wire Besitzer root 0777 auch nicht wenn Ich an der cli su eingebe und die sh Datei als root ausführe. Ich kann aber sehr wohl als Loxberry Daten von dort auslesen.
      in anderen Loxberra Ordnern funktioniert der Befehl inotifywait.
      sudo chown -cR loxberry:loxberry wird ausgeführt und bringt keine Fehlermeldungen aber die Dateien und Ordner gehören sofort wider root.

      Was kann Ich da machen?

      Kommentar

      • svethi
        Lebende Foren Legende
        • 25.08.2015
        • 6319

        #18
        Wenn ich richtig liege kannst Du dort kein inotify laufen lassen da das nur ein virtueller Ordner ist, der vom 1-Wire Treiber verwaltet wird.
        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

        Kommentar

        • Peter B
          MS Profi
          • 29.08.2015
          • 539

          #19
          Ja es ist ein Virtueller Ordner mit Fuse erstellt :-(

          jetzt hätt Ich ein fast funktionierendes Script das die Ordner überwacht und dann kann Ichs nicht verwenden

          Kommentar

          • svethi
            Lebende Foren Legende
            • 25.08.2015
            • 6319

            #20
            Warum willste die denn Ordnrr unbedingt überwachen? Das zieht auch Resourcen. Wenn Du ein neues 1-Wire Gerät installiert, dann kann man doch wohl mal einen Scsn manuell ausführen, Oder?
            Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

            Kommentar

            • Peter B
              MS Profi
              • 29.08.2015
              • 539

              #21
              Kann mir kurz jemand helfen

              mit diesem Befehl in Bash "serial1= exec owdir -s 4304" lese Ich alle 1 Wire Sensoren ein , Ich möchte aber nur alle die mit /01 beginnen einlesen. in einem anderen Zusammenhang geht das mit ^/01.* aber wie füge Ich das oben ein das es funktioniert ? hab schon viele Varianten probiert :-(

              Bitte um Hilfe LG

              Kommentar


              • Christian Fenzl
                Christian Fenzl kommentierte
                Kommentar bearbeiten
                Hilfreich wäre, wenn du den Originaloutput einfügst, der zu durchsuchen ist. In einem Code-Tag.
            • Peter B
              MS Profi
              • 29.08.2015
              • 539

              #22
              So sieht die Ausgabe aus
              Code:
                 
              /283863AF050000
              /287AEA96060000
              /2691E1B6010000
              /01DE2E4F160000
              /81891539000000
              /bus.2
              /uncached
              /settings
              /system
              /statistics
              /structure
              /simultaneous
              /alarm

              Kommentar

              • svethi
                Lebende Foren Legende
                • 25.08.2015
                • 6319

                #23
                Ist denn überhaupt die 4304 auf jedem System so?
                kannste nicht einfach "serial1 = exec owdir -s 4304 | grep /01" nehmen? Zur Not mit \/01 wenn grep den Slash nicht mag halt noch nen Bachslash davor
                Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                Kommentar

                • Peter B
                  MS Profi
                  • 29.08.2015
                  • 539

                  #24
                  Danke svethi mit sed hinten und der Pipe geht es ;-) kannst ma auch noch schnell verraten wie Ich das / am Anfang weg bekommen würde?

                  Kommentar

                  • svethi
                    Lebende Foren Legende
                    • 25.08.2015
                    • 6319

                    #25
                    noch ne pipe hinten dran und sed "s/\/01/01/"?
                    weiß nicht ob sed auch mit "s#/01#01#" kann
                    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                    Kommentar

                    • Peter B
                      MS Profi
                      • 29.08.2015
                      • 539

                      #26
                      Danke bist super .....

                      wieder einen Schritt weiter zum 1-Wire Plugin ;-)

                      Kommentar


                      • svethi
                        svethi kommentierte
                        Kommentar bearbeiten
                        Hast Du mal mit Rauten versucht? Geht das mit sed auch?

                      • svethi
                        svethi kommentierte
                        Kommentar bearbeiten
                        Die richtigen bashcracks lachen sich wahrscheinlich kaputt weil es sicher viel schicker geht, aber wenn's passt ;-)
                    • Peter B
                      MS Profi
                      • 29.08.2015
                      • 539

                      #27
                      werde Ich noch probieren

                      Ja die wissen auch nicht immer auf Anhieb eine Lösung ;-)

                      Vielleicht hast ja zu folgendem Problem auch eine Lösung/Denkanstoss

                      Ich lese den 1wire Bus in ein Array "bus" ein und aus einer Datei die berechtigten Seriennummern in ein Array "Ibutton"

                      So jetzt soll er die 2 Arrays auf Änderungen vergleichen und die geänderte Seriennummer ausgeben mit hinweis z.B 1/0 oder da/weg und per UDP versenden aber eben nur einmal wenn es sich ändert und nicht dauernd.
                      es sollen aber auch nicht berechtigte Seriennummern einmalig gesendet werden mit dem hinweis x oder ub für unberechtigt

                      Ich zermartere mir schon den ganzen Tag den Kopf und komm auf keine Lösung
                      mit dem Code gibt er mir die Änderung aus wenn am Bus eine Seriennummer fehlt

                      Code:
                      Busweg=()
                       for i in "${ibuttons[@]}"; do
                           skip=
                          for j in "${array[@]}"; do
                               [[ $i == $j ]] && { skip=1; break;  }
                               done
                      [[ -n $skip ]] || Busweg=("$i")
                       done
                      
                      
                      echo "am Bus fehlt" ${Busweg[@]}


                      *VerzweifeltBin*

                      Kommentar

                      • svethi
                        Lebende Foren Legende
                        • 25.08.2015
                        • 6319

                        #28
                        Ich würde in das Array mit den berechtigten Seriennummern auch gleich mit reinschreiben wie der aktuelle Wert ist. Dann kannst Du den beim Schleifendurchlauf mit dem letzten Wert vergleichen und im Änderungsfall senden. Danach speicherst Du den wieder. Alle Seriennummern am Bus, die nicht im Array sind sind ja automatisch unberechtigt. Ich weiß ja nicht wie oft das vorkommt und wie oft eine Meldung kommt. Würde das zur Not immer wieder ausgeben lassen, damit das nicht in Vergessenheit gerät. Ist es zu nervig, kannst Du die ja mit einem bestimmten Flag auch im Array hinterlegen.

                        Gruß Sven
                        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                        Kommentar


                        • Peter B
                          Peter B kommentierte
                          Kommentar bearbeiten
                          Hmmm guter Ansatz Ich werd mal in mich gehen und probieren. Ich weiß zwar jetzt nicht wie aber momentan ist der Kopf auch leer ;-)

                          Nein so oft sollte es nicht vorkommen das unberechtigte am Bus sind aber es ist schon gut diese zur Überwachung am MS in einen Tracker zu schreiben
                      • Peter B
                        MS Profi
                        • 29.08.2015
                        • 539

                        #29
                        Zur Info:

                        Ich bin jetzt beim OWFS Server geblieben und Ich lese die Daten direkt vom bereitgestellten Server aus und nicht aus dem Verzeichnis so wie bei W1 über gpio

                        Mit einem Bash Script hab Ich einlese Zeiten von knapp einer Sekunde bei I-Button auf den Bus , beim wegnehmen dauert es ein bisschen länger was ja aber nichts ausmacht

                        ausgelesen wird mit owdir -s localhost:4304, Vorteil vom OWFS Server ist man könnte z.B.: den Server auf einem Pi Zero W installieren und die Daten dann von dort mit dem Loxberry abfragen über owdir -s IP-Pi Zero W :4304. (wie von hismastersvoice angeregt) Quasi "1-Wire on the Fly"

                        Was Theoretisch noch gehen sollte, das man einen zweiten USB-1Wire Adapter ansteckt und dann unterscheiden könnte von welchem der I-Button kommt kann Ich aber im Moment nicht testen da Ich nur einen Adapter habe.
                        Interessant ist noch ob USB und GPIO zusammen funktioniert dazu hab Ich bis jetzt keine Infos gefunden. Hab gestern irgendwo gelesen das prinzipiell über den W1 Busmaster mehrere Gpios zugleich als 1-Wire verwendet werden können.

                        Das war einmal ein kurzer Zwischenbericht von mir zum 1Wire Plugin

                        Kommentar

                        • hismastersvoice
                          Supermoderator
                          • 25.08.2015
                          • 7321

                          #30

                          Interessant ist noch ob USB und GPIO zusammen funktioniert dazu hab Ich bis jetzt keine Infos gefunden. Hab gestern irgendwo gelesen das prinzipiell über den W1 Busmaster mehrere Gpios zugleich als 1-Wire verwendet werden können.
                          Das geht... Aber du kannst so viel ich verstanden habe nicht sagen von welchen gpio der iButton kommt.
                          Das mit dem USB kann ich testen wenn ich wieder zu Hause bin.
                          Kein Support per PN!

                          Kommentar

                          Lädt...