[VD] + [SCENE] - Musaic Player

Post Reply
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
11
Location: Hofors

Hej hej

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.
Skärmavbild 2016-12-17 kl. 22.24.01.png
Ändra IP men lämna porten som den är på 46000
Screenshot_3.png
VirtualDevice-35-ID393-Musaic VD.vfib.zip
(2.2 KiB) Downloaded 535 times
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

ekensweden
Medlem
Posts: 102
Joined: 01 Jan 2014, 18:10
10

funkar kanon mycket bra jobb från dig :D
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
11
Location: Hofors

ekensweden wrote:funkar kanon mycket bra jobb från dig :D
Tackar ödmjukast :D
Post Reply