Page 1 sur 1

[Tuto] Voir la température de votre habitation dans XBMC

Publié : 26 janv. 2016, 13:27
par fabd
Hello tout le monde,

Je ne sais pas si cela peut vous etre utile, mais perso j'ai besoin d'un moyen simple et efficace pour voir la temperature dans les pieces (surtout celle du petit).

Comme je n'ai pas envie de consulter ma tablette et que la TV est (trop) souvent allumé, je me suis dis que j'allais utilisé les Flux RSS qui sont affichés en continu sur mon XBMC pour faire défiler les températures de la maison.

Le fonctionnement repose sur :
- un script powershell qui recupere les données via API et les envoye dans un fichier xml
- un fichier xml servant de trame
- un serveur ou publier le fichier

Tout d'abord le fichier de trame xml : rssori.xml

Code : Tout sélectionner

<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Temperature</title>
<link>http://192.168.1.60:8080/</link>
<description>Temperature via Domoticz</description>
<item>
<title>(toreplace)</title>
<description>Export des temperatures</description>
</item>
</channel>
</rss>

Code : Tout sélectionner


#construction du header avec basic authent.
$user = 'username' #laisser les simples quotes
$pass = 'pass'

$pair = "$($user):$($pass)"

$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))

$basicAuthValue = "Basic $encodedCreds"

$Headers = @{
    Authorization = $basicAuthValue
}

#recuperation de toutes les sondes de temperatures via API
$data= Invoke-WebRequest -Uri 'http://fqdn_domoticz:8080/json.htm?type=devices&filter=temp&used=true&order=Name' -Headers $Headers

#conversion en JSON
$x = $data.content | ConvertFrom-Json
$xml_item=""

$ligne=""
#on boucle sur chaque son pour recuperer les valeurs et les stocker dans une chaine (a faire : variabiliser le nombre de sonde)

for($i=1; $i -le 10; $i++)
{
    $ligne=$ligne+$x.result.name[$i] + " : "+$x.result.data[$i] +"     "
}
$ligne=$ligne.Replace(" C","°")
write-host $ligne

#on remplace dans le fichier original le resultat des temperatures qu'on met dans un fichier XML publié sur un serveur Web
(Get-Content c:\inetpub\wwwroot\rssori.xml).replace("(toreplace)", $ligne) | Set-Content c:\inetpub\wwwroot\rss.xml
Dans KODI :
on charge le fichier xml via le fichier présent dans userdata ou via l'interface graphique
--> http://kodi.wiki/view/RssFeeds.xml

Pour s'assurer que les données soient raffrachies :
- on change, dans KODI, la valeur du refresh à 5 minutes
- on fait une tache programmée avec le planificateur pour executer le script powershell toutes les 5 minutes


On peut aussi faire la meme chose (et meme plus simplement) avec un Linux, mais la, j'aurais du reflechir un peu plus :)

Re: Voir la température de votre habitation dans XBMC

Publié : 26 janv. 2016, 13:51
par rimram31
fabd a écrit :...On peut aussi faire la meme chose (et meme plus simplement) avec un Linux, mais la, j'aurais du reflechir un peu plus :)
L'idée est sympa, bravo (bien que je n'ai pas kodi allumé tout le temps :-)). On doit pouvoir faire la même chose et sous win et sous linux avec un apache/php en insérant la partie dynamique de ton rss en php.

Re: Voir la température de votre habitation dans XBMC

Publié : 26 janv. 2016, 14:48
par fabd
oui, l'idée reste la meme. Un script en bash ou php qui fait la meme chose, le tout dans un CRON avec un serveur apache pour heberger le fichier

on peut aussi afficher n'importe quoi d'autre

Re: Voir la température de votre habitation dans XBMC

Publié : 26 janv. 2016, 15:02
par deennoo
Super !! mis en place pour les deux Kodi de la maison !

que fait free et son freeplayer !

Re: Voir la température de votre habitation dans XBMC

Publié : 26 janv. 2016, 17:24
par fabd
free t'escroc de 35 euros tous les mois :D enfin, pour ma part... débit de merde, pas de TV, Freebox pas du tout ergonomique...

mais c'est pas le sujet :)

Re: Voir la température de votre habitation dans XBMC

Publié : 28 janv. 2016, 07:13
par deennoo
fabd a écrit :free t'escroc de 35 euros tous les mois :D enfin, pour ma part... débit de merde, pas de TV, Freebox pas du tout ergonomique...

mais c'est pas le sujet :)
Ma révolution marche très bien pour ma campagne c'est la mini qui galerait... Fin de HS.