Seit einiger Zeit besitze ich mehrere Fonera Gramofon als Spotify Connect Empfänger. Was leider an den Playern etwas nervig ist, dass diese keine Lautsprecher besitzen und somit am Kopfhörerausgang aktive Verstärkung brauchen. Dazu schalte ich die Lautsprecher via Funksteckdose ein. Wenn man also nun via Spotify Connect dann Musik auf den Player schickt, muss man zusätzlich die Lautsprecher einschalten. Via FHEM wollte ich das nun automatisieren – was mir nun mittels des Moduls HTTPMOD gelungen ist.
Hier ist die genutzte Definition nach meiner Device Namenskonvention. Folgendes ist zu beachten:
- In der ersten Zeile ist die IP auszutauschen (wahlweise kann man dort den DNS-Namen eintragen)
- Per default ist auf dem gramofon das Passwort „admin“ gesetzt, dies muss, sofern es geändert wurde, in der zweiten Zeile am Ende geändert werden.
- In der untenstehenden Definition wird der Gramofon alle 30 Sekunden nach dem aktuellen Status gefragt – dies kann man ebenso in der ersten Zeile ändern
- Weiterhin wird jede Stunde der Spotify-Name und der DNS-Name abgefragt
- Ist der Abruf mehr als 5 Minuten nicht erfolgt, so wechseln die Readings für color (Farbe der LED), mode und status (abspielen oder WifiStatus bei gestoppter Musik) auf „offline“
- Via set kann man den Gramofon rebooten
define KUE_HTM_GRAMOFON HTTPMOD http://192.168.1.2/api/$sid 30 attr KUE_HTM_GRAMOFON sid1Data {"jsonrpc":"2.0","id":63,"method":"call","params":["session","login",{"username":"admin","password":"admin" }]} attr KUE_HTM_GRAMOFON stateFormat status (color) attr KUE_HTM_GRAMOFON enableControlSet 1 attr KUE_HTM_GRAMOFON reAuthRegex -32002|.*Access Denied.*|.*Bad Request.* attr KUE_HTM_GRAMOFON sidHeader1 Content-Type: application/x-www-form-urlencoded;; charset=UTF-8 attr KUE_HTM_GRAMOFON sidHeader2 Accept: */* attr KUE_HTM_GRAMOFON sidHeader3 X-Requested-With: XMLHttpRequest attr KUE_HTM_GRAMOFON sidHeader4 Referer: http://%%internal_host%%/ attr KUE_HTM_GRAMOFON sid1URL http://%%internal_host%%/api/00000000000000000000000000000000 attr KUE_HTM_GRAMOFON sid1Data {"jsonrpc":"2.0","id":63,"method":"call","params":["session","login",{"username":"admin","password":"admin" }]} attr KUE_HTM_GRAMOFON sidIDRegex sid":[ \t]+"([\w\.]+)" attr KUE_HTM_GRAMOFON getURL http://%%internal_host%%/api/$sid attr KUE_HTM_GRAMOFON getHeader1 Content-Type: application/x-www-form-urlencoded;; charset=UTF-8 attr KUE_HTM_GRAMOFON getHeader2 Accept: */* attr KUE_HTM_GRAMOFON getHeader3 X-Requested-With: XMLHttpRequest attr KUE_HTM_GRAMOFON getHeader4 Referer: http://%%internal_host%%/ attr KUE_HTM_GRAMOFON requestHeader1 Content-Type: application/x-www-form-urlencoded;; charset=UTF-8 attr KUE_HTM_GRAMOFON requestHeader2 Accept: */* attr KUE_HTM_GRAMOFON requestHeader3 X-Requested-With: XMLHttpRequest attr KUE_HTM_GRAMOFON requestHeader4 Referer: http://%%internal_host%%/ attr KUE_HTM_GRAMOFON requestData {"jsonrpc":"2.0","id":81,"method":"call","params":["ledd","get",{"device_status":true}]} attr KUE_HTM_GRAMOFON replacement01Mode internal attr KUE_HTM_GRAMOFON replacement01Regex %%internal_host%% attr KUE_HTM_GRAMOFON replacement01Value host attr KUE_HTM_GRAMOFON reading01Name color attr KUE_HTM_GRAMOFON reading01JSON result_02_color attr KUE_HTM_GRAMOFON reading01MaxAge 300 attr KUE_HTM_GRAMOFON reading01MaxAgeReplacement offline attr KUE_HTM_GRAMOFON reading01MaxAgeReplacementMode text attr KUE_HTM_GRAMOFON reading02Name mode attr KUE_HTM_GRAMOFON reading02JSON result_02_mode attr KUE_HTM_GRAMOFON reading02MaxAge 300 attr KUE_HTM_GRAMOFON reading02MaxAgeReplacement offline attr KUE_HTM_GRAMOFON reading02MaxAgeReplacementMode text attr KUE_HTM_GRAMOFON reading03Name status attr KUE_HTM_GRAMOFON reading03JSON result_02_name attr KUE_HTM_GRAMOFON reading03MaxAge 300 attr KUE_HTM_GRAMOFON reading03MaxAgeReplacement offline attr KUE_HTM_GRAMOFON reading03MaxAgeReplacementMode text attr KUE_HTM_GRAMOFON get01Name spotifyname attr KUE_HTM_GRAMOFON get01Data {"jsonrpc":"2.0","id":6,"method":"call","params":["anet","get_gramofonname",{}]} attr KUE_HTM_GRAMOFON get01JSON result_02_spotifyname attr KUE_HTM_GRAMOFON get01Poll 1 attr KUE_HTM_GRAMOFON get01PollDelay 3600 attr KUE_HTM_GRAMOFON get02Name mdnsname attr KUE_HTM_GRAMOFON get02Data {"jsonrpc":"2.0","id":6,"method":"call","params":["anet","get_gramofonname",{}]} attr KUE_HTM_GRAMOFON get02JSON result_02_mdnsname attr KUE_HTM_GRAMOFON get02Poll 1 attr KUE_HTM_GRAMOFON get02PollDelay 3600 attr KUE_HTM_GRAMOFON set01Name reboot attr KUE_HTM_GRAMOFON set01Data {"jsonrpc":"2.0","id":14,"method":"call","params":["mfgd","reboot",{}]} attr KUE_HTM_GRAMOFON set01NoArg
Related posts:
- FHEM: Making of CUL V3
- FHEM update – Wie funktionieren Updates für Fehlerkorrekturen in FHEM?
- Extend devStateIcon in FHEM kurz erläutert
- MQTT für FHEM einrichten
- Lösung für FHEM 72_FRITZBOX.pm: ctlmgr_ctl: not found
This feed is for personal, non-commercial use only.
The use of this feed on other websites without attribution to the author and notification of the author breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint: d2a576b5311479d89eff39b7ca886f6b)