Amazon Dash Button

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

Vorheriges Thema - Nächstes Thema

ArduPino

Zitat von: Krossi am 03 März 2017, 18:59:53
muss jetzt mal einige Dashbutton nach ordern  ::), es gibt viel zu tun

Bin mal gespannt wie das weiter geht. Ich habe bis jetzt 3 hier liegen. Nur einen benutze ich zur Zeit wirklich.
Soll ja welche geben die schon 20 Stück oder so haben ;-)
Irgend was wird sich Amazon aber einfallen lassen, denn die legen bestimmt richtig drauf, denn erstens bekommt man ja jedes mal eine Gutschrift und zweitens sind die Hardwarekosten ja auch sicher höher als 5€. Da ist ja einiges an (unnötiger) Technik drin.
Ob dieses "dasher" auch pingt wie wild weiß ich gar nicht. Auslastung meines Pi3 ist unter 1%, kann also nicht so wild sein.

Krossi

#406
So habe es nicht hinbekommen die Sonos richtig zu schalten ,bekomme die Sonos mit den Notify an aber nicht wieder aus.

(#1.Versuch#)define DashButtonWilkinson notify DashButton01:50-xx-xx-xx-xx-f5..short IF ([Sonos_Bad] eq"Play") (set Sonos_Bad Pause) ELSE (set Sonos_Bad Play)

auch das haut nicht hin Sonos Play geht ,Sonos ausmachen geht nicht
(#2.Versuch#)define act_on_DashButton01 notify DashButton01:50-xx-xx-xx-xx-f5..short {\
if ("$EVENT" ne "Pause") {\
  fhem("set Sonos_Bad Play")\
}\
  else {\
  fhem("set Sonos_Bad Pause")\
}\
}

wie bekomme ich es hin das ich es über READING ,dort steht der eintrag ReadingState schalte,
bei eingeschalteter sonos steht dann da "PLAYING" und wenn die Sonos aus ist "PAUSED_PLAYBACK"
http://www.directupload.net/file/d/4653/89uap282_jpg.htm
das ganze sollte so aussehen ,
(#3.Versuch#)define Sonos_Bad_PlayingCheck DOIF ([Sonos_Bad:transportState] eq "PLAYING") \
(set Sonos_Bad Play) DOELSE (set Sonos_Bad Pause)

aber wie baue ich das nun mit den Dashbutton zusammen  :-[


MadMax-FHEM

#407
Es geht nicht weil du alles mögliche durcheinander würfelst (so wie es für mich aussieht)...

Du hast Teile von DOIF (IF ELSE / so wie ich das verstehe) in einem notify das wird wohl so nicht gehen.

Und beim 2ten Versuch mit den if/else und $EVENT kann es nicht gehen da ja der Event vom DashButton kommt und sicher nicht play/pause sein wird.

Ich würde es wie folgt machen:

define DashButtonWilkinson notify DashButton01:50-xx-xx-xx-xx-f5..short {SchalteSonos()}

vorausgesetzt der notify triggert richtig...

Und dann in einer Sub https://wiki.fhem.de/wiki/99_myUtils_anlegen :


sub SchalteSonos()
{
if(ReadingsVal("Sonos_Bad", "state", "na") eq "play")
{
  {fhem("set Sonos_Bad pause")}
}
else
{
  {fhem("set Sonos_Bad play")}
}
}


Vors. der aktuelle Zustand (play/pause) ist in state vermerkt ansonsten anderes Reading (ReadingState??!!) nehmen und evtl. statt dem nackten else ein elsif und gegen play prüfen...

Und vergleichen halt immer mit dem was genau im Reading steht...
...weil sonst wird es natürlich nicht als eq/equal erkannt...

Oder halt ein reines DOIF (da weiß ich aber jetzt nicht wie)...
...oder das was in der sub steht in das notify packen (finde ich aber nicht so übersichtlich)...

Aber der code ist aus der Hüfte geschossen...
...also eher als Beispiel sehen und anpassen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Krossi

Hallo Joachim hiermit----
ZitatUnd dann in einer Sub https://wiki.fhem.de/wiki/99_myUtils_anlegen :
kenne ich mich noch gar nicht aus.
Habe jetzt dies Probiert
Zitatdefine DashButtonWilkinson notify DashButton01:50-xx-xx-xx-f5..short IF  {\ Sonos_Bad:transportState.*PLAYING { \
fhem "set Sonos_Bad Pause ; \
if Sonos_Bad:transportState.*(STOPPED|PAUSED_PLAYBACK) { \
fhem "set Sonos_Bad Play" \
                        } \
weiss aber nicht was daran verkehrt ist , und es nicht funktioniert.Bin halt noch irgendwie ein Anfänger :-[
Aber ich gebe mich noch nicht geschlagen  :-\
Und wenn ich einen Dashbutton komplett leer klicke bis es läuft.Alles nur weil die Frau nicht an den Sonos Player kommt , kann den ja nicht auf den Boden stellen  ;D ;D

MadMax-FHEM

#409
Anfänger hin oder her...
...man kann myUtils einbinden lernen...
...man kann wie ich geschrieben habe alles was in der sub steht auch ins notify packen (nicht übersichtlich wie ich finde) und warum mischst du weiterhin notify und DOIF-Konstrukte...

Lese doch erst mal wie was funktioniert und definiert wird z.B. commandref, wiki, ...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Krossi

#410
so habe das brett vorm kopp abgemacht und mal ganzzzzzzz einfach gedacht.
was soll ich sagen es funktioniert.
define Musik_dummy dummy
attr Musik_dummy eventMap Play Pause
attr Musik_dummy room Musik
attr Musik_dummy setList Play Pause

define not_Musik_dummy notify Musik_dummy:Play set Sonos_Bad Play
define not_Musik_dummy2 notify Musik_dummy:Pause set Sonos_Bad Pause

define DashButtonWilkinson notify DashButton01:xx-xx-xx-xx-xx-f5..short IF ([Musik_dummy] eq "Play") (set Musik_dummy Pause) ELSE (set Musik_dummy Play)

ist zwar nicht ganz fhem like , aber was solls  ::)
Somit habe ich 3 von 4 DashButton im einsatz. Der 4. ist nun für die Philips Hue gedacht , mal sehen ob das einfacher wird  :o

MadMax-FHEM

Geht doch, gratuliere!

Es geht sicher auch ohne dummy und mit nur einem notify... ;)
...aber: jeder wie er kann! Weil nur so weiß man (in etwa) was man tut...
...nur so lernt man was...

Verbessern/verschönern kann man immer noch...
...wenn man mehr gelernt hat...

Viel Spaß noch, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ArduPino

#412
Nur als Anmerkung. Das IF hat nichts mit DOIF zu tun und kann in einem notify und at verwendet werden.
Ich sehe auch, das einmal Play und Pause groß geschrieben wurde und im nächsten Versuch klein. Könnte sein, das es darauf auch ankommt, aber ich kenne Sonos nicht.

Edit: Ne mein Fehler, klein ist es nur im Beispiel von MadMaxFHEM

Gesendet von meinem Wileyfox Swift mit Tapatalk

szoller

Ists eigentlich möglich, statt dem integrierten Button einen Taster anzuschließen (Kabel anlöten)?

Wäre dann eine Option als Haustürklingel...  :D

ArduPino

Das Gehäuse ist wohl verklebt, soweit ich weiß. Also nicht so einfach. Ansonsten ist es sicher egal, ob der Kontakt mit dem jetzigen Druckknopf geschlossen wird oder mit einen anderen. Nur darf das kein Knopf sein, wie in älteren Klingeln und mal eben 8-15V Spannung anliegen haben. Ich glaube das wäre nicht gut für den Amazon Button :-)

Gesendet von meinem Wileyfox Swift mit Tapatalk

szoller

Neee, nur ein einzelner Taster.
Müsste mal schauen, ob ich so ein Teil in die Unterputzdose bekomme  :D

flynt

Tach... Hab auch ein kleines Prob mit dem notify. Der Button sendet auch fleißig an fhem und der short ändert das Datum.
Das notify schaltet jedoch nichts.


define DASH_KUECHE dash_dhcp
attr DASH_KUECHE allowed 88:71:E5:28:XX:XX
attr DASH_KUECHE port 6767
attr DASH_KUECHE room 04_Küche

define DASH_KUECHE_ACTION notify DASH_KUECHE:88-71-e5-28-XX-XX..short IF ([Play_Musik_KU] eq "off") (set Play_Musik_KU on) ELSE (set Play_Musik_KU off)


Auch wenn ich ein einfaches set hinter das short setzte passiert nix.

igami

Ich würde das pattern einfach als "DASH_KUECHE:.*short" schreiben, da es ja nur einen dash button im allowed gibt.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

flynt

Danke für die Antwort... hat funktioniert. 

igami

Zitat von: flynt am 07 April 2017, 19:44:36
Danke für die Antwort... hat funktioniert. 
Dann wahr vermutlich ein tippfehler oder so in der pattern ;)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED