Amazon DASH bouton

Forum dédié aux bricolages d'objets connectés IOT et leurs communications avec DomoticZ :
- Remplacement de firmware des prises, modules relais ...
- Fabrication à base d'ESP8266, de NodeMCU, de Weemos et consorts ...
Snorky
Messages : 79
Inscription : 02 oct. 2016, 22:13

Re: Amazon DASH bouton

Message par Snorky »

rapinou a écrit :

Code : Tout sélectionner

var dash_on = dash_button('50:f5:da:5a:b4:9f', null, 30000, 'all');
Salut,

Votre bouton fonctionne bien ?
Le mien marche une fois sur 2.

J'ai mis le même code que rapinou.
DomoticzVersion: V3.8153, CustomPage, GoogleHome
Pi3 Modèle B + RFXCom + Razberry
RFX: Sonde OREGON THGR122, Capteur ouverture Trust AMST-606, Compteur conso OWL Micro+ CM180
ZWave: FGMS001
rapinou
Messages : 119
Inscription : 17 nov. 2016, 01:44

Re: Amazon DASH bouton

Message par rapinou »

Apparemment ça dépend de l'état du réseau local, j'ai dû essayer plusieurs réglages avant que ça fonctionne correctement.
Si tu laisses null/null/all, ça ne va pas ?
Pour le timeout, j'ai mis 30 secondes car j'ai bloqué l'accès internet via le contrôle parental de la freebox, tu lui as aussi bloqué internet ?
RPI 3 - Raspbian 8 (Jessie) - Domoticz V3.5877
Snorky
Messages : 79
Inscription : 02 oct. 2016, 22:13

Re: Amazon DASH bouton

Message par Snorky »

Non je vais faire un test en bloquant.

Merci
Dernière modification par Snorky le 23 déc. 2016, 21:01, modifié 1 fois.
DomoticzVersion: V3.8153, CustomPage, GoogleHome
Pi3 Modèle B + RFXCom + Razberry
RFX: Sonde OREGON THGR122, Capteur ouverture Trust AMST-606, Compteur conso OWL Micro+ CM180
ZWave: FGMS001
damolc
Messages : 240
Inscription : 24 juil. 2016, 22:08

Re: Amazon DASH bouton

Message par damolc »

rapinou a écrit :Oui, on est plusieurs à avoir été embêté avec ça au début. Moi ça s'est réglé en mettant à jour node.

Sinon, à essayer :

1/ Ajouter le chemin complet de node dans le crontab :

Code : Tout sélectionner

@reboot sudo /usr/local/bin/node /home/pi/domoticz/scripts/node/dash1.js
Pour vérifier le chemin de node sur ton install, tape dans la console :

Code : Tout sélectionner

which node
2/ Ou passer par /etc/rc.local à la place de crontab :

Code : Tout sélectionner

sudo nano /etc/rc.local
Et ajoute avant exit :

Code : Tout sélectionner

node /home/pi/domoticz/scripts/node/dash1.js
Peut-être qu'il faudra le chemin complet ici aussi, je ne sais pas.

Dis-nous quoi.
j ai fait tous les tests que tu m as signalé : rien ne fonctionne
j ai testé aussi la mise en jour de nodejs et ça c est une sacré galaire : homebridge, imperium ne fonctionne plus
as tu une methode pour mettre a jour node sans tout deregler?
fabd
Messages : 100
Inscription : 11 janv. 2016, 10:14

Re: Amazon DASH bouton

Message par fabd »

Tres bon tuto de Patrice 8-)

Apres, comme les autres, ca marche une fois sur 3...4...
roondar
Messages : 51
Inscription : 12 avr. 2016, 12:58

Re: Amazon DASH bouton

Message par roondar »

Voici un code python pour utiliser ces boutons

Code : Tout sélectionner

#!/usr/bin/python2
from scapy.all import sniff, ARP
import time
import urllib2
import urllib

buttons = []
domoticz_ip = "127.0.0.1"
domoticz_port = "8080"
url_schema = "http"
timeout = 6
url = "%s://%s:%s/json.htm?" % (url_schema, domoticz_ip, domoticz_port)

# get from http://www.adminsub.net/mac-address-finder/amazon
mac_address_amazon_vendor = ["F0D2F1", "F0272D",  "AC63BE", "A002DC", "94BA31", "8871E5", "8841C1", "84D6D0", "74C246",
                             "747548", "6854FD", "5CC9D3", "50F5DA", "50B363", "44650D", "34D270", "0C47C9", "001A90", ]


class Button:
    def __init__(self, mac, name, domoticz_idx, status="Toggle"):
        self.mac = mac
        self.name = name
        # Can be Toggle, On or Off
        self.status = status
        self.last_running = 0
        self.domoticz_idx = domoticz_idx

    def __str__(self):
        return self.name

    def setStatus(self):
        data = {'type': 'command',
                'param': 'switchlight',
                'idx': self.domoticz_idx,
                'switchcmd': self.status
                }
        urllib2.urlopen(url + urllib.urlencode(data))
        self.last_running = time.time()

buttons.append(Button("88:71:e5:xx:xx:xx", "ON", 2))
buttons.append(Button("34:d2:70:xx:xx:xx", "kleenex", 3)) 


def arp_display(pkt):
    if pkt[ARP].op == 1:
        dash_mac = pkt[ARP].hwsrc
        res = [x for x in buttons if x.mac == dash_mac]
        if res and time.time() - res[0].last_running > timeout:
            print "%s pushed" % res[0].name
            res[0].setStatus()
        elif ''.join(dash_mac.split(':')[0:3]).upper() in mac_address_amazon_vendor and not res:
            print "%s Unknown Amazon device" % pkt[ARP].hwsrc


print sniff(prn=arp_display, filter="arp", store=0)
Il faut avoir le paquet python-scapy d'installé.

On peut ajouter des boutons à la ligne 40:
buttons.append(Button("88:71:e5:xx:xx:xx", "ON", 2))

Le premier paramètre est l’adresse MAC du bouton, le second est son nom, et le dernier est le numéro idx de Domoticz.
Quand on appuie sur le bouton, le matériel IDX de domoticz changera de statut.

Pour le service, il faut créer le fichier /etc/systemd/system/dash_amazon.service:

Code : Tout sélectionner

[Unit]
Description=Dash Amazon

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/python2 -u /opt/dash_amazon.py

[Install]
WantedBy=multi-user.target
On démare le service
systemctl enable /etc/systemd/system/dash_amazon.service
systemctl start dash_amazon
JRCondat
Messages : 40
Inscription : 29 nov. 2016, 16:40

Re: Amazon DASH bouton

Message par JRCondat »

J'aimerai tant faire fonctionner mon bouton Dash, mais je n'ai jamais réussi à installer le node-dash-button quand je fais

Code : Tout sélectionner

npm install --save dash-button
que je fasse une sudo avant ou pas j'ai cte fichue erreur :

Code : Tout sélectionner

extract:dash-button: verb gentlyRm don't care about cont
Personne ne l'a jamais eu ? j'ai installé Node.js 6.5 tenté aussi avec la 7.3 et dans les deux cas ça foire :(
fabd
Messages : 100
Inscription : 11 janv. 2016, 10:14

Re: Amazon DASH bouton

Message par fabd »

t'as fait un apt-get update et upgrade avant ?

moi aussi j'ai ces messages mais ca continue derriere
cha
Messages : 1
Inscription : 02 janv. 2017, 10:22

Re: Amazon DASH bouton

Message par cha »

Hello !
Merci pour ce sujet, j'ai aussi pu installer des boutons pour Domoticz ! L'astuce pour les boutons "gratuits" fonctionne t-elle encore chez vous ? Suite à la réception d'un troisième bouton et le début de procédure d'activation sans valider la dernière étape, la réduction ne s'applique plus automatiquement après la mise en panier d'un autre.
roondar
Messages : 51
Inscription : 12 avr. 2016, 12:58

Re: RE: Re: Amazon DASH bouton

Message par roondar »

cha a écrit :Hello !
Merci pour ce sujet, j'ai aussi pu installer des boutons pour Domoticz ! L'astuce pour les boutons "gratuits" fonctionne t-elle encore chez vous ? Suite à la réception d'un troisième bouton et le début de procédure d'activation sans valider la dernière étape, la réduction ne s'applique plus automatiquement après la mise en panier d'un autre.
Testé et approuvé encore aujourd'hui.

Envoyé de mon FRD-L09 en utilisant Tapatalk
Répondre