Salut,rapinou a écrit :Code : Tout sélectionner
var dash_on = dash_button('50:f5:da:5a:b4:9f', null, 30000, 'all');
Votre bouton fonctionne bien ?
Le mien marche une fois sur 2.
J'ai mis le même code que rapinou.
Salut,rapinou a écrit :Code : Tout sélectionner
var dash_on = dash_button('50:f5:da:5a:b4:9f', null, 30000, 'all');
j ai fait tous les tests que tu m as signalé : rien ne fonctionnerapinou 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 :Pour vérifier le chemin de node sur ton install, tape dans la console :Code : Tout sélectionner
@reboot sudo /usr/local/bin/node /home/pi/domoticz/scripts/node/dash1.js2/ Ou passer par /etc/rc.local à la place de crontab :Code : Tout sélectionner
which node
Et ajoute avant exit :Code : Tout sélectionner
sudo nano /etc/rc.localPeut-être qu'il faudra le chemin complet ici aussi, je ne sais pas.Code : Tout sélectionner
node /home/pi/domoticz/scripts/node/dash1.js
Dis-nous quoi.
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)
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
Code : Tout sélectionner
npm install --save dash-buttonCode : Tout sélectionner
extract:dash-button: verb gentlyRm don't care about contTesté et approuvé encore aujourd'hui.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.