Amazon Dash Button

Begonnen von gloob, 31 August 2016, 08:20:07

Vorheriges Thema - Nächstes Thema

justme1968

nimm doch einfach das modul von hier: https://forum.fhem.de/index.php/topic,57248.msg488553.html#msg488553, richte wenn dein fhem nicht als root läuft die iptables regel ein und schalte deine steckdose mit einem einfachen altmodischen notify.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

kumue

hier hast du auch die MAC-Adresse deines Dash-Buttons eingetragen ?

aus der Anleitung
  "address": "ac:61:b3:e1:fa:fe",

Papaloewe

#197
Kurze Rückmeldung für Andre:

Funktioniert jetzt endlich auch bei mir sehr gut, nachdem ich die MAC-Adresse im Reading "Allowed" von Großbuchstaben in Kleinbuchstaben geändert habe. Könnte man das vielleicht noch ändern, dass Beides akzeptiert wird?

Mein anderes Problem war, das es auf meinem NUC keine "eth0" gibt, sondern die NIC "enp3s0" heißt.

Danke für das Modul ;-)

Gruß
Thomas

Nordmann

Meine config.json sieht so aus:
{"buttons":[
  {
    "name": "Dash1",
    "address": "50:f5:da:f3:07:24",
    "url": "http://127.0.0.1:8083/fhem?cmd=set%20Steckdose%20on",
    "url": "https://maker.ifttt.com/trigger/dashbutton/with/key/meinkey",
    "method": "POST",
    "json": true,
    "body": {"value1": "any value", "value2": "another value"}
  }
]}


Und damit tut sich, außer meinen trigger im IFTT aufzurufen, gar nichts.

Nordmann

#199
Zitat von: justme1968 am 08 Oktober 2016, 20:49:36
nimm doch einfach das modul von hier: https://forum.fhem.de/index.php/topic,57248.msg488553.html#msg488553, richte wenn dein fhem nicht als root läuft die iptables regel ein und schalte deine steckdose mit einem einfachen altmodischen notify.

gruss
  andre

Könnt ihr mir bitte noch mal genau erklären wie das mit der iptables regel genau funktioniert, bzw. wie ich die "Regel" "geschaltet" bekomme.
Ich habe in meiner pi Konsole folgendes eingegeben:
sudo iptables -A PREROUTING -t nat -i eth0 -p udp --dport 67 -j REDIRECT --to-port 6767
Sind die iptables auf "Dauer" geändert, oder muss ich nach einem Neustart den oberen Befehl wieder aufrufen?

In meinem FHEM Logfile bekomme ich aber folgende Fehlermeldung:
dash: failed to open port 67: IO::Socket::INET: Keine Berechtigung
NAch einem Systemneustart sieht die Fehlermeldung auch nicht anders aus!

Ich habe folgenden Beitrag in einem Blog gefunden, aber da wird nicht der Port 67 "umgehummelt".
Ist das ggf. auch ein Ansatz die iptables zu ändern?

Ich stehe da echt auf dem Schlauch!

Und wie kann ich meine Steckdose dann mit "dash_dhcp" ansprechen?

justme1968

@Papaloewe: ich habe in der version hier: https://forum.fhem.de/index.php/topic,57248.msg488553.html#msg488553 den vergleich der mac adressen case insensitiv gemacht.

@Nordmann: wenn das in der config ein normaler hash ist dann kannst du nicht zwei gleiche url einträge haben. der zweite überschreibt den ersten.

die iptables regel gilt nur bis zum nächsten neustart. um sie dauerhaft zu machen müssen sie in ein boot script.

wenn du den port 67 per iptables regel auf 6767 umbiegst musst du das dem fhem modul auch sagen. dazu gibt es das port attribut.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Nordmann

Soweit ok. Die Fehlermeldung
dash: failed to open port 67: IO::Socket::INET: Keine Berechtigung
ist weg.

Aber jetzt eine ganz blöde dumme Anfängerfrage, wie kann ich jetzt "das" dash_dhcp nutzen/einbauen,
damit ich einen Ein/Aus Taster für meine Steckdose habe, wie müssen denn da die defines etc. aussehen?
Ich hänge da auf dem Schlauch.

Muss meine "list dash" so aussehen, oder ist da noch irgendetwas falsch:
Internals:
   CFGFN      /opt/fhem/mycfg/99_tests.cfg
   CONNECTS   2
   FD         4
   LAST_CONNECT 2016-10-08 23:16:15
   LAST_DISCONNECT 2016-10-08 23:16:15
   NAME       dash
   NR         93
   NTFY_ORDER 50-dash
   STATE      listening
   TYPE       dash_dhcp
   Readings:
     2016-10-08 23:16:15   state           listening
Attributes:
   allowed    50:f5:da:f3:07:24
   port       6767

justme1968

schau im event monitor nach was passiert wenn du den button betätigst. auf dieses event setzt du ein notify. beispiele weiter oben im thread. allgemeines zu notify in der commandref, im wiki und im einsteiger pdf.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Nordmann

Und so schlittern wir in das nächste Problem: Ich sehe nichts auf meinem Event Monitor  :-[

justme1968

verbose 5 einschalten und im log schauen
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Nordmann

mein list dash sieht jetzt so aus:
Internals:
   CFGFN      /opt/fhem/mycfg/99_tests.cfg
   CONNECTS   2
   FD         4
   LAST_CONNECT 2016-10-08 23:34:56
   LAST_DISCONNECT 2016-10-08 23:34:56
   NAME       dash
   NR         93
   NTFY_ORDER 50-dash
   STATE      listening
   TYPE       dash_dhcp
   Readings:
     2016-10-08 23:34:56   state           listening
Attributes:
   allowed    50:f5:da:f3:07:24
   port       6767
   verbose    5


Im Log kann ich nichts "Neues" erkennen:
2016.10.08 23:58:37.731 0: Server shutdown
2016.10.08 23:58:40.389 1: Including fhem.cfg
2016.10.08 23:58:40.460 3: telnetPort: port 7072 opened
2016.10.08 23:58:40.817 3: WEB: port 8083 opened
2016.10.08 23:58:40.821 1: Including /opt/fhem/mycfg/00_config.cfg
2016.10.08 23:58:40.822 1: Including /opt/fhem/mycfg/99_tests.cfg
2016.10.08 23:58:43.438 2: eventTypes: loaded 169 events from ./log/eventTypes.txt
2016.10.08 23:58:43.487 3: Opening ZWAVE1 device /dev/ttyACM0
2016.10.08 23:58:43.540 3: Setting ZWAVE1 serial parameters to 115200,8,N,1
2016.10.08 23:58:44.633 3: ZWAVE1 device opened
2016.10.08 23:58:45.678 1: Including ./log/fhem.save
2016.10.08 23:58:45.780 3: dash: Disconnected
2016.10.08 23:58:45.788 1: usb create starting
2016.10.08 23:58:46.276 3: Probing CUL device /dev/ttyAMA0
2016.10.08 23:58:46.486 3: Probing TCM_ESP3 device /dev/ttyAMA0
2016.10.08 23:58:46.695 3: Probing FRM device /dev/ttyAMA0
2016.10.08 23:58:51.944 1: usb create end
2016.10.08 23:58:51.950 0: Featurelevel: 5.7
2016.10.08 23:58:51.950 0: Server started with 51 defined entities (fhem.pl:12192/2016-09-22 perl:5.020002 os:linux user:fhem pid:9468)
2016.10.08 23:58:51.956 2: ZWDongle_ProcessSendStack: no ACK, resending message 0107000301020100f9
2016.10.08 23:58:51.962 3: telnetForBlockingFn_1475963931: port 45235 opened
2016.10.08 23:58:54.517 3: ZWave got config for popp/smoke-detector.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2016.10.08 23:58:55.480 3: ZWave got config for aeotec/dsd37.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2016.10.08 23:58:57.517 3: ZWave got config for vision/zd2102.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2016.10.08 23:58:58.624 3: ZWave got config for aeotec/dsd31.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2016.10.08 23:59:00.552 3: ZWave got config for fibaro/fgsd002.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2016.10.08 23:59:00.874 1: No Logdevice FileLog_OG_Annika_Rauchmelder_unten

justme1968

#206
da sind keine dhcp pakete zu sehen und keine log einträge vom modul.

du hast aber schon draufgedrückt? während er aus war?

ist dein dash button im gleichen netz wie dein fhem rechner? siehst du trafic vom button mit wireshark?


gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Nordmann

#207
Ich habe ja erst den Weg über diese Anleitung versucht:
http://www.benjaminroesner.com/blog/fhem-geraete-mit-amazon-dash-button-schaltensteuern-raspberry-pi-home-automation/#comment-272

Geht ja aber nicht :-(

Hier bekomme ich aber eine Reaktion, jedes Mal wenn ich den Buttonb betätige
> > dasher@1.1.1 start /home/pi/dasher
> node app.js

Dash1 added.
Dash1 pressed.
Dash1 pressed.


Aber wenn keine DHCP pakete und keine Log Einträge zu sehen sind, dann stimmt doch etwas grundsätzlich nicht, oder?

Daraufgedrückt habe ich auch mehrere Male.
Ich habe hier bei uns nur ein netzwerk, da hängen alle unsere PC's etc. dran.

In meiner cfg steht folgendes:

define dash dash_dhcp
attr dash allowed 50:f5:da:f3:07:24
attr dash port 6767
attr dash verbose 5



justme1968

schau ob du mit wireshark etwas siehst. die dhcp broadcast nachrichten müssen auftauchen.

oder die iptables regel war nicht richtig für dein system. entweder heisst dein interface anders oder du musst das ziel anders angeben. hier ist eine etwas andere variante: https://forum.fhem.de/index.php/topic,57248.msg490738.html#msg490738

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Nordmann

Habe die andere Variante benutzt und bekomme im log folgenden Eintrag:
2016.10.09 00:21:39.155 4: dash: got 50:f5:da:f3:07:24
2016.10.09 00:21:39.651 4: dash: got 50:f5:da:f3:07:24


Ist das gut?  :o ;D