har gjort en integrering av nya Musaic player till Fibaro HC2 och här är resultatet.
Vad är då en Musaic player tänker ni?
Den är ny spelare för att streama musik från radio stationer på internet, ditt lokala nätverk såsom NAS, UPnP/DLNA, NAS, PC, MAC mm. Finns även en del streaming tjänster såsom Spotify mm.
Musaic MP5 är modellen jag testat och den är den mindre varianten som passar perfekt i mindre rum. Har testat att "kräma" på lite ljud och den ger verkligen ett bra ljud.
Har även kopplat den till en Samsung TV genom Bluetooth funktionen och kan då få ut ljudet direkt utan att ha en massa kablar kopplade mellan enheterna. Riktigt bra!
Men ska man ha tex TV'n kopplad och få ett bra bioljud så ska man nog gå upp ett steg till MP10 som enligt tester hamnat strax före Sonos Play:5 modell.
Även priset är en faktor som tilltalar Musaic för Sonos då MP10 modell är ca 600kr lägre.
Läs mer om här Musaic http://www.musaic.com/en-wo/
Den virtuell enhet jag skapat kan kontrollera det mesta som går att göra i Musaic's egen app då det finns ett API man kan access och utnyttja. Ändra IP men lämna porten som den är på 46000 Kräver även en scen då all kontroll ej går att göra via en virtuell enhet. Scenen skapar dom variabler som behövs.
Code: Select all
--[[
%% autostart
%% properties
%% events
%% globals
musaicCommand
musaicTTS
--]]
--[[
-----------------------------------------
--- MUSAIC SCENE CONTROL
-----------------------------------------
--- Copyright © 2016 Jonny Larsson - @jompa68
--- Version = 0.0.1
--- DESCRIPTION --------------------------
The scene creates variables automatically.
When variables changes, the scene is triggered,
and sends values to your Musaic players.
Supports TTS. Triggers when musaicTTS variable
is changed. You can of course add stuff to
TTS variable also from other scenes or vd's.
--]]
--- USER SETUP SECTION--------------------
local TTSlanguage = "sv-se"
------------------------------------------
startSource = fibaro:getSourceTrigger()
Debug = function ( color, message )
fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span"));
end
function createGlobalIfNotExists(varName, defaultValue)
if (fibaro:getGlobal(varName) == nil) then
Debug("red", "You are missing some variables, hold on i will create them for you")
Debug("cyan", "Creating the variable: "..varName.." with value: "..defaultValue)
newVar = {}
newVar.name = varName
newVar.value = defaultValue
local http = net.HTTPClient()
http:request("http://127.0.0.1:11111/api/globalVariables", { options = { method = 'POST', data = json.encode(newVar)}})
end
end
function musaicCommand(json)
local http = net.HTTPClient()
jsonData = json
http:request('http://192.168.0.100:46000/api/speaker',{
options = {
method = "PUT",
data = jsonData,
headers = {
[ 'Content-Type' ] = 'application/json'
}
},
});
end
createGlobalIfNotExists("musaicCommand","")
createGlobalIfNotExists("musaicTTS","Test of message")
if ( startSource["type"] == "global" and startSource["name"] == "musaicCommand") then
musaicCommand(fibaro:getGlobal("musaicCommand"))
end
if ( startSource["type"] == "global" and startSource["name"] == "musaicTTS") then
txtValue = fibaro:getGlobalValue("musaicTTS")
fibaro:setGlobal("musaicCommand", '{ "text_to_speech":{ "volume":100, "title":"MusaicMessage","text":"'..txtValue..'", "locality":"'..TTSlanguage..'", "clear_queue": true}}')
Debug("cyan", "Sending your TTS to your MUSAIC player")
end