Amazon Dash Button

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

Vorheriges Thema - Nächstes Thema

justme1968

ja. klar.

kannst du bitte noch eine komplette nachricht posten.

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

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

malted

#166
Zitat von: justme1968 am 17 September 2016, 18:30:11
kannst du bitte noch eine komplette nachricht posten.
Komplette Datei anbei.
Eine Frage hab ich noch. Wenn ich den Quellcode richtig verstehe, geht nur eine Mac im 'allowed' im Dash-Button, Wenn man jetzt mehrere Dash-Buttons hat, legt man für jeden ein solches Device an? Ansonsten könnte man auch mehrere Mac-Adressen pro Device erlauben, da man ja eh das Notify per dash:50-f5-da-aa-bb-cc macht?

[Edit: Datei gelöscht, da der Code verrutscht war]

justme1968

es gehen mehrere jeweils mit komma getrennt.

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

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

Omega

Der Dash-Button ist als Dummy angelegt.
Bei

telnet localhost 7072
setreading dash button pressed

Bekomme ich im Dummy das Reading ,,button pressed 2016-09-17 19:31:26"

... und dann habe ich meinen Fehler gefunden – dank deiner Erläuterung zur Übergabe mittels telnet.

Meinen Dummy habe ich dashButton genannt. Dann muss ich natürlich das Script anpassen von

$fhem = IO::Socket::INET->new(PeerAddr => "localhost:7072") or die "Can't connect to fhem\n";
                syswrite($fhem, "setreading dash button pressed\n");
                shutdown($fhem, 1);

auf

$fhem = IO::Socket::INET->new(PeerAddr => "localhost:7072") or die "Can't connect to fhem\n";
                syswrite($fhem, "setreading dashButton button pressed\n");
                shutdown($fhem, 1);


Danke für die Hinweise.
Holger

NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Omega

Jetzt wollte ich auch noch mit dem Modul 37_dash_dhcp.pm testen.
Das Modul habe ich in's Verzeichnis /opt/fhem/FHEM kopiert und die Rechte angepasst (die gleichen wie die anderen Module). Danach sogar den kompletten Rechner neu gestartet.

Definiere ich dann in FHEM ein

define dash dash_dhcp

bekomme ich: Unknown module dash_dhcp.
Mit der Schreibweise: dhcp_dash habe ich auch getestet (wie in Beiträgen zuvor beschrieben), aber nachdem ich im Modul als Schreibweise dash_dhcp gefunden habe, denke ich: letzteres ist richtig.

Bestimmt nur eine Kleinigkeit. Was habe ich übersehen?

Ach ja: iptables habe ich nicht auf meinem Cubietruck. Was muss ich denn dazu installieren? Oder welche Alternativen habe ich bzw. benötige ich das überhaupt, wenn ich über die openWRT-Schiene komme?

Danke für Hinweise
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Hagenuck1

Zitat von: Omega am 17 September 2016, 23:35:06
Jetzt wollte ich auch noch mit dem Modul 37_dash_dhcp.pm testen.
Das Modul habe ich in's Verzeichnis /opt/fhem/FHEM kopiert und die Rechte angepasst (die gleichen wie die anderen Module).
Holger

Also ich habe Module immer angelegt, indem ich den Inhalt einfach kopiert habe und dann unter "edit file" die FHEM.cfg ausgewählt habe, dort den kompletten Inhalt einfügen und dann GANZ WICHTIG!!!! Save as "37_dash_dhcp.pm"
Dürfte der einfachere weg sein, da FHEM hier die Berechtigungen etc schon selbst richtig setzt. Ist glaube ich auch so supported oder? 



Gesendet von iPhone mit Tapatalk

justme1968

die liste der files die fhem kennt wird nur ein mal beim start initialisiert. wenn man irgendetwas dazu kopiert weiss fhem davon nichts.

einfach das reload kommando verwenden: reload 37_dash_dhcp.pm

danach kennt fhem das file und define funktioniert wie erwartet.

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

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

justme1968

wie viele verwenden das modul denn inzwischen?

funktioniert es? gibt es probleme?

ist es sinnvoll das modul schon einzuchecken? auch bevor die option die verbindung abzufangen drin ist?

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

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

Omega

Nach dem Kopieren der Datei in's FHEM-Verzeichnis hatte ich einen kompletten Rechnerneustart durchgeführt – hätte dann doch auch ohne reload erkannt werden müssen.

Nach einem "reload 37_dash_dhcp.pm"
erhalte ich allerdings die folgenden Meldungen, mit denen ich nicht wirklich etwas anfangen kann.


Global symbol "$data" requires explicit package name at ./FHEM/37_dash_dhcp.pm line 233.
Global symbol "$chaddr" requires explicit package name at ./FHEM/37_dash_dhcp.pm line 234.


Das Modul habe ich aus dem Beitrag 166 gezogen.

Gruß
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

malted

Zitat von: Omega am 18 September 2016, 10:40:30
Das Modul habe ich aus dem Beitrag 166 gezogen.

Mein Fehler, irgendwie hat das diff/patch die drei Zeilen Code schlußendlich an der falschen Stelle eingefügt. Keine Ahnung warum.

Angehängt ist die Variante, in der die Codeänderung an der richtigen Stelle ist und die bei mir gerade definitiv geht.

justme1968

ja. beim neustart wird auch alles neu gelesen. dann geht es auch ohne reload.

da ist bei der version aus 166 etwas schief gegangen.

ich habe es jetzt auch in meine version eingebaut: https://forum.fhem.de/index.php/topic,57248.msg488553.html#msg488553. damit sollte es gehen.

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

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

Omega

Danke für eure Unterstützung.

Ich habe mir mal beide Versionen heruntergeladen und sehe dabei sofort einen Unterschied in der Größe (und daher vermutlich auch einen in der Funktionalität). Das wird dann mögliche Verwirrungen steigern.
Jede Version ist bestimmt gut und richtig, aber...
haben beide die gleiche Funktionalität oder gibt es doch Unterschiede?

LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

justme1968

ich habe noch etwas aufgeräumt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Omega

Zitatich habe noch etwas aufgeräumt
- und das am Sonntag   :D


Leider sehe ich momentan keinen Erfolg.
Im IoTGW habe ich das Logging auf 6767 angepasst und den Aufruf

/sbin/logread -e ".* associated .*" -f -u -r 192.168.0.24 6767 -p /var/run/logread.1.pid

entsprechend angepasst (es scheint aber egal zu sein, ob ich es aufrufe oder nicht).


Im IoTGW sehe ich folgende Meldungen im Log:

Sun Sep 18 12:00:09 2016 daemon.info hostapd: wlan0: STA ac:63:be:xx:xx:xx IEEE 802.11: authenticated
Sun Sep 18 12:00:09 2016 daemon.info logread[704]: failed to send log data to 192.168.0.24:6767 via udp
Sun Sep 18 12:00:09 2016 daemon.info hostapd: wlan0: STA ac:63:be:xx:xx:xx IEEE 802.11: associated (aid 1)
Sun Sep 18 12:00:09 2016 daemon.info hostapd: wlan0: STA ac:63:be:xx:xx:xx WPA: pairwise key handshake completed (RSN)
Sun Sep 18 12:00:09 2016 daemon.info dnsmasq-dhcp[1057]: DHCPREQUEST(br-lan) 192.168.1.169 ac:63:be:xx:xx:xx
Sun Sep 18 12:00:09 2016 daemon.info dnsmasq-dhcp[1057]: DHCPACK(br-lan) 192.168.1.169 ac:63:be:xx:xx:xx
Sun Sep 18 12:00:09 2016 daemon.info hostapd: wlan0: STA ac:63:be:xx:xx:xx IEEE 802.11: disassociated
Sun Sep 18 12:00:10 2016 daemon.info logread[704]: Logread connected to 192.168.0.24:6767


Das Perl-Script habe ich nicht mehr am Laufen – oder wird es doch noch benötigt?
Oder scheitere ich jetzt an der Problematik Port 67 (6767)?

LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

malted

Zitat von: Omega am 18 September 2016, 12:11:40
Leider sehe ich momentan keinen Erfolg.
Im IoTGW habe ich das Logging auf 6767 angepasst und den Aufruf

/sbin/logread -e ".* associated .*" -f -u -r 192.168.0.24 6767 -p /var/run/logread.1.pid

entsprechend angepasst (es scheint aber egal zu sein, ob ich es aufrufe oder nicht).

Das schickt die falschen Codezeilen. Im Modul wird auf das DHCPACK geprüft:

  if (($data) =~ /^.*DHCPACK[^:]*([\da-z]{2}(:[\da-z]{2}){5}) .*/ ) {


Mach mal den -e Switch oben weg:

/sbin/logread -f -u -r 192.168.0.24 6767 -p /var/run/logread.1.pid