Squeezebox-Modul - Steuerung im Floorplan?

Begonnen von bsl02, 08 Dezember 2014, 02:45:55

Vorheriges Thema - Nächstes Thema

bsl02

Hallo,
bin leicht gefrustet und komme seit langem nicht voran:
Hat jemand die Steuerung des Squeezebox-Moduls in einen Floorplan integriert und lässt mich abkupfern?

Ich habe hier 3 Player (RPi etc.)
Im Floorplan hätte ich sie gern untereinander (ReadingsGroup?) jeweils mit den Kommandos
z.B. play / stop / pause / prev(ious) / favorites (Auswahl-Liste) / volume (Slider) / sync (Auswahl-Liste) / unsync

Möchte im Bad ein altes Android-Handy (Galaxy S1, später Tablet) zur Steuerung aufhängen...
Ggfs. würde ich auch Chips und saisongerechte Getränke sponsern ;-)
RPi3 (FHEM) / CUL V3 868 (FS20) / nanoCUL868 (HM) / RFXtrx433 (IT & ELRO) / MAX!Cube (Thermostate, Fenster) / Bluetooth (presence Handy) / Sonoff mit Tasmota // Audio: RPi3 mit "max2play"-Image (Squeezeserver+Player) / Video: Synology-NAS mit TVheadend, Triax TSS400 Sat-IP Converter

Kakaomonster

Hallo bsl02,

dein plan gefällt mir (handy auf gäste wc), sollte uns also jemand behilflich seinwürde auch ich mich freuen. derweilen versuche ich mich weiter daran es im fp zu integrieren das es auch schön aussieht....
FHEM auf Raspi m.12cm Antenne, BBB als Server für Zusatz (apache,php,sql)
1 USB CUL/RAW (ReadAnswer):  V 1.61
2 MAX Thermostate, 1 MAX Wanthermostast
1 FHT8V Thermostat, Schaltaktoren,Bewegungsmelder, Wandtatser Elro & IT
1 HMT 360, 4 7"Tablets, FB 7490

bsl02

Hallo Kakaomonster,

im Floorplan kann ich auf FHEM-Port 8083 die Lautstärke-Slider bedienen. Auf dem Handy/Tablet (hier Port 8085) jedoch nicht ;-(
Komme also noch nicht weiter.

Gruß, Stefan
RPi3 (FHEM) / CUL V3 868 (FS20) / nanoCUL868 (HM) / RFXtrx433 (IT & ELRO) / MAX!Cube (Thermostate, Fenster) / Bluetooth (presence Handy) / Sonoff mit Tasmota // Audio: RPi3 mit "max2play"-Image (Squeezeserver+Player) / Video: Synology-NAS mit TVheadend, Triax TSS400 Sat-IP Converter

Kakaomonster

Hallo Stefan,

wie hast Du es hinbekommen, dass es im FP klappt?
Grüsse, Ralf
FHEM auf Raspi m.12cm Antenne, BBB als Server für Zusatz (apache,php,sql)
1 USB CUL/RAW (ReadAnswer):  V 1.61
2 MAX Thermostate, 1 MAX Wanthermostast
1 FHT8V Thermostat, Schaltaktoren,Bewegungsmelder, Wandtatser Elro & IT
1 HMT 360, 4 7"Tablets, FB 7490

bsl02

Hi,

auf dem Floorplan bei mir geht der Slider aber nur unter dem FHEM-Port 8083.
Hier geht nicht Port 8085 (stylesheetPrefix: darktouchpad). Keine Ahnung, ob es daran liegt.

Den SB-Server hast Du ja wohl schon definiert,
hier beigefügt die Definition für einen SB-Player.

Mit der letzten Zeile arbeite ich dann auf dem Floorplan.
Anmerkung zur letzten Zeile:
favorites bslRadios150106
Ich  habe Favoriten auf dem SBServer gespeichert unter dem Namen "bslRadios150106". Die können damit aufgerufen werden.


## Musterdefinition SqueezePlayer
define 066.FMsender.piCoPlay SB_PLAYER b8:27:eb:00:86:c0
attr 066.FMsender.piCoPlay IODev max2play.SqueezeServer.130
attr 066.FMsender.piCoPlay amplifier play
attr 066.FMsender.piCoPlay comment 066.FMsender.piCoPlay
attr 066.FMsender.piCoPlay coverartheight 50
attr 066.FMsender.piCoPlay coverartwidth 50
attr 066.FMsender.piCoPlay donotnotify true
attr 066.FMsender.piCoPlay eventMap /cliraw sync Bad:SyncBadEG/cliraw sync -:UnSync/
attr 066.FMsender.piCoPlay fadeinsecs 5
attr 066.FMsender.piCoPlay fp_50_Audio2 122,278,2,
attr 066.FMsender.piCoPlay icon bsl_Icons/LogitechMediaServer
attr 066.FMsender.piCoPlay idismac true
attr 066.FMsender.piCoPlay room SB_PLAYER
attr 066.FMsender.piCoPlay serverautoon true
attr 066.FMsender.piCoPlay ttslanguage de
attr 066.FMsender.piCoPlay ttslink http://translate.google.com/translate_tts?ie=UTF-8
attr 066.FMsender.piCoPlay userReadings favorites
attr 066.FMsender.piCoPlay volumeLimit 100
attr 066.FMsender.piCoPlay volumeStep 10
attr 066.FMsender.piCoPlay webCmd play:stop:pause:next:prev:volume:favorites bslRadios150106


Optimal für den Floorplan wäre eine ReadingsGroup mit Lautstärke-Slider. Kannst ja mal testen ;-)

Gruß, Stefan
RPi3 (FHEM) / CUL V3 868 (FS20) / nanoCUL868 (HM) / RFXtrx433 (IT & ELRO) / MAX!Cube (Thermostate, Fenster) / Bluetooth (presence Handy) / Sonoff mit Tasmota // Audio: RPi3 mit "max2play"-Image (Squeezeserver+Player) / Video: Synology-NAS mit TVheadend, Triax TSS400 Sat-IP Converter

joginet

#5
Auch mal ne kurze Frage zur Squeezebox im Floorplan:
Ich bastle gerade daran und stosse aktuell auf das Problem, dass das devStateIcon eines SB_Players sich
immer nur nach refresh/reload der browserseite aktualisiert. Alle anderen dummys auf dem selben FP übertragen Ihren
Status direkt auf Ihr icon, nur beim Player geht das nicht. Longpoll ist aktiviert.
Hat jemand einen Tipp?

Gruß, Jochen

PS: Wenn ich 2x a.d. dummy klicke ändert sich der Status !  (???)

Edit: sehe gerade - im FHEM webfrontend ist es das selbe Problem - beim 1. Klick passiert nichts, beim 2. schaltet das icon um.
Aber: set Mein_Player on bzw. off über die Befehlszeile geht sofort
Meine Konfig: FHEM auf NUC i5 mit Mint, HM-LAN, div. HM Schalter und Heizungsthermostate, FB 6840LTE mit Dect200, HUE bridge, HUE bulbs + Lightstrips, VU+Duo2 und Philips-TV Steuerung, Pushmail, Floorplan, Sprachsteuerung + Feedback per Arduino mit MOVI-Shield, LMS Multiroom mit 7x Pi

rippi46

Hallo

ich hab es schon vor längerer Zeit so umgesetzt:
vielleicht hilft das ja.

define BadSound dummy
attr BadSound group Sound
attr BadSound room Bad,Sound
attr BadSound setList state:slider,0,1,100
attr BadSound webCmd play:pause:stop:next:back:state
define BadSound_ntfy notify BadSound:.* {\
    my $v=Value("BadSound");;\
    my $server='http://192.168.178.69:9000';;\
    my $player="&player=b8:27:eb:fc:e9:26";;\
    my $bef1="/status.html?p0=play";;\
    my $bef2="/status.html?p0=pause";;\
    my $bef3="/status.html?p0=mixer&p1=volume&p2=$v";;\
    my $bef4="/status.html?p0=stop";;\
    my $bef5="/status.html?p0=playlist&p1=jump&p2=+1";;\
    my $bef6="/status.html?p0=playlist&p1=jump&p2=-1";;\
    if ($v eq "play") {GetFileFromURL "$server$bef1$player"};;\
    if ($v eq "pause") {GetFileFromURL "$server$bef2$player"};;\
    if ($v eq "stop") {GetFileFromURL "$server$bef4$player"};;\
    if ($v eq "next") {GetFileFromURL "$server$bef5$player"};;\
    if ($v eq "back") {GetFileFromURL "$server$bef6$player"};;\
    if ($v > "0") {fhem "set SB_PLAYER_b827ebfce926 volume $v"};;\
    }

FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

joginet

Oh, das käme mir jetzt in die Quere - ich bin doch schon fast fertig  ;D

Volumeslider & Favoriten-Liste habe ich über webcmd, Sync. über dummys, Play/Stop/<</>> über remotecontrol (itunes layout).
Mir fehlt nur noch das Aktualiseren des devStateIcons, ich mag das nicht nochmal zerpflücken  :)

Gruß, Jochen
Meine Konfig: FHEM auf NUC i5 mit Mint, HM-LAN, div. HM Schalter und Heizungsthermostate, FB 6840LTE mit Dect200, HUE bridge, HUE bulbs + Lightstrips, VU+Duo2 und Philips-TV Steuerung, Pushmail, Floorplan, Sprachsteuerung + Feedback per Arduino mit MOVI-Shield, LMS Multiroom mit 7x Pi

rippi46

Zitat von: rippi46 am 18 April 2015, 20:20:29
Hallo

ich hab es schon vor längerer Zeit so umgesetzt:
vielleicht hilft das ja.

define BadSound dummy
attr BadSound group Sound
attr BadSound room Bad,Sound
attr BadSound setList state:slider,0,1,100
attr BadSound webCmd play:pause:stop:next:back:state
define BadSound_ntfy notify BadSound:.* {\
    my $v=Value("BadSound");;\
    my $server='http://192.168.178.69:9000';;\
    my $player="&player=b8:27:eb:fc:e9:26";;\
    my $bef1="/status.html?p0=play";;\
    my $bef2="/status.html?p0=pause";;\
    my $bef3="/status.html?p0=mixer&p1=volume&p2=$v";;\
    my $bef4="/status.html?p0=stop";;\
    my $bef5="/status.html?p0=playlist&p1=jump&p2=+1";;\
    my $bef6="/status.html?p0=playlist&p1=jump&p2=-1";;\
    if ($v eq "play") {GetFileFromURL "$server$bef1$player"};;\
    if ($v eq "pause") {GetFileFromURL "$server$bef2$player"};;\
    if ($v eq "stop") {GetFileFromURL "$server$bef4$player"};;\
    if ($v eq "next") {GetFileFromURL "$server$bef5$player"};;\
    if ($v eq "back") {GetFileFromURL "$server$bef6$player"};;\
    if ($v > "0") {fhem "set SB_PLAYER_b827ebfce926 volume $v"};;\
    }


Habs wahrscheinlich überlesen. Ihr wolltet das ja im Floorplan mache!!
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

joginet

ZitatAuch mal ne kurze Frage zur Squeezebox im Floorplan:
Ich bastle gerade daran und stosse aktuell auf das Problem, dass das devStateIcon eines SB_Players sich
immer nur nach refresh/reload der browserseite aktualisiert. Alle anderen dummys auf dem selben FP übertragen Ihren
Status direkt auf Ihr icon, nur beim Player geht das nicht. Longpoll ist aktiviert.
Hat jemand einen Tipp?

Hab' mir einen dummy/ein notify davor gehängt. Wenn ich in das notify den Schaltbefehl auf Perl-Ebene einfüge,
dann geht alles sofort und wie gewünscht - das devStateIcon sowie der Schaltzustand ändern sich sofort:

{fhem('set Mein_SB_PLAYER on')}

Das Zusatz-Notify ist eh besser für mich, da ich zusätzlich noch HM-Schalter für meine Audioverstärker/Aktivboxen schalten möchte.
Also: Problem (für mich) gelöst.

Gruß, Jochen
Meine Konfig: FHEM auf NUC i5 mit Mint, HM-LAN, div. HM Schalter und Heizungsthermostate, FB 6840LTE mit Dect200, HUE bridge, HUE bulbs + Lightstrips, VU+Duo2 und Philips-TV Steuerung, Pushmail, Floorplan, Sprachsteuerung + Feedback per Arduino mit MOVI-Shield, LMS Multiroom mit 7x Pi

joginet

Edit: Hmm - merkwürdige Sache:

wenn ich in dieses notify (mit PERL-Klammern) noch einen Schaltbefehl für einen HM-Hardwareswitch einfüge,
dann regiert dieser invertiert - d.h. bei "on" schaltet der aus und bei "off" an. Was mache ich falsch?


Mein_Dummy:off {fhem('set Mein_SB_PLAYER off')};set HM_Schalter on

geht, aber


Mein_Dummy:off {fhem('set Mein_SB_PLAYER off')};set HM_Schalter off


schaltet ein statt aus. Fragen über Fragen...
Meine Konfig: FHEM auf NUC i5 mit Mint, HM-LAN, div. HM Schalter und Heizungsthermostate, FB 6840LTE mit Dect200, HUE bridge, HUE bulbs + Lightstrips, VU+Duo2 und Philips-TV Steuerung, Pushmail, Floorplan, Sprachsteuerung + Feedback per Arduino mit MOVI-Shield, LMS Multiroom mit 7x Pi

kvo1

Hallo Jochen,

ich habe ähnliche Probleme mit dem refresh des  devStateIcon auch schon fhemweb. Habe das so definiert

attr squeeze_pi3 webCmd on:off:pause:play

Wenn ich z.b. auf  "on" drücke, ändert sich das Icon nicht , nach einem Browserrefresh ist die Änderung da.

aber

Wenn ich 2 x auf  "on" drücke, dann ändert sich devStateIcon !

Wie bei Dir , alle anderen devStateIcon´s ändern sich sofort !
Vielleicht liegt es doch am SB_Player

kvo1

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

ChrisD

Hallo,

Eventuell liegt das Problem beim Attribut 'donotnotify' beim Player. Wenn es auf 'true' steht (Default) gibt es keine Events und damit auch keine automatische Aktualisierung. Könnt ihr versuchen das Attribut auf 'false' zu setzen ?

Grüße,

ChrisD

joginet

ZitatEventuell liegt das Problem beim Attribut 'donotnotify' beim Player

Ah - ok. Donotnotify ist bei mir auf "true".
Allerdings: ich habe das gerade anders lösen können.
Ich habe per DOIF den Event des SB_PLAYERS getriggert, nicht den state. Jetzt geht alles. So richtig verstanden habe allerdings nicht, warum.
Jetzt wird - über meine sync-dummies jeweils der Verstärker mit eingeschaltet, wenn ein Squeezbox-Client der sync-Gruppe
hinzugefügt wird. (Ich stelle das hier nochmal komplett vor, wenn alles läuft)

define JNSKuechePower dummy
attr JNSKuechePower room SB_PLAYER
attr JNSKuechePower setList on off
attr JNSKuechePower devStateIcon off:mroom_kueche.off.png on:mroom_kueche.on.png
define JNSKuechePowerAn notify JNSKuechePower:on {fhem('set KuecheAudio on')};;set JogiNetAudio5Power off
define JNSKuechePowerAUS notify JNSKuechePower:off {fhem('set KuecheAudio off')};;set JogiNetAudio5Power on
define KuecheStateSet DOIF ([KuecheAudio:?off]) (set JNSKuechePower off) DOELSEIF ([KuecheAudio:?on]) (set JNSKuechePower on)
attr KuecheStateSet room SB_PLAYER


Gruß, Jochen
Meine Konfig: FHEM auf NUC i5 mit Mint, HM-LAN, div. HM Schalter und Heizungsthermostate, FB 6840LTE mit Dect200, HUE bridge, HUE bulbs + Lightstrips, VU+Duo2 und Philips-TV Steuerung, Pushmail, Floorplan, Sprachsteuerung + Feedback per Arduino mit MOVI-Shield, LMS Multiroom mit 7x Pi

kvo1

Zitat von: ChrisD am 19 April 2015, 11:08:33
Hallo,

Eventuell liegt das Problem beim Attribut 'donotnotify' beim Player. Wenn es auf 'true' steht (Default) gibt es keine Events und damit auch keine automatische Aktualisierung. Könnt ihr versuchen das Attribut auf 'false' zu setzen ?

Grüße,

ChrisD

Hi ChrisD,
das war´s , danke !
Hat das Attribut  'donotnotify'  irgend welche Anderen Auswirkung !

kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB