Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin Amazon Dashbutton

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

    #31
    Hallo zusammen,

    habe auch versucht mittels DashButton ein Licht einzuschalten aber scheitere:

    ITEM:
    Code:
    [AU]
     [[Wandbeleuchtung]]
        [[[Ost]]]
            name = AU.Wandbeleuchtung.Ost
            type = bool
            visu_acl = rw
            knx_dpt = 1
            knx_send = 1/1/2
            knx_init = 1/4/2
            nw = yes
            dashbutton_mac = AC:63:BA:F5:74:XX
            dashbutton_mode = 'flip'
    Im Log steht bei Start von SHNG

    Code:
    2016-11-18 21:17:12 DEBUG    plugin       Main         Plugin: dashbutton -- plugin.py:__init__:47
    WARNING: Failed to execute tcpdump. Check it is installed and in the PATH
    2016-11-18 21:17:12 WARNING  linux        Main         Failed to execute tcpdump. Check it is installed and in the PATH -- linux.py:<module>:76
    WARNING: No route found for IPv6 destination :: (no default route?). This affects only IPv6
    2016-11-18 21:17:12 WARNING  error        Main         No route found for IPv6 destination :: (no default route?). This affects only IPv6 -- error.py:warning:59
    TCP ist nach Anleitung installiert und freigegeben
    Code:
    sudo apt-get install tcpdump
    Code:
    sudo setcap cap_net_raw=eip /usr/sbin/tcpdump
    Und beim Button drücken

    Code:
    2016-11-18 21:18:47 DEBUG    __init__     Thread-6     DashBtnItem(item=Item: AU.Wandbeleuchtung.Ost, threshold=0.10765862464904785) -- __init__.py:dispatch:82
    2016-11-18 21:18:47 DEBUG    item         Thread-6     Item AU.Wandbeleuchtung.Ost = True via dashbutton None None -- item.py:__update:374
    Exception in thread Thread-6:
    Traceback (most recent call last):
      File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
        self.run()
      File "/usr/lib/python3.4/threading.py", line 868, in run
        self._target(*self._args, **self._kwargs)
      File "/usr/local/smarthome/plugins/dashbutton/__init__.py", line 30, in listen
        sniff(prn=self.dispatch, store=0, count=0, filter="udp", lfilter=lambda d: d.src in self._dashbuttons.keys())
      File "/usr/local/lib/python3.4/dist-packages/scapy/sendrecv.py", line 597, in sniff
        r = prn(p)
      File "/usr/local/smarthome/plugins/dashbutton/__init__.py", line 69, in dispatch
        options = pkt[DHCP].options
      File "/usr/local/lib/python3.4/dist-packages/scapy/packet.py", line 814, in __getitem__
        raise IndexError("Layer [%s] not found" % lname)
    IndexError: Layer [DHCP] not found
    D.h. Licht geht ein aber beim erneuten Drücken passiert nix mehr. Habe alles nach Anleitung installiert (Python 3.4).

    Hat jemand eine IDee?

    Kommentar


      #32
      Diese Fehlermeldung kann von einer falschen MAC-Adresse kommen. Ist diese wirklich korrekt?

      Ich werde morgen mal eine bessere Fehlerbehandlung einbauen. Eine Stelle ist da unsauber und kann tatsächlich abschmieren.

      Nochmal zu deiner ersten Errormeldung. Kommt diese nach korrekter Installation von TCPDump immer noch? Speziell die Meldung
      Code:
      Failed to execute tcpdump.
      ?


      Gruss,

      Stefan
      Zuletzt geändert von pfischi; 18.11.2016, 23:33.
      Sonos

      Kommentar


        #33
        Hallo Stefan,

        also TCP habe ich installiert

        Code:
        smarthome@SH-NG:/usr/local/smarthome/bin$ sudo apt-get install tcpdump
        [sudo] password for smarthome:
        Paketlisten werden gelesen... Fertig
        Abhängigkeitsbaum wird aufgebaut.
        Statusinformationen werden eingelesen.... Fertig
        tcpdump ist schon die neueste Version.
        0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
        smarthome@SH-NG:/usr/local/smarthome/bin$
        Auch die Datei "/usr/sbin/tcpdump" existiert.

        Das Schalten funktioniert auch, aber nur einmal, daher müsste auch die MAC Adresse stimmen.

        Dank dir

        Kommentar


          #34
          Zitat von marcel0509 Beitrag anzeigen
          Hallo Stefan,

          also TCP habe ich installiert

          Code:
          smarthome@SH-NG:/usr/local/smarthome/bin$ sudo apt-get install tcpdump
          [sudo] password for smarthome:
          Paketlisten werden gelesen... Fertig
          Abhängigkeitsbaum wird aufgebaut.
          Statusinformationen werden eingelesen.... Fertig
          tcpdump ist schon die neueste Version.
          0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
          smarthome@SH-NG:/usr/local/smarthome/bin$
          Auch die Datei "/usr/sbin/tcpdump" existiert.

          Das Schalten funktioniert auch, aber nur einmal, daher müsste auch die MAC Adresse stimmen.

          Dank dir
          Ich glaube, ich weiß wo der Fehler ist. Ich mach dann eine Testversion fertig.
          Sonos

          Kommentar


            #35
            So, ich habe dir mal eine kleine Testversion (im Anhang) fertig gemacht. Bitte einmal entpacken und die __init__.py in das dashbutton-Plugin-Verzeichnis kopieren.
            Wäre schön wen du mir ein kleines Feedback gibts, dann stelle ichs bei SmarthomeNG als Commit rein

            Grüsse,

            Stefan
            Angehängte Dateien
            Sonos

            Kommentar


              #36
              Super dank dir. Testen kann ich es aber erst heute abend. Gebe aber dir dann Rückmeldung

              Kommentar


                #37
                Leider nein

                bleibt alles wie bisher:

                Code:
                2016-11-19 18:30:47 DEBUG    plugin       Main         Plugin: dashbutton -- plugin.py:__init__:47
                WARNING: Failed to execute tcpdump. Check it is installed and in the PATH
                2016-11-19 18:30:47 WARNING  linux        Main         Failed to execute tcpdump. Check it is installed and in the PATH -- linux.py:<module>:76
                WARNING: No route found for IPv6 destination :: (no default route?). This affects only IPv6
                2016-11-19 18:30:47 WARNING  error        Main         No route found for IPv6 destination :: (no default route?). This affects only IPv6 -- error.py:warning:59
                Code:
                2016-11-19 18:33:21 DEBUG    __init__     Thread-6     DashBtnItem(item=Item: AU.Wandbeleuchtung.Ost, threshold=0.10652542114257812) -- __init__.py:dispatch:83
                2016-11-19 18:33:21 DEBUG    item         Thread-6     Item AU.Wandbeleuchtung.Ost = True via dashbutton None None -- item.py:__update:374
                Exception in thread Thread-6:
                Traceback (most recent call last):
                  File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
                    self.run()
                  File "/usr/lib/python3.4/threading.py", line 868, in run
                    self._target(*self._args, **self._kwargs)
                  File "/usr/local/smarthome/plugins/dashbutton/__init__.py", line 30, in listen
                    sniff(prn=self.dispatch, store=0, count=0, filter="udp", lfilter=lambda d: d.src in self._dashbuttons.keys())
                  File "/usr/local/lib/python3.4/dist-packages/scapy/sendrecv.py", line 597, in sniff
                    r = prn(p)
                  File "/usr/local/smarthome/plugins/dashbutton/__init__.py", line 69, in dispatch
                    if pkt[DHCP]:
                  File "/usr/local/lib/python3.4/dist-packages/scapy/packet.py", line 814, in __getitem__
                    raise IndexError("Layer [%s] not found" % lname)
                IndexError: Layer [DHCP] not found
                Ich denk das wird irgendwie mit TCP Fehler zu tun hat, obwohl TCPdump scheinbar funktioniert, oder?

                Code:
                smarthome@SH-NG:/usr/local/smarthome/bin$ sudo tcpdump -D
                [sudo] password for smarthome:
                1.eth0 [Up, Running]
                2.any (Pseudo-device that captures on all interfaces) [Up, Running]
                3.lo [Up, Running, Loopback]
                4.bluetooth0 (Bluetooth adapter number 0)
                5.nflog (Linux netfilter log (NFLOG) interface)
                6.nfqueue (Linux netfilter queue (NFQUEUE) interface)
                7.usbmon1 (USB bus number 1)
                8.usbmon2 (USB bus number 2)
                Zuletzt geändert von marcel0509; 19.11.2016, 18:37.

                Kommentar


                  #38
                  Ganz andere Frage: wie reagiert Amazon, wenn ich mehrmals den gleichen Button bestelle? Kriege ich dann mit dem neuen wieder Rabatt? Wird der überhaupt mehrmals verkauft?

                  Kommentar


                    #39
                    Weiß nicht ob du Rabatt bekommst, aber ich habe mir 2 x Ariel bestellt ohne Probleme für 10€

                    Kommentar


                      #40
                      marcel0509 Versuchs mal bitte mit der angehängte Datei.

                      Danke
                      Angehängte Dateien
                      Sonos

                      Kommentar


                        #41
                        SUPER!! Es geht, hab vielen Dank

                        Code:
                        2016-11-19 21:09:49 DEBUG    __init__     Thread-6     DashBtnItem(item=Item: AU.Wandbeleuchtung.Ost, threshold=0.10997462272644043) -- __init__.py:dispatch:83
                        2016-11-19 21:09:49 DEBUG    item         Thread-6     Item AU.Wandbeleuchtung.Ost = True via dashbutton None None -- item.py:__update:374
                        2016-11-19 21:10:02 DEBUG    __init__     Thread-6     DashBtnItem(item=Item: AU.Wandbeleuchtung.Ost, threshold=50.73201847076416) -- __init__.py:dispatch:83
                        2016-11-19 21:10:02 DEBUG    item         Thread-6     Item AU.Wandbeleuchtung.Ost = False via dashbutton None None -- item.py:__update:374
                        Die Warnungen sind zwar vorhanden, aber alles funktioniert!

                        Code:
                        2016-11-19 21:08:58 DEBUG    plugin       Main         Plugin: dashbutton -- plugin.py:__init__:47
                        WARNING: Failed to execute tcpdump. Check it is installed and in the PATH
                        2016-11-19 21:08:58 WARNING  linux        Main         Failed to execute tcpdump. Check it is installed and in the PATH -- linux.py:<module>:76
                        WARNING: No route found for IPv6 destination :: (no default route?). This affects only IPv6
                        2016-11-19 21:08:58 WARNING  error        Main         No route found for IPv6 destination :: (no default route?). This affects only IPv6 -- error.py:warning:59

                        Kommentar


                          #42
                          Ich danke dir fürs debuggen. Ich mach mal ein Push-Request fürs Framework.

                          Gruss,

                          Stefan
                          Sonos

                          Kommentar


                            #43
                            Hi,

                            ich kriege seit neustem im Debugmodus Milliarden dieser Logs. Da nur das Dashbutton Plugin SCAPY nutzt, denke ich, dass man hier ansetzen muss. Ideen?
                            Code:
                            <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>
                            <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>
                            <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>
                            <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>
                            <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>
                            <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>
                            <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>
                            <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>
                            <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>

                            Kommentar


                              #44
                              Zitat von psilo Beitrag anzeigen
                              Hi,

                              ich kriege seit neustem im Debugmodus Milliarden dieser Logs. Da nur das Dashbutton Plugin SCAPY nutzt, denke ich, dass man hier ansetzen muss. Ideen?
                              Code:
                              <UNIVERSAL> <class 'scapy.asn1.asn1.ASN1_Class_metaclass'>
                              <UNIVERSAL>
                              Hi,

                              kannst du du mal versuchen den Logger von Scapy runter zustellen?

                              Code:
                               
                               logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
                              Sonos

                              Kommentar


                                #45
                                in der logging.yaml steht schon:

                                scapy.runtime:
                                level: ERROR

                                Kommentar

                                Lädt...
                                X