+ Antworten
Seite 3 von 7 ErsteErste 1 2 3 4 5 ... LetzteLetzte
Ergebnis 21 bis 30 von 61

Thema: Dash Button

  1. #21
    Registriert seit
    Jun 2011
    Beiträge
    511

    Moin Jürgen,

    danke für dein Script ... läuft 1A !

    VG

    Andreas
    Professional

  2. #22
    Registriert seit
    Jan 2012
    Beiträge
    47

    Hi,

    ich habe den Button ganz einfach per Amazon App konfiguriert, bis zu dem Punkt, wo ich das Produkt auswähle. Dann habe ich abgebrochen. Somit kommt der Button schon mal ins WLAN.

    Nun läuft ein Script das Pingt den Button einfach alle 5 Sek. an, sobald ein Ping da war, dann kann ich ne Aktion starten.
    Ist rel. einfach, aber dafür brauch ich keinen extra Raspberry.

    Vielleicht nicht ganz so sauber, funktioniert aber bei mir problemlos.

  3. #23
    Registriert seit
    Jun 2011
    Beiträge
    511

    Zitat Zitat von schimmi Beitrag anzeigen
    Ich hab das Script mal eine wenig angepasst, damit ein Webhook an den Server gesendet wird:
    Hallo Jürgen,

    hast du ne Idee wie ich das Script anpassen muss, wenn ich da zwei oder mehr Dash Buttons integrieren will :0)

    Habs so versucht ... klappt aber nicht :0(

    PHP-Code:
    import datetime
    import logging
    import urllib2

    logging
    .getLogger("scapy.runtime").setLevel(logging.ERROR)
    from scapy.all import *

    def button_pressed_dash1():
     
    current_time datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
     print 
    'Dash button pressed' current_time
     urllib2
    .urlopen('http://127.0.0.1:3777/hook/cottonelle?cottonelle')

    def button_pressed_dash2():
     
    current_time datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
     print 
    'Dash button pressed' current_time
     urllib2
    .urlopen('http://127.0.0.1:3777/hook/sheba?sheba')

    def udp_filter(pkt):
     
    options pkt[DHCP].options
     
    for option in options:
      if 
    isinstance(optiontuple):
       if 
    'requested_addr' in option:
       
    # we've found the IP address, which means its the second and final UDP request, so we can trigger our action
        
    mac_to_action[pkt.src]()
        break

    mac_to_action = {'ac:63:be:xx:22:22' button_pressed_dash1}
    mac_id_list = list(mac_to_action.keys())

    mac_to_action = {'ac:63:be:xx:11:11' button_pressed_dash2}
    mac_id_list = list(mac_to_action.keys())

    print 
    "Waiting for a button press..."
    sniff(prn=udp_filterstore=0filter="udp"lfilter=lambda dd.src in mac_id_list)

    if 
    __name__ == "__main__":
     
    main() 
    VG

    Andreas
    Professional

  4. #24
    Registriert seit
    Aug 2012
    Beiträge
    464

    @Jürgen,

    zufällig genau parallel dasselbe gebaut.
    In IPS ein Empfängerscript und fertig.

    Günstiger geht's eigentlich nicht einen Dash Button kaufen für rund 5 EUR, dann noch Gutschrift bei erster Bestellung kassieren und anschließend einfach in der FritzBox sperren.

    einwandfrei. Sicher nicht für Nutzung 10x pro Tag aber für einen gelegentlichen Button, absolut top und günstiger geht's wohl definiv nicht.
    • IPS auf HP Proliant N40L 1x64GB SSD, 3TB, 6GB RAM •
    • Z-Wave von Fibaro und Everspring • OpenWRT Ansteuerung • 1-Wire •
    • WMRS 200 Wetterstation • CAPI mit FritzBox •

  5. #25
    Registriert seit
    Mar 2012
    Ort
    Magdeburg
    Beiträge
    590

    Für einen gute Nacht Button ist es perfekt


    Gesendet von meinem iPhone mit Tapatalk
    Grüße aus Magdeburg
    Marcel

  6. #26
    Registriert seit
    Jun 2011
    Beiträge
    511

    Hat auch kein anderer ne Idee wie ich zwei oder mehr Buttons in das o.g. Script einbauen kann :0(
    Professional

  7. #27
    Registriert seit
    Sep 2014
    Beiträge
    13

    Standard Dash Button Erreichbarkeit mit Ping checken - Verhalten Dash Button und Einschränkung

    Zitat Zitat von joschi79 Beitrag anzeigen
    Hi,

    ich habe den Button ganz einfach per Amazon App konfiguriert, bis zu dem Punkt, wo ich das Produkt auswähle. Dann habe ich abgebrochen. Somit kommt der Button schon mal ins WLAN.

    Nun läuft ein Script das Pingt den Button einfach alle 5 Sek. an, sobald ein Ping da war, dann kann ich ne Aktion starten.
    Ist rel. einfach, aber dafür brauch ich keinen extra Raspberry.

    Vielleicht nicht ganz so sauber, funktioniert aber bei mir problemlos.
    Hallo Zusammen,

    ich habe das auch so gemacht wie von Joschi79 beschrieben. Unschön daran ist allerdings, dass sofern der Button nicht fertig inkl. Produkt konfiguriert ist, bei jedem Tastendruck eine PUSH Nachricht des Herstellers am Handy bei mir ankommt. Ich habe bisher keine Einstellmöglichkeiten gefunden, dass man granular nur diese Push Nachricht unterbinden kann. Also entweder alle oder keine.

    Reset des nicht komplett konfigurierten Dash’s durch Hersteller:
    Was ich weiter als mögliche Einschränkung sehe ist, dass wenn man das „nach Hause Telefonieren“ des Dash nicht per Firewall Einstellungen unterbindet es passieren könnte, dass der Knopf bei der nächsten Kontaktaufnahme wieder von dem Hersteller resettet werden könnte. Denn wenn man einen Dash über das App deaktiviert, dann wird dieser auch bei der nächsten Kontaktaufnahme resettet.

    Und wo ist der Nachteil, das nach Hause telefonieren zu unterbinden?

    Kann der Dash nach Hause telefonieren geht nach einem Tastendruck kurz die LED des Dash’s solange an, bis die Verbindung aufgebaut und der Datentransfer bestätig ist. Danach geht der Dash wieder offline. Ist kein Produkt hinterlegt, blinkt die LED noch einmal kurz rot zum Abschluss auf. Dauer insgesamt ca. 3 Sekunden bei mir, in der der Dash auch per Ping erreichbar ist.

    Wenn man allerdings die Kommunikation zum Hersteller unterbindet (egal ob reject oder drop), dann ist der Dash ca. 30s online (auch die LED leuchtet dann ca. 30 Sekunden) bis der Timeout greift und der Dash dann wieder offline geht.

    Wenn ich irgend etwas damit schalten möchte mit Betriebszeiten von vielleicht 10min oder länger ist das kein Problem. Allerdings schnell mal ein Licht ein und wieder ausschalten geht dann leider nicht, da der Butten mindestens 30 Sekunden online geht. Also eine sichere Schaltfrequenz von unter ca. 40 Sekunden klappt leider nicht.


    Aber davon abgesehen, für viele Anwendung ist das Ding klasse!

  8. #28
    Registriert seit
    Jun 2011
    Beiträge
    511

    So nachdem ja keiner geantwortet hat ... hab ich es hinbekommen

    PHP-Code:
    import datetime
    import logging
    import urllib2

    logging
    .getLogger("scapy.runtime").setLevel(logging.ERROR)
    from scapy.all import *

    def button_pressed_dash1():
     
    current_time datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
     print 
    'Dash button pressed' current_time
     urllib2
    .urlopen('http://127.0.0.1:3777/hook/cottonelle?cottonelle')

    def button_pressed_dash2():
     
    current_time datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
     print 
    'Dash button pressed' current_time
     urllib2
    .urlopen('http://127.0.0.1:3777/hook/sheba?sheba')

    def udp_filter(pkt):
     
    options pkt[DHCP].options
     
    for option in options:
      if 
    isinstance(optiontuple):
       if 
    'requested_addr' in option:
       
    # we've found the IP address, which means its the second and final UDP request, so we can trigger our action
        
    mac_to_action[pkt.src]()
        break

    mac_to_action = {'ac:63:be:xx:xx:xx' button_pressed_dash1'ac:63:be:yy:yy:yy' button_pressed_dash2}
    mac_id_list = list(mac_to_action.keys())

    print 
    "Waiting for a button press..."
    sniff(prn=udp_filterstore=0filter="udp"lfilter=lambda dd.src in mac_id_list)

    if 
    __name__ == "__main__":
     
    main() 
    Professional

  9. #29
    Registriert seit
    Jun 2011
    Beiträge
    511

    Hab jetzt noch ne bessere Option gefunden, weil das andere Script bei mir immer dreimal ausgeführt worden ist.
    Einfach noch
    PHP-Code:
    sudo apt-get install python-pydhcplib 
    installieren und folgendes Script anlegen

    PHP-Code:
    import urllib2

    from pydhcplib
    .dhcp_network import *

    def dash1():
            print(
    "button has been pressed")
            
    urllib2.urlopen('http://127.0.0.1:3777/hook/cottonelle?cottonelle')

    def dash2():
            print(
    "button has been pressed")
            
    urllib2.urlopen('http://127.0.0.1:3777/hook/sheba?sheba')


    netopt = {'client_listen_port':"68"'server_listen_port':"67"'listen_address':"0.0.0.0"}

    class 
    Server(DhcpServer):
            
    def __init__(selfoptionsdashbuttons):
                    
    DhcpServer.__init__(selfoptions["listen_address"],
                                                                    
    options["client_listen_port"],
                                                                    
    options["server_listen_port"])
                    
    self.dashbuttons dashbuttons

            def HandleDhcpRequest
    (selfpacket):
                    
    mac self.hwaddr_to_str(packet.GetHardwareAddress())
                    
    self.dashbuttons.press(mac)


            
    def hwaddr_to_str(selfhwaddr):
                    
    result = []
                    
    hexsym = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f']
                    for 
    iterator in range(6) :
                            
    result += [str(hexsym[hwaddr[iterator]/16]+hexsym[hwaddr[iterator]%16])]
                    return 
    ':'.join(result)

    class 
    DashButtons():
            
    def __init__(self):
                    
    self.buttons = {}

            
    def register(selfmac, function):
                    
    self.buttons[mac] = function

            
    def press(selfmac):
                    if 
    mac in self.buttons:
                            
    self.buttons[mac]()
                            return 
    True
                    
    return False


    dashbuttons 
    DashButtons()
    dashbuttons.register("ac:63:be:aa:aa:aa"dash1)
    dashbuttons.register("ac:63:be:bb:bb:bb"dash2)
    server Server(netoptdashbuttons)

    while 
    True :
        
    server.GetNextDhcpPacket() 
    Professional

  10. #30
    Registriert seit
    Sep 2014
    Beiträge
    13

    Standard DASH Button Batterie tauschen (2. Generation Model No JK29LP)

    Hallo Zusammen!

    Die Batterie vom DASH war leider schon nach kurzer Zeit leer. LED hat nach dem Drücken kurz aufgeleuchtet und er hat keine Verbindung mehr zum WLAN Netz mehr versucht. Wie allgemein bereits bekannt, ist in der zweiten Generation (Model No. JK29LP) eine normale AAA 1,5 Volt Duracell Batterie in einer Halterung verbaut. Nachdem ich leider nirgendwo finden konnte, wie man den DASH nach Möglichkeit zerstörungsfrei öffnet, habe ich es dann auf eigene Faust versucht.

    Mit einem stabilen, scharfen Messer habe ich mich mit ein paar Schnitten in den zwei Nuten für den Rahmen bis in den Innenraum des DASH vorgearbeitet. Dann kann man einfach den Rest aufhebeln (keine Schrauben, keine Klips usw.. – Deckel ist mit Ultraschall am Rand au das Gehäuse geschweißt), Batterie tauschen und mit etwas Sekundenkleber das Gehäuse fast unsichtbar wieder verschließen.

    Gruß Dirk

Ähnliche Themen

  1. Transparenter Button
    Von Rubberduck im Forum IPSStudio & IPSView
    Antworten: 7
    Letzter Beitrag: 28.10.17, 07:38
  2. Antworten: 0
    Letzter Beitrag: 15.08.12, 07:47
  3. Image auf einem Button (Button back / Image front)
    Von mr.raschi im Forum Dashboard
    Antworten: 7
    Letzter Beitrag: 24.02.07, 17:53