NEWS
Volumio adapter?
-
if(getState('ping.<instance>.<iobrokerHostName>.' + Volumios[ID_Volumio] + '.alive').val){
Das .val ist an falscher stelle. Da wäre ein Syntax highlighting im Forum ganz nett
-
@muellerra
wollte schon am rad drehn. hab ich gestern abend echt nicht mehr mitbekommen. näxter fault dann, hab iobroker getippt statt ioBroker. logischer weise selber fehler.
okido, die 3 scripte laufen jetzt. jetzt kann ich mich um iQontrol kümmern... -
@da_woody das freut mich
Viel Spaß mit dem Skript -
@muellerra jup!
auch schon bißchen in iQontrol gefummelt.
-
Mir kam grad noch in den Sinn, das der im Skript angelegte
javascript.0.Allgemeine_Variablen.Player.Volumio_Player_<VolumioID>.playbackInfo.statusIncomingCall
Datenpunkt durchaus sinnvoll in Verwendung ist. Ich verwende ihn als Merker für den Play/Pause Status. So werden dann z.b. bei einem aus- oder eingehendem Anruf (über Fritz!Box) alle spielenden Volumios pausiert und nach dem auflegen wieder fortgesetzt. Volumios die nicht spielen werden nicht angesteuert. Bei Playern im Multiroomverbund, wird nur der sendende Volumio getriggert.
Die im Ursprungspost geposteten globalen Funktionen werden vorausgesetzt:@muellerra sagte in Volumio adapter?:
und hier noch weitere, vllt nützliche, Funktionen (bei mir global definiert)
function getVolumiosReceiving(VolumiosReceiving,ReturnID){ usw...
var ID_Ringing = "tr-064.0.callmonitor.ringing" var ID_PhoneStatus = "tr-064.0.callmonitor.toPauseState" // connected, end(wenn nichts ist), ring var FolderVolumio = 'javascript.0.Allgemeine_Variablen.Player.Volumio_Player_' on({id: ID_PhoneStatus, change: 'ne'}, function (obj) { var value = obj.state.val; var timestamp = obj.state.ts; var oldValue = obj.oldState.val var Verursacher = obj.id; var VolumiosStatus = getVolumiosStatus([]) var ReceivingVolumiosIDs = getVolumiosReceiving([],true) if(value != 'end' && value != 'connect'){ // connect da sonst nichts ausgeführt wird, wenn der angenommene anruf beendet wird //Aktionen die passieren, wenn jemand anruft oder jemand im gespräch ist //Volumios auf Pause var PlayingVolumiosIDs = getVolumiosPlaying([],true) log(ReceivingVolumiosIDs) for(var iop in VolumiosStatus){ setState(FolderVolumio + iop + '.playbackInfo.statusIncomingCall',VolumiosStatus[iop]) //nur pis die nicht empfangen auf pause setzen, der rest erledigt sich von alleine if(ReceivingVolumiosIDs.indexOf(String(iop)) != -1 ){ // pi empfängt }else{ // pi empfängt nicht setState(FolderVolumio + iop + '.control.pause',true) } } } if(value == 'end' && oldValue != 'end'){ // aktionen, wenn aufgelegt wird oder das telefon nicht mehr klingelt //Volumios auf Play, wenn sie vorher pausiert wurden for(var xbf in VolumiosStatus){ var VolumioStatusHistoric = getState(FolderVolumio + xbf + '.playbackInfo.statusIncomingCall').val if(VolumioStatusHistoric == 'play' || VolumioStatusHistoric == "play"){ // hier aber aich nur die die nicht receiven! //nur pis die nicht empfangen auf play setzen, bzw toggeln if(ReceivingVolumiosIDs.indexOf(String(xbf)) != -1 ){ // pi empfängt }else{ // pi empfängt nicht setState(FolderVolumio + xbf + '.PlayPause',true) //toogle, da play multiroom killt wenn multiroom aktiv ist... } } } } });
-
@muellerra nicht schlecht!
was mir noch gefallen würde, favoriten, sender und co. auswahl... -
@da_woody Gute Idee!, den Use Case hab ich bei mir aber tatsächlich nicht, daher hab ich es auch nicht implementiert. Darf gerne jemand anders übernehmen
-
Wenn ich das hier grob überfliege dann geht es schon länger nicht mehr um den VOLUMIO ADAPTER sondern um eine Skript das ihn - wenn ichs richtig sehe - ersetzt.
Könnte hier jemand klarstellen, ob der Adapter:
https://github.com/a-i-ks/ioBroker.volumio
nun brauchbar ist (mit Einschränkungen) oder derzeit bereits ein Totalausfall?Es gibt zwar ein Issue dazu (https://github.com/a-i-ks/ioBroker.volumio/issues/12) aber so richtig klar ist (mir) nicht ob es da um ein Einzelproblem handelt oder nicht,
Auf was ich raus will:
Wenn der Adapter zu 99% nicht mehr unfktioniert würde ich / sollte man ein Issue mit einem gewissen Timeout erstellen. Und anschließend den Adapter zumindest mal aus dem Stable Repo nehmen.Das kann und will ich aber nicht tun, nur weil er ev bei einigen wenigen Installationen zickt. Ich brächte also eher klare Aussagen. EV. kann auch wer der Probleme nachvollziehen kann im referenzierten Issue nachfrage und / oder wenn das besser passt ein neues Issue anlegen.
Danke
-
@mcm57 naja, länger ist relativ. ich bin mit besagtem adapter nicht zurecht gekommen und hat mir immer wieder probleme gemacht. ja, die scripte ersetzen den adapter komplett.
da du mein issue erwähnst. nuja, nicht wirklich was verändert, auch wenn da was gemacht wurde.
im moment komm ich mit den scripten von @muellerra (trotz meiner unfähigkeit mit JS) gut zurecht.
vllt könnte man das mal in einen "neuen" adapter gießen?edith ist da: wie gesagt, für mich ist das reine spielerei. so ein mugge geschichtel mit alexa würe mir mehr wert bringen. die beschreibung im iQontrol wiki ist auch nicht mehr up2date. zumindest klapperts bei mir nicht mehr.
-
Hallo Leute, der Volumio Adapter ist jetzt gefixt. Entschuldigt, dass es so lange gedauert hat. Der aktuelle master Stand auf Github kann noch bis Samstag Abend getestet werden. Danach veröffentliche ich ihn offiziell in v0.2.0.
-
@a-i-ks na Mal schauen. Wollte seit Tagen den Raspberry schon zusätzlich in der Werkstatt rein operieren.
Alexa klappt ja so. Allerdings hab ich auch Boxen hängen. Muss ich nur noch Adapter für die Mini Klinke basteln.