Aller au contenu

Openkarotz - Module Virtuel


Steven

Messages recommandés

Si comme moi, vous aimez bien surprendre, j'ai modifié le code de mon bouton "TTS" afin qu'il change aléatoirement de voix.

 

La voix par défaut est "Alice" mais si dans mon message il y a une * (astérix) alors le système tire une voix au hasard.

 

Voici le code de remplacement pour le bouton TTS

local ip_module = fibaro:get(fibaro:getSelfId(), "IPAddress")
local port = fibaro:get(fibaro:getSelfId(), "TCPPort")

local voices = {"alice", "claire", "julie", "margaux", "antoine", "bruno"}
local voice = voices[1]

local msg = fibaro:getGlobal("Karotz")

if (msg ~= "") then
  	if (string.find(msg, "\*")) then
      	msg = msg:gsub("\*", "")
      	math.randomseed(os.time())
        voice = voices[math.random(#voices)]
    end  
	Karotz = Net.FHttp(ip_module, port)
	response = Karotz:GET("/cgi-bin/tts?voice="..voice.."&text="..msg:gsub(" ", "+").."&nocache=0")
    
    if (string.find(response, "return\":\"0")) then
        fibaro:log("OK")
    else
        fibaro:debug("ERROR")
    end
end

 

Après cela si vous faite 

 

fibaro:setGlobal("Karotz", "Boujour tout le monde") -- Vous aurez la voix d'Alice

fibaro:setGlobal("Karotz", "*Boujour tout le monde") -- Vous aurez une voix au hasard

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

GEA et OpenKarotz MV   :60:

 

Perso, j'adore

 

Merci encore à  @Massalia d'avoir rendu cela possible

-- Karotz
-- On le réveille à  7h00
GEA.add({"Global", "", ""}, 30, "", {{"VirtualDevice", id["VD_KAROTZ"], "21"},{"Time", "07:00", "07:05"}})
-- On éteint la led quand on regarde la TV (on met toutes les couleurs à  0)
GEA.add(id["TV"], 30, "", {{"Slider", id["VD_KAROTZ"], "9", "0"},{"Slider", id["VD_KAROTZ"], "10", "0"},{"Slider", id["VD_KAROTZ"], "11", "0"}})
-- On rallume la led 1 minute après l'extinction de la TV
GEA.add(id["TV"], 60, "", {{"Inverse"}, {"VirtualDevice", id["VD_KAROTZ"], "14"}})
-- On le couche à  23h30
GEA.add({"Global", "", ""}, 30, "", {{"VirtualDevice", id["VD_KAROTZ"], "20"},{"Time", "23:30", "23:35"}})
-- Usage immédiat. La porte du garage s'ouvre, mon Karotz m'averti et ses oreilles basculent en direction du garage
GEA.add( id["DETECTEUR_GARAGE"], -1, "", {{"Global", "Karotz", "La porte du garage est ouverte"},{"VirtualDevice", id["VD_KAROTZ"],"1"},{"Slider", id["VD_KAROTZ"], "4", "65"},{"Slider", id["VD_KAROTZ"], "5", "65"}})
-- reset des oreilles à  la fermeture du garage
GEA.add( id["DETECTEUR_GARAGE"], -1, "", {{"Inverse"}, {"VirtualDevice", id["VD_KAROTZ"], "7"}})

Lien vers le commentaire
Partager sur d’autres sites

J'ai une piste pour avoir des Rongeurs neufs, j'ai trouvé du stock chez un revendeur.

 

Si ca vous intéresse envoyez moi un MP, on peut tenter la commande groupée.

Modifié par Massalia
  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

Merci pour ce module! Par contre pour la caméra ça ne fonctionne pas chez moi, pourtant j'ai indiqué les paramètres de Steven, même avec une redirection de port comme pour ma foscam ça coince. Comment l'avez vous paramétré?

Lien vers le commentaire
Partager sur d’autres sites

Transformer votre Karotz en thermomètre de couleur grâce à  ce module virtuel et la scène ci-dessous.

 

Lorsque la LED est complètement verte c'est que la température remontée par votre capteur est égale à  la température de confort que vous avez indiqué dans ce scénario.

 

Exemple pour moi 21° c'et parfait .... donc à  21° la LED est verte.

Plus il fait chaud plus la LED passe au rouge et plus il fait froid plus elle passe au bleu. J'utilise un palier de 10% par degré (configurable) ainsi la LED sera complètement rouge à  31° et complètement bleu à  11°.

 

Pour l'installer :

 

Créer une scène en mode LUA, coller le code ci-dessous, renseigner les premières lignes (id du MV OpenKarotz, id de votre capteur de température, ...)

--[[
%% autostart
%% properties
%% globals
--]]
if (not ThermoKarotz) then

	ThermoKarotz = {}
	
	ThermoKarotz.OpenKarotzVD = 29
	ThermoKarotz.CapteurTemperature = 86
  	ThermoKarotz.tempConfort = 21 -- Température de confort
	ThermoKarotz.stepForOneDegre = 10 -- 10 pourcent par degrée de différence
	
	ThermoKarotz.getTemp = function() 
    	return tonumber(fibaro:getValue(ThermoKarotz.CapteurTemperature, "value"))
		--return tonumber(fibaro:getValue(43, "ui.tempExterieur.value"))
	end
	
	ThermoKarotz.setColor = function(temp)
	
		local red = 0
		local green = 100
		local blue = 0
		
		local diff = math.abs(temp - ThermoKarotz.tempConfort)
		local pourcent = diff * ThermoKarotz.stepForOneDegre
		green = green - pourcent
		if (temp > ThermoKarotz.tempConfort) then
			red = pourcent
		else
			blue = pourcent
		end
		fibaro:call(ThermoKarotz.OpenKarotzVD, "setProperty", "ui.SliderGreen.value", green)
		fibaro:call(ThermoKarotz.OpenKarotzVD, "setProperty", "ui.SliderRed.value", red)
		fibaro:call(ThermoKarotz.OpenKarotzVD, "setProperty", "ui.SliderBlue.value", blue)
		fibaro:call(ThermoKarotz.OpenKarotzVD, "setProperty", "ui.SliderSpeed.value", 30)
		fibaro:call(ThermoKarotz.OpenKarotzVD, "pressButton", 13)
		
	end
	
end
if  fibaro:getSourceTrigger()["type"] == "autostart" then
	while true do
		local tmp = ThermoKarotz.getTemp()
		ThermoKarotz.setColor(tmp)
    	        fibaro:sleep(5*60*1000)
 	end
else
  local tmp = ThermoKarotz.getTemp()
  ThermoKarotz.setColor(tmp)
end
 

 Amusez-vous bien.

  • Upvote 4
Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...
Oui c'est vrai que cette scène est une super idée (merci encore Steven). Pour ma part, je l'utilise pour avoir une idée de la température extérieure :)

 

Au fait pour que la scène fonctionne il faut ajouter un "t" à  "autosart" (ligne 44 dans le code du forum mais ligne 43 sur la HC après le copier/coller) pour que la scène se lance toutes les 5 minutes.

 

@Steven : Je te soupçonne de mettre des coquilles volontaires... pour vérifier que tout le monde suit ...   :P 

Lien vers le commentaire
Partager sur d’autres sites

@JossAlf

Même pas fait exprès. Je n'utilise pas le mode autostart mais GEA. Sinon, je pense que j'aurais repérer l'erreur :)

Désolé ... Par contre je retiens l'idée de la coquille pour mon prochain scénario :)

@Massalia

Tu API me permet :

De savoir toutes les 10mn si ma porte de garage est ouverte.

La température extérieur.

Allumer/Éteindre la télé.

Photo en cas d'alerte.

...

Bef ... tu as fais du Karotz un vrai outil domotique. Alors un grand merci.

Lien vers le commentaire
Partager sur d’autres sites

Bon, j'ai reçu mon lapin ce week-end et impossible de le faire fonctionner.

 

Je ne suis même pas à  l'installation d'OpenKarotz, j'essaye en vain d'initialiser le Lapin.

 

Je suis à  la lettre la procédure OpenKarotz, rien n'y fait, impossible d'installer le firmware, se bloque en rose.

 

- Réinitialisation du lapin > ok

- Création du firmware via clef usb ok, j'ai bien mis mes bons paramètres wifi ( essayé en DCHP ou Fixe ).

- Ensuite après redémarrage avec cette clef (fat32), le lapin me dit "qu'il n'a pas pu installé le logiciel, réessayer"...

 

J'ai essayer un vingtaine de fois, en rapprochant le lapin de la freebox, en attribuant une ip fixe, en changeant de type de wifi ( je suis en wpa2, passé en wpa ou wep ) , j'ai même essayé avec l'installateur...rien y fait...

 

 

Si quelqu'un a une idée, je veux bien car là  je vois plus!

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...