Ankündigung

Einklappen
Keine Ankündigung bisher.

Einbindung von Dash Buttons

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

    #31
    Habe noch mal ein kleines Update hochgeladen (v0.2.1).
    Im Source Code in Zeile 178 gibt es eine alternative Filterregel. Das ist meine Prognose für die neue Version der Dashs mit bootp-Kommunikation.
    Wenn das jemand testen will, einfach Zeile 177 einkommentieren und 178 auskommentieren und dann testen.

    Sollte dann so aussehen:

    PHP-Code:

    // create filter string
    //$filter = 'arp and src host 0.0.0.0 and (';
    $filter 'bootp and (src portrange 67-68) and ('
    Aber wie gesagt, alles ungetestet, also nicht gleich schreien , wenns nicht funktioniert. Da der Network Scanner offensichtlich funktioniert, sollte es nur eine Frage des richtigen Filterings sein, bis die Dash Buttons erkannt werden.

    Kommentar


      #32
      Hi, guten Abend,

      danke für das Update. Hab es mal ausprobiert.
      Das LBS ohne Änderung in Zeile 178 erkennt auch bei mir eine WLan-Anmeldung des Notebooks.
      Leider wird der Dash Button trotz der Modifikation nicht erkannt.

      Bin aber angesichts der traurigen Nachricht hier im Forum mit den Gedanken eher bei MarkusS als bei bunten Knöpfen, die in diesem Augenblick so sinnlos sind.

      Grüße,
      Gunnar

      Kommentar


        #33
        Version 3.0 ist nun verfügbar und funktioniert nachgewiesener Maßen mit meinem neuen Diadermine Dash Button.

        41znuHTn1aL._AC_US160_.jpg
        Auch wenn meine Frau sich gefreut hätte wenn die Bestellung der 10€ teuren Tagescreme durchgegangen wäre habe ich dies natürlich unterbunden. Das wäre übrigens das erste mal gewesen, dass der WAF höher wäre, wenn etwas in EDOMI nicht funktioniert

        Wichtig:
        Konfiguration des Dash Buttons komplett mit der Handy App durchführen und auch ein Produkt wählen und Konfiguration abschließen.
        Im DHCP Server (i.d.R. im Router) die MAC Adresse herausfinden. Diese dann zuerst im Router sperren. Ich nutze hier intern einen dd-wrt Router und habe zunächst meinenm Dash Button eine feste IP zugewiesen und danach sowohl diese IP als auch die MAC Adresse im dd-wrt Filter gesperrt. Zusätzlich habe ich noch eine Fritzbox als äußeren Router, in dem ich auch diese IP sperre. (sicher ist sicher)

        Jetzt die MAC an E2 eintragen (mehrere MACs mit "|" trennen).

        Es wird nun nach Datenpaketen mit
        1. MAC Adresse eines der Dashbuttons,
        2. Quellport = bootpc (=67)
        3. Quelle-IP: 0.0.0.0
        gescannt. Nach einigen Tests konnte ich feststellen, dass der Dash Button tatsächlich nur ein Paket dieses Typs sendet, so dass die Deadtime (E4) vermutlich gar nicht notwendig ist.

        Erkannt wird das Signal nach ca. 3,5 Sekunden nach Drücken des Dash Buttons. Der Dash Button ist danach noch ca. weitere 30 Sekunden gesperrt und somit nicht erneut nutzbar (weißes Licht blinkt). Erst wenn das Licht aus geht ist der nächste Schaltvorgang möglich.

        Nur beim allerersten Drücken erschien bei mir nach dem weißen Leuchten ein kurzes rotes Blinken für einen nicht erfolgreichen Bestellvorgang. Danach habe ich nur noch weißes Blinken. Vermutlich verhindert eine Logik im Button, dass zu oft in Folge bestellt wird.

        So, das wars ... Jetzt viel Spaß beim Klicken


        P.S.: Falls jemand ARP basierte Dash Buttons hat, dann gerne melden. Werde dann einen weiteren Eingang spendieren, so dass man zwischen ARP und BOOTP Protokoll wechseln kann, bzw. der LBS beides beherrscht.

        Kommentar


          #34
          Zitat von jonofe Beitrag anzeigen
          Aber wie gesagt, alles ungetestet, also nicht gleich schreien , wenns nicht funktioniert. Da der Network Scanner offensichtlich funktioniert, sollte es nur eine Frage des richtigen Filterings sein, bis die Dash Buttons erkannt werden.
          Hab mal Scapys sniff-Kommando bemüht. Meine Laien-Vermutung ist, dass die Quellports in Deinem Filter eine Erkennung verhindern, denn die kommen in den Paketen nicht vor:
          Code:
          >>> a.nsummary()
          ...
          0007 802.3 §§:§§:§§:§§:§§:§§ > ff:ff:ff:ff:ff:ff / LLC / Raw / Padding
          0008 Ether / IP / UDP 0.0.0.0:bootpc > 255.255.255.255:bootps / BOOTP / DHCP
          ...
          >>> a[7]
          <Dot3  dst=ff:ff:ff:ff:ff:ff src=§§:§§:§§:§§:§§:§§ len=8 |<LLC  dsap=0x0 ssap=0x0 ctrl=245 |<Raw  load='\x81\x80\x00\x10I' |<Padding  load='           \x04\x11J\xbb\xc0\xa8z\x0f\xef\xff\xff\xfa\xb9\xea\x07l\x01l-TNOTIFY * HTTP/1.1\r' |>>>>
          >>> a[8]
          <Ether  dst=ff:ff:ff:ff:ff:ff src=§§:§§:§§:§§:§§:§§ type=0x800 |<IP  version=4L ihl=5L tos=0x0 len=289 id=1 flags= frag=0L ttl=64 proto=udp chksum=0x79cc src=0.0.0.0 dst=255.255.255.255 options=[] |<UDP  sport=bootpc dport=bootps len=269 chksum=0x5e6e |<BOOTP  op=BOOTREQUEST htype=1 hlen=6 hops=0 xid=3304801241L secs=0 flags= ciaddr=0.0.0.0 yiaddr=0.0.0.0 siaddr=0.0.0.0 giaddr=0.0.0.0 chaddr='De\r\xd7\xcb\xc9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' sname='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' file='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' options='c\x82Sc' |<DHCP  options=[message-type=request server_id=192.168.§§§.1 requested_addr=192.168.§§§.33 param_req_list='\x01\x03\x06' end] |>>>>>
          >>>
          Das wurde vom Dash Button gesendet, §§-Zeichen sollen mein Netz unkenntlich machen.
          Aber ab hier überlasse ich es wirklich den Experten.
          Grüße,
          Gunnar

          EDIT: Da war schon ein Experte dran! Danke für den LBS, teste ich gleich.
          Zuletzt geändert von junibart; 08.09.2016, 18:18.

          Kommentar


            #35
            Hast Du mein Update gesehen?

            doch die kommen vor: bootpc=67 und bootps=68
            bootp war das problem. Das gibt es nicht als Filterausdruck im libpcap

            Kommentar


              #36
              Zitat von jonofe Beitrag anzeigen
              Hast Du mein Update gesehen?
              Erst, nachdem ich meinen Beitrag abgeschickt hatte.

              Hab den LBS gleich getestet. Funktioniert auf Anhieb auch mit zwei verschiedenen Buttons! Zumindest in der Live-Ansicht an einer Ausgangsbox. Im Unterschied zu Deiner Beobachtung kommt bei mir das rote Blinken nach jedem Tastendruck.

              Danke für die schnelle Entwicklung!

              Beste Grüße,
              Gunnar

              Einen Versionssprung von 0.2.1 auf 3.0 hat man auch nicht oft ;-)

              Kommentar


                #37
                Zitat von junibart Beitrag anzeigen

                Erst, nachdem ich meinen Beitrag abgeschickt hatte.

                Hab den LBS gleich getestet. Funktioniert auf Anhieb auch mit zwei verschiedenen Buttons! Zumindest in der Live-Ansicht an einer Ausgangsbox. Im Unterschied zu Deiner Beobachtung kommt bei mir das rote Blinken nach jedem Tastendruck.

                Danke für die schnelle Entwicklung!

                Beste Grüße,
                Gunnar
                Sehr schön, freut mich, dass es funktioniert.
                Blinkt deiner denn auch noch ca. 30 Sekunden weiß bevor das rote Licht erscheint?

                Kommentar


                  #38
                  Zitat von jonofe Beitrag anzeigen
                  Sehr schön, freut mich, dass es funktioniert.
                  Blinkt deiner denn auch noch ca. 30 Sekunden weiß bevor das rote Licht erscheint?
                  Hi,
                  auch mit den nachgeordneten Wertauslösern, Vergleichern und echten Schaltbefehlen läuft es jetzt.

                  Meine Buttons verhalten sich wie folgt:

                  Nach Tastendruck kurzes Aufleuchten blau, dann ca. 4 Sekunden pulsieren weiß, dann 5 Sekunden rotes Blinken. Die Schaltaktion erfolgt ca. 4 Sekunden nach dem Tastendruck mit dem ersten roten Blinken. Nach 9 Sekunden ist alles vorbei.

                  Grüße,
                  Gunnar

                  Kommentar


                    #39
                    Das ist ja seltsam, dass sich unsere Buttons völlig unterschiedlich verhalten.
                    Welchen Button hast du denn und wie hast du ihn konfiguriert? (Android?,iOS?, bis zur Produktauswahl? Hast du schon mal bestellt? Was hast du geblockt? nur Kommunikation nach außen? Bekommt er eine IP zugewiesen? Oder blockst du auch DHCP?

                    Kommentar


                      #40
                      Hallo
                      Meiner verhält sich auch so wie der von junibart allerdings wird er von einem Python Script abgefragt.
                      Ich nehme mal an das es daran liegt das Du die Konfiguration bis zum Ende durchgeführt hast und nicht im letzten Schritt abgebrochen hast.
                      Was sagt den deine WLAN Log vom Router, mein DashButton ist nur für ca. 2sec. angemeldet.
                      Gruß NetFritz
                      KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
                      WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
                      PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

                      Kommentar


                        #41
                        Zitat von NetFritz Beitrag anzeigen
                        Hallo
                        Meiner verhält sich auch so wie der von junibart allerdings wird er von einem Python Script abgefragt.
                        Ich nehme mal an das es daran liegt das Du die Konfiguration bis zum Ende durchgeführt hast und nicht im letzten Schritt abgebrochen hast.
                        Was sagt den deine WLAN Log vom Router, mein DashButton ist nur für ca. 2sec. angemeldet.
                        Gruß NetFritz
                        Ich hatte irgendwo gelesen, dass man die Registrierung bis zum Schluss machen muss, da er sonst seine gesamte Einrichtung vergisst..
                        Ist deiner denn auch ein neuer oder noch einer mit ARP?

                        Kommentar


                          #42
                          Würde den LBS auch gerne probieren. Scheitere aber schon an der Installation von Compiler und Bibliohek.

                          Code:
                          [root@edomi ~]#  yum install git gcc-c++ libpcap-devel swig
                          
                          Loaded plugins: fastestmirror
                          Loading mirror speeds from cached hostfile
                          Could not retrieve mirrorlist [URL]http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os[/URL] error was
                          14: PYCURL ERROR 6 - "Couldn't resolve host '[URL="http://mirrorlist.centos.org"]mirrorlist.centos.org[/URL]'"
                          Error: Cannot find a valid baseurl for repo: base
                          Offenbar findet er den Server nicht. Wie kann ich das unter CentOS korrigieren?

                          Kommentar


                            #43
                            Mit
                            Code:
                            yum update
                            sollte die Mirrorlist aktualisiert werden.

                            Kommentar


                              #44
                              Kommt dein Edomi Server grundsätzlich ins Inet?
                              Geniale Menschen sind selten ordentlich, ordentliche selten genial. (Albert Einstein)

                              Kommentar


                                #45
                                Zitat von jonofe Beitrag anzeigen
                                Das ist ja seltsam, dass sich unsere Buttons völlig unterschiedlich verhalten.
                                Welchen Button hast du denn und wie hast du ihn konfiguriert? (Android?,iOS?, bis zur Produktauswahl? Hast du schon mal bestellt? Was hast du geblockt? nur Kommunikation nach außen? Bekommt er eine IP zugewiesen? Oder blockst du auch DHCP?
                                Hallo,
                                ich habe beide Buttons bis zur Produktauswahl konfiguriert. Mit einem habe ich auch eine Bestellung ausgelöst.
                                Ich lasse den Buttons eine dynamische IP zuweisen, sperre aber in der Fritzbox die Kommunikation nach Außen. Bei mir bekommt der Button in der Zeit, die durch weißes pulsieren der LED erkennbar ist, eine IP zugewiesen.
                                Ich vermute, dass Dein Button nicht mit der festen IP zurechtkommt und mehrmals versucht, eine dynamische IP zu bekommen. Dabei dürfte er aber ein mehrfaches der Energie verbrauchen, die für eine einmalige Anmeldung notwendig ist. Das senkt die Lebensdauer drastisch- man geht in verschiedenen Quellen von 500-1000 Tastendrücken im Normalbetrieb aus.

                                Grüße,
                                Gunnar

                                Kommentar

                                Lädt...
                                X