Que faire avec mon NAS Synology

Les produits Synology sont plus que des NAS. Ils peuvent servir Ă  la videosurveillance, Ă  la domotique, ... Parlons en dans cette section.

Que faire avec mon NAS Synology

Messagede geoay » 22 Nov 2013, 14:55

J'ai acheté il y a quelques mois un DS413 avec 4 disques de 2 TO.
J'avais choisi ce produit car il semblait avoir plein de possibilités d'utilisation.
Quelques mois après je me rends compte que je l'utilise uniquement comme serveur et disque media connecté à ma Freebox....
Je dois passer à coté de plein de choses très intéressantes... :(
Vous que faites vous avec votre NAS ?
VeraLite +RFXusb
Sondes Oregon
Zwave : Prises AN1576 (3) - DĂ©tecteur inondation Everspring ST812 - Fibaro FGS211
BLYSS : prises, module extérieur, détecteurs incendie
Station OREGON WMR88
OWL CM160
geoay
Dieu de domotique
 
Messages: 1971
Inscription: 13 Avr 2012, 22:44
Localisation: Yvelines

Re: Que faire avec mon NAS Synology

Messagede nightfever » 22 Nov 2013, 21:09

* je l'utilisais au départ pour openremote (m'en sert plus).
* héberger myvera, mes graph de températures + bdd
* j'ai mis différents comptes utilisateur pour l'accès à filestation (partage de fichier). la famille y dépose les photos après chaque événements
* l'interface pour la gestion des cam ip mais galère avec la FI9821W du coup j'ai laissé tomber.
* tu peux créer des allias plus facilement qu'en commande linux.
* partage multimédia des photos, vidéos et musique pour y accéder depuis freebox ou smarttv.
* l'utilitaire de téléchargement est super mais je ne télécharge pas souvent.
* créer des liens de téléchargement direct vers un fichier sur le NAS
* créer un serveur vpn

voilà quelques exemples mais ma première utilité était du RAID1 pour sauvegarder photos...

Envoyé depuis mon GT-P7310 avec Tapatalk
-- Armony one |freebox v6 |LightManager |intertechno | chacon | galaxy tab 8.9|SmartTv avec wifi --
-- Jeedom sur RPI 2 + clé 3G| Vera Lite (firmware UI5 v1.5.622)+ RFXtrx usb | 6 x Oregon THGR122NX | 1 x capteur ST814 |6 x tête thermostatique Danfos | Thermostat Z-wave programmable | 5 x fibaro FGD-211 | 1 x module AEO_MSEI | 1x FGS211 | 1 x multifonctions AEO_DSB05 | 1 x multifonctions BE_MOLITE | 2 x FGR211 --
-- NAS DS213 | openremote + myvera| teleinfo sur raspberry pi | IpCam Foscam FI9821W-V2 --
nightfever
Dieu de domotique
 
Messages: 394
Inscription: 15 DĂ©c 2012, 16:47
Localisation: Nord

Re: Que faire avec mon NAS Synology

Messagede geoay » 23 Nov 2013, 00:19

Merci pour ton retour.
Je l'avais en partie acheté pour la Domotique, open remote, puis myvera.
Depuis l'arrivée d'Imperhome V2, j'ai laissé tomber l'utilisation de mon nas pour la Domotique.
Par contre j'utilise Xively pour enregistrer mes données. Si ce n'était pas si compliqué il faudrait que je pense à un enregistrement en local.
Pour les caméras la limitation à une caméra est vraiment consternante...
Pour le reste c'est effectivement du domaine du multimédia.
VeraLite +RFXusb
Sondes Oregon
Zwave : Prises AN1576 (3) - DĂ©tecteur inondation Everspring ST812 - Fibaro FGS211
BLYSS : prises, module extérieur, détecteurs incendie
Station OREGON WMR88
OWL CM160
geoay
Dieu de domotique
 
Messages: 1971
Inscription: 13 Avr 2012, 22:44
Localisation: Yvelines

Re: Que faire avec mon NAS Synology

Messagede ViktorE » 23 Nov 2013, 11:09

Bonjour,

avec 4 disques de 2To, vous avez de la place ! :)

De mon coté, j'ai 2 NAS DS211+, l'un à usage strictement pro et/ou important et l'autre pour le reste.
Le 1er est configuré en RAID, et j'y stocke les données et fichiers de ma société, ainsi que mes photos, vidéos et autres éléments irremplaçables. Il est placé dans une armoire résistante au feu..
L'antivirus y est actif.

Le second, je l'utilise pour télécharger sans que cela n'accapare mon PC, pour créer et tester des sites web, pour stocker également, mais à un niveau moindre de sécurité (pas de RAID). Il me sert aussi en domotique pour stocker mes températures et piloter certaines de mes machines. En serveur média, j'y ai mes musiques et vidéos. Pour les utilisateurs d'iChose, il y a un truc compatible itunes. Il me sert aussi de backup du 1er, qui toutes les nuits réalise une copie supplémentaire de mes fichiers importants.
Il me sert aussi de serveur tftp/bootp pour installer des distributions depuis un boot réseau, il sert de dhcp sur mon réseau. J'ai installé le syslog, pour centraliser les logs de mes machines.

Ayant des caméras, il enregistre la nuit, mais ça va changer, puisqu'en cas de cambriolage, il risque d'être voler, l'intérêt est donc limité... Je pense déporter cette fonction sur un 3ème NAS externe à l'habitation (lorsque j'aurais la fibre et donc le débit suffisant).

Bref, le second, il est chargé coté CPU (d'où l'intérêt de prendre les gammes '+' ).

Je suis fidèle à Synology depuis 2006, jamais eu de panne, juste un ventillo devenu bruyant qu'on a remplacé. Machine très stable, rarement de redémarrage. Je précise qu'ils sont sur onduleur, ce qui améliore la longévité de tout appareil informatique.
ViktorE
Membre Actif
 
Messages: 23
Inscription: 14 Nov 2013, 18:34

Re: Que faire avec mon NAS Synology

Messagede geoay » 26 Nov 2013, 17:58

nightfever a écrit:* je l'utilisais au départ pour openremote (m'en sert plus).
* héberger myvera, mes graph de températures + bdd
* j'ai mis différents comptes utilisateur pour l'accès à filestation (partage de fichier). la famille y dépose les photos après chaque événements
* l'interface pour la gestion des cam ip mais galère avec la FI9821W du coup j'ai laissé tomber.
* tu peux créer des allias plus facilement qu'en commande linux.
* partage multimédia des photos, vidéos et musique pour y accéder depuis freebox ou smarttv.
* l'utilitaire de téléchargement est super mais je ne télécharge pas souvent.
* créer des liens de téléchargement direct vers un fichier sur le NAS
* créer un serveur vpn

voilà quelques exemples mais ma première utilité était du RAID1 pour sauvegarder photos...

Envoyé depuis mon GT-P7310 avec Tapatalk


Peux-tu m'en dire un peu plus sur l'utilisation du NAS pour stocker des mesures (température, conso électrique, etc.) ? Actuellement j'utilise Xively (ex COSM) mais la quasi impossibilité de récupérer l’ensemble de mes mesures me pousse à stocker les données en local.
VeraLite +RFXusb
Sondes Oregon
Zwave : Prises AN1576 (3) - DĂ©tecteur inondation Everspring ST812 - Fibaro FGS211
BLYSS : prises, module extérieur, détecteurs incendie
Station OREGON WMR88
OWL CM160
geoay
Dieu de domotique
 
Messages: 1971
Inscription: 13 Avr 2012, 22:44
Localisation: Yvelines

Re: Que faire avec mon NAS Synology

Messagede Theduck38 » 26 Nov 2013, 18:39

Mmmhh ça me donne envie !!!
Ça fait longtemps que j'attends pour m'offrir un DS413... principalement pour :
- Serveur multimédia
- Remplacer Xively
- Site perso avec données météo locales (les infos m'intéressent aussi !)
- Backup de mon mac
- Faire tourner myVera... en attendant je vais tenter sur le RPi
- Faire tourner un serveur de fichier pour mettre en libre service des vidéos
- Mettre en place une détection de bon fonctionnement de la Vera
- (...)

Peut-être que le père Noël...
-- TD38 --
http://www.meteo.lecoin.info
Informatique : Mac Pro / OSX10.6.8 - Raspberry Pi et Pi2 / Raspbian - NAS Synology DS413
Contrôleurs : Micasaverde Vera3 (arrêtée) - Rfxcom Rfxtrx433 - Telco Duwi 64459 --- Jeedom sur serveur custom
Sécurité : Foscam FI8910W - Vision Security ZP-3102(x2) - Fibaro FGMS-001(x2) - Fibaro FGSD-002(x6)
Mesures : Oregon BTHR918 / THGR810(x5) / THN132N / THGN800 / WGR800 / PCR800 / UVN800 - AeonLabs 4in1(x2) - Owl CM180(x2) - Fibaro FGBS.001
Actionneurs : Duwi 05436(x8) - Prises ARC Diagral(x3) - Everspring AN157 - Fibaro FGD.211 - Chacon DI-O 54795 (beaucoup) / 54786 - Fibaro Wall Plug
Interfaces : Une tablette Chuwi Hi10 - Un Karotz sous OpenKarotz - SqeezePlay sur Rpi
Onduleurs : Eaton 650 et 1200 + APC UPS PRO 550 et 900
Avatar de l’utilisateur
Theduck38
Dieu de domotique
 
Messages: 991
Inscription: 18 Avr 2013, 05:03
Localisation: Près de Grenoble

Re: Que faire avec mon NAS Synology

Messagede nightfever » 26 Nov 2013, 22:39

geoay a écrit:Peux-tu m'en dire un peu plus sur l'utilisation du NAS pour stocker des mesures (température, conso électrique, etc.) ? Actuellement j'utilise Xively (ex COSM) mais la quasi impossibilité de récupérer l’ensemble de mes mesures me pousse à stocker les données en local.

je donne la démarche pour un type de datas mais je le duplique 3 fois (pas très optimisé mais fonctionnel).
Je récupère l'humidité, la température et les batteries (une table dans ma BDD sur le NAS par type de datas)
Pour les températures = dans ce cas j'ai 2 scènes : une pour l'extérieur pour acquisition toutes les 10min et une pour les sondes intérieures pour acquisition toutes les 30min.
La démarche :
une scène (avec du code) appelée toutes les 10min pour récupérer les infos de chaque sonde => renvoie vers la fonction présente dans le luup de démarrage => envoi vers un fichier php stocké sur le NAS => envoi dans la BDD du NAS => affichage depuis mon navigateur avec highstock ou via un widget url sous myvera
Pour info, depuis le 11/05, ma table a 69 000 lignes et pèse 1,9 Mo

Si tu veux les codes, je peux les poster (ça t'évitera des heures de recherche et de boulo).
Pour en arriver, je me suis appuyé sur ce post : Cosm/pachube c'est naze. Faisons mieux :)
Tout à la fin de ce topic (ici), sb_domo propose un tuto sur la quasi la même démarche (plus simplifiée mais surtout orientée vera). J'ai juste pas eu le courage de me remettre dans tous ces codes pour optimiser le truc (qui fonctionne). Le premier graph que tu vois sur son tuto est exactement ce que je sors ici
En espérant t'avoir aidé....
-- Armony one |freebox v6 |LightManager |intertechno | chacon | galaxy tab 8.9|SmartTv avec wifi --
-- Jeedom sur RPI 2 + clé 3G| Vera Lite (firmware UI5 v1.5.622)+ RFXtrx usb | 6 x Oregon THGR122NX | 1 x capteur ST814 |6 x tête thermostatique Danfos | Thermostat Z-wave programmable | 5 x fibaro FGD-211 | 1 x module AEO_MSEI | 1x FGS211 | 1 x multifonctions AEO_DSB05 | 1 x multifonctions BE_MOLITE | 2 x FGR211 --
-- NAS DS213 | openremote + myvera| teleinfo sur raspberry pi | IpCam Foscam FI9821W-V2 --
nightfever
Dieu de domotique
 
Messages: 394
Inscription: 15 DĂ©c 2012, 16:47
Localisation: Nord

Re: Que faire avec mon NAS Synology

Messagede geoay » 03 DĂ©c 2013, 17:00

nightfever a Ă©crit:
geoay a écrit:Peux-tu m'en dire un peu plus sur l'utilisation du NAS pour stocker des mesures (température, conso électrique, etc.) ? Actuellement j'utilise Xively (ex COSM) mais la quasi impossibilité de récupérer l’ensemble de mes mesures me pousse à stocker les données en local.

je donne la démarche pour un type de datas mais je le duplique 3 fois (pas très optimisé mais fonctionnel).
Je récupère l'humidité, la température et les batteries (une table dans ma BDD sur le NAS par type de datas)
Pour les températures = dans ce cas j'ai 2 scènes : une pour l'extérieur pour acquisition toutes les 10min et une pour les sondes intérieures pour acquisition toutes les 30min.
La démarche :
une scène (avec du code) appelée toutes les 10min pour récupérer les infos de chaque sonde => renvoie vers la fonction présente dans le luup de démarrage => envoi vers un fichier php stocké sur le NAS => envoi dans la BDD du NAS => affichage depuis mon navigateur avec highstock ou via un widget url sous myvera
Pour info, depuis le 11/05, ma table a 69 000 lignes et pèse 1,9 Mo

Si tu veux les codes, je peux les poster (ça t'évitera des heures de recherche et de boulo).
Pour en arriver, je me suis appuyé sur ce post : Cosm/pachube c'est naze. Faisons mieux :)
Tout à la fin de ce topic (ici), sb_domo propose un tuto sur la quasi la même démarche (plus simplifiée mais surtout orientée vera). J'ai juste pas eu le courage de me remettre dans tous ces codes pour optimiser le truc (qui fonctionne). Le premier graph que tu vois sur son tuto est exactement ce que je sors ici
En espérant t'avoir aidé....

Merci pour tous ces éléments.
En fait je démarre très bas car pour moi l'utilisation du NAS comme serveur Web et la création d'une base de données restent encore très mystérieuses... :(
Je comprends le principe mais il va y avoir du boulot pour arriver à ce résultat !
Ceci Ă©tant je pense qu'Ă  partir du moment oĂą j'ai un NAS cette solution est bien meilleure que la solution du plugin Datamine .
Je susi preneur pour les codes...même si ça risque de générer quelques questions :D
VeraLite +RFXusb
Sondes Oregon
Zwave : Prises AN1576 (3) - DĂ©tecteur inondation Everspring ST812 - Fibaro FGS211
BLYSS : prises, module extérieur, détecteurs incendie
Station OREGON WMR88
OWL CM160
geoay
Dieu de domotique
 
Messages: 1971
Inscription: 13 Avr 2012, 22:44
Localisation: Yvelines

Re: Que faire avec mon NAS Synology

Messagede nightfever » 03 DĂ©c 2013, 21:42

L'avantage de Synology, c'est que le DSM est bien fait et pour faire ce genre de choses, pas besoin d'aller dans la console via ssh :wink:
pour ta demande, voici : (en prenant l'exemple des T° intérieures)

DANS UI5
scène nomée "T°C intérieures" => onglet programmation => toutes les 30min
onglet "code luup" :
Code: Tout sélectionner
local tempsalon = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", id_temp_salon)
local templea = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", id_temp_lea)
local tempanna = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", id_temp_anna)
local tempparents = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", id_temp_parents)
local tempsdb = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", id_temp_sdb)
tempsalon = tonumber(tempsalon)
templea = tonumber(templea)
tempanna = tonumber(tempanna)
tempparents = tonumber(tempparents)
tempsdb = tonumber(tempsdb)
my_graph_sensor("Temp_salon", tempsalon)
my_graph_sensor("Temp_Lea", templea)
my_graph_sensor("Temp_Anna", tempanna)
my_graph_sensor("Temp_Parents", tempparents)
my_graph_sensor("Temp_SDB", tempsdb)
return true


Dans le luup de démarrage :
Code: Tout sélectionner
function my_graph_sensor (feed, value)
  local url = "http://192.168.1.16/graphiques/logger.php?" -- remplacez ici par votre serveur
  luup.inet.wget(url .. "f="..feed.."&v="..value)
end


SUR LE NAS
Dans le repertoire web, jai un dossier nommé graphiques et dans lequel il y a : logger.php
remplacer les XXXX dans le login et mdp ci-dessous
Code: Tout sélectionner
<?php

$db_name  = "graph";
$db_login = "XXXX";
$db_passw = "XXXX";
$db_table = "graph_tbl";

if (!isset($_GET['f']) || !isset($_GET['v']))
    die ("v or f is null");

$feed = $_GET['f'];
$value = $_GET['v'];

$db = mysql_connect('localhost', $db_login, $db_passw);
mysql_select_db($db_name, $db) or die('Erreur SQL !<br>'.mysql_error());

$sql = "CREATE TABLE IF NOT EXISTS " . $db_table . "(ffeed varchar(128), ftimestamp TIMESTAMP, fvalue DOUBLE)";
mysql_query($sql, $db) or die('Erreur SQL !<br>'.mysql_error());

$sql = "INSERT INTO ".$db_table." (ffeed, ftimestamp, fvalue) VALUES (\"".$feed."\", NOW(), ".$value.")";
mysql_query($sql, $db) or die('Erreur SQL !<br>'.mysql_error());

?>


Dans le repertoire web, jai aussi un dossier nommé "test_graph_highstock" et qui contient tout ce qu'il faut pour highstock + le fichier temperatures.php (arborscence complète de ce répertoire ici)

code de temperatures.php (remplace les XXXX pour login et mdp) :
Code: Tout sélectionner
<?php
//Connexion a la base de données
// Remplacez localhost, highcharts, username, password, par vos informations de connexion.
$hostname = "localhost";
$database = "graph"; // nom de la base principale (graph)
$username = "XXXX";
$password = "XXXX";
$Conn = mysql_pconnect($hostname, $username, $password);
?>
<?php
$_GET = array_map('htmlentities', $_GET); // On applique la fonction htmlentities()
$a = array(); // On itinialise notre tableau
$i = 0; // Notre variable qui sera incrémentée dans la boucle
foreach($_GET as $var) { // Pour chaque valeur du tableau $_GET on crée une variable $var
$a[$i] = $var; // On met la valeur dans le tableau avec la valeur de $i
$i++; // On incrémente
}
?>
<html>
<head>
<title>Falaf.net - Highstock Exemple 1</title>
<!-- Chargement des librairies: Jquery & highstock -->
<script type='text/javascript' src='js/jquery-1.10.2.min.js'></script>
<script type="text/javascript" src="js/highstock.js" ></script>
<script type="text/javascript" src="js/themes/gray.js" ></script>
<script type="text/javascript" src="js/modules/exporting.js" ></script>
<!-- Chargement des traductions -->
<script type="text/javascript" src="js/options.js"></script>
<!-- Chargement des variables, et paramètres de highstock -->
    <script type="text/javascript">
$(function() {

        $('#container').highcharts('StockChart', {

        //RangeSelector correspond aux boutons de zoom qui se trouvent en haut Ă  gauche du graphique
            rangeSelector : {
            buttons: [
            //Ici, nous dĂ©finissons les boutons, et la taille de leur zoom
            //type: On dĂ©finie s’il faut compter en jour, mois ou annĂ©e
            //count: Le nombre de jours, mois, ou annĂ©es Ă  afficher
            //text: Le texte Ă  afficher dans le bouton
                                {type: 'day',count: 1,text: '1j'},
                                {type: 'day',count: 3,text: '3j'},
                                {type: 'day',count: 7,text: '7j'},
                                {type: 'month',count: 1,text: '1m'},
                                {type: 'year',count: 1,text: '1a'},
                                {type: 'all',text: 'Tout'}],
            //selected : 5 = Par dĂ©fault, nous sĂ©lectionnons le cinquième bouton "Tout".
            //Pour compter les boutons, il faut partir de 0, et non de 1
                selected : 5
            },
            legend:
            //Legend permet d'afficher la lĂ©gende sous le graphique.
            //La lĂ©gende affiche, le nom de la courbe, ainsi sa couleur

            {
            //verticalAlign: Nous affichons la lĂ©gende en haut du graphique
                verticalAlign: 'top',
                floating : false,
                //y: Nous dĂ©calons la lĂ©gende de 25 par rapport au haut du graphique
                //afin que le titre et la lĂ©gende ne se chevauchent pas
                y: 25,
                //enabled: false pour dĂ©sactiver et true pour activer
                enabled: true
            },
            yAxis: {
                title: {
                    text: 'Temp (°C)'
                }
            },
            tooltip: {
                shared: true,
                //Ajout d'une unitĂ© de mesure lors du survole d'un point du graphique
                valueSuffix: ' °C'
            },   
            title : {
            //Titre du graphique
                text : 'Temperatures'
            },

series: [<?php
foreach ($a as $valeur) {
?>
<?php
mysql_select_db($database, $Conn);
//Requête SQL permettant de récupérer l'heure, et la valeur correspondante
$query_date = "SELECT ftimestamp, fvalue FROM `graph_tbl` WHERE  `ffeed` LIKE  '".$valeur."' ORDER BY ftimestamp ASC";
$date = mysql_query($query_date, $Conn) or die(mysql_error());
$row_date = mysql_fetch_assoc($date);
$totalRows_date = mysql_num_rows($date);
?>
{
                name: '<?php echo $valeur ?>',
                //Formatage de la date sous la forme: AnnĂ©e, Mois, Jour, Heure, minute
                //En suivant, nous ajoutons la valeur de la consommation
                //Exemple: Avec un relevĂ© le 16/08/2013 Ă  12h00 de 256W, et un relevĂ© de 16/08/2013 Ă  12h30 de 354W
                //Cela donne: [[Date.UTC(2013, 08, 16, 12, 00), 256], [Date.UTC(2013, 08, 16, 12, 30), 354]],
                data: [<?php do { ?>
[Date.UTC(<?php echo date("Y, m, d, H, i", strtotime("".$row_date['ftimestamp']." -1 month")); ?>), <?php echo $row_date['fvalue']; ?>],
<?php } while ($row_date = mysql_fetch_assoc($date)); ?>],
            },
            <?php     
            //Fermeture de la boucle
  }

?>]
        });

});

        </script>
</head>

<body>
    <p></p>
    <p>
<!-- Affichage du graphique -->
<div id="container" style="height: 600px; min-width: 1100px"></div></p>
</body>
</html>


Sur le site que je t'ai donné, il explique quel code mettre pour créer la BDD
j'affiche mes températures avec cette adresse :
Code: Tout sélectionner
http://192.168.1.16/test_graph_highstock/temperatures.php?feed1=Temp_ext&feed2=Temp_salon&feed3=Temp_Lea&feed4=Temp_Anna&feed5=Temp_Parents&feed6=Temp_SDB

Pour info, ma structure : Image

Sb_domo a fait un tuto sur le mĂŞme principe ici
Ce que j'ai décrit, c'est ce qu'il a dans son 2ème exemple. Si j'ai un répertoire à part pour le logger.php, c'est parce qu'avant de mettre en place highstocks, j'ai mis en place sa 1ère méthode qui utilise pchart et je n'ai jamais pris le temps d'optimiser le système (pas ma priorité).

Voilà, tu as déjà de quoi t'amuser... Je suis arrivé là à partir de ce post : Cosm/pachube c'est naze. Faisons mieux :)
-- Armony one |freebox v6 |LightManager |intertechno | chacon | galaxy tab 8.9|SmartTv avec wifi --
-- Jeedom sur RPI 2 + clé 3G| Vera Lite (firmware UI5 v1.5.622)+ RFXtrx usb | 6 x Oregon THGR122NX | 1 x capteur ST814 |6 x tête thermostatique Danfos | Thermostat Z-wave programmable | 5 x fibaro FGD-211 | 1 x module AEO_MSEI | 1x FGS211 | 1 x multifonctions AEO_DSB05 | 1 x multifonctions BE_MOLITE | 2 x FGR211 --
-- NAS DS213 | openremote + myvera| teleinfo sur raspberry pi | IpCam Foscam FI9821W-V2 --
nightfever
Dieu de domotique
 
Messages: 394
Inscription: 15 DĂ©c 2012, 16:47
Localisation: Nord

Re: Que faire avec mon NAS Synology

Messagede geoay » 03 DĂ©c 2013, 22:42

Que puis-je dire sinon un grand merci ! :)
VeraLite +RFXusb
Sondes Oregon
Zwave : Prises AN1576 (3) - DĂ©tecteur inondation Everspring ST812 - Fibaro FGS211
BLYSS : prises, module extérieur, détecteurs incendie
Station OREGON WMR88
OWL CM160
geoay
Dieu de domotique
 
Messages: 1971
Inscription: 13 Avr 2012, 22:44
Localisation: Yvelines

Re: Que faire avec mon NAS Synology

Messagede geoay » 18 DĂ©c 2013, 15:59

nightfever a Ă©crit:L'avantage de Synology, c'est que le DSM est bien fait et pour faire ce genre de choses, pas besoin d'aller dans la console via ssh :wink:
pour ta demande, voici : (en prenant l'exemple des T° intérieures)

DANS UI5
scène nomée "T°C intérieures" => onglet programmation => toutes les 30min
onglet "code luup" :
Code: Tout sélectionner
local tempsalon = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", id_temp_salon)
local templea = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", id_temp_lea)
local tempanna = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", id_temp_anna)
local tempparents = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", id_temp_parents)
local tempsdb = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", id_temp_sdb)
tempsalon = tonumber(tempsalon)
templea = tonumber(templea)
tempanna = tonumber(tempanna)
tempparents = tonumber(tempparents)
tempsdb = tonumber(tempsdb)
my_graph_sensor("Temp_salon", tempsalon)
my_graph_sensor("Temp_Lea", templea)
my_graph_sensor("Temp_Anna", tempanna)
my_graph_sensor("Temp_Parents", tempparents)
my_graph_sensor("Temp_SDB", tempsdb)
return true


Dans le luup de démarrage :
Code: Tout sélectionner
function my_graph_sensor (feed, value)
  local url = "http://192.168.1.16/graphiques/logger.php?" -- remplacez ici par votre serveur
  luup.inet.wget(url .. "f="..feed.."&v="..value)
end


SUR LE NAS
Dans le repertoire web, jai un dossier nommé graphiques et dans lequel il y a : logger.php
remplacer les XXXX dans le login et mdp ci-dessous
Code: Tout sélectionner
<?php

$db_name  = "graph";
$db_login = "XXXX";
$db_passw = "XXXX";
$db_table = "graph_tbl";

if (!isset($_GET['f']) || !isset($_GET['v']))
    die ("v or f is null");

$feed = $_GET['f'];
$value = $_GET['v'];

$db = mysql_connect('localhost', $db_login, $db_passw);
mysql_select_db($db_name, $db) or die('Erreur SQL !<br>'.mysql_error());

$sql = "CREATE TABLE IF NOT EXISTS " . $db_table . "(ffeed varchar(128), ftimestamp TIMESTAMP, fvalue DOUBLE)";
mysql_query($sql, $db) or die('Erreur SQL !<br>'.mysql_error());

$sql = "INSERT INTO ".$db_table." (ffeed, ftimestamp, fvalue) VALUES (\"".$feed."\", NOW(), ".$value.")";
mysql_query($sql, $db) or die('Erreur SQL !<br>'.mysql_error());

?>


Dans le repertoire web, jai aussi un dossier nommé "test_graph_highstock" et qui contient tout ce qu'il faut pour highstock + le fichier temperatures.php (arborscence complète de ce répertoire ici)

code de temperatures.php (remplace les XXXX pour login et mdp) :
Code: Tout sélectionner
<?php
//Connexion a la base de données
// Remplacez localhost, highcharts, username, password, par vos informations de connexion.
$hostname = "localhost";
$database = "graph"; // nom de la base principale (graph)
$username = "XXXX";
$password = "XXXX";
$Conn = mysql_pconnect($hostname, $username, $password);
?>
<?php
$_GET = array_map('htmlentities', $_GET); // On applique la fonction htmlentities()
$a = array(); // On itinialise notre tableau
$i = 0; // Notre variable qui sera incrémentée dans la boucle
foreach($_GET as $var) { // Pour chaque valeur du tableau $_GET on crée une variable $var
$a[$i] = $var; // On met la valeur dans le tableau avec la valeur de $i
$i++; // On incrémente
}
?>
<html>
<head>
<title>Falaf.net - Highstock Exemple 1</title>
<!-- Chargement des librairies: Jquery & highstock -->
<script type='text/javascript' src='js/jquery-1.10.2.min.js'></script>
<script type="text/javascript" src="js/highstock.js" ></script>
<script type="text/javascript" src="js/themes/gray.js" ></script>
<script type="text/javascript" src="js/modules/exporting.js" ></script>
<!-- Chargement des traductions -->
<script type="text/javascript" src="js/options.js"></script>
<!-- Chargement des variables, et paramètres de highstock -->
    <script type="text/javascript">
$(function() {

        $('#container').highcharts('StockChart', {

        //RangeSelector correspond aux boutons de zoom qui se trouvent en haut Ă  gauche du graphique
            rangeSelector : {
            buttons: [
            //Ici, nous dĂ©finissons les boutons, et la taille de leur zoom
            //type: On dĂ©finie s’il faut compter en jour, mois ou annĂ©e
            //count: Le nombre de jours, mois, ou annĂ©es Ă  afficher
            //text: Le texte Ă  afficher dans le bouton
                                {type: 'day',count: 1,text: '1j'},
                                {type: 'day',count: 3,text: '3j'},
                                {type: 'day',count: 7,text: '7j'},
                                {type: 'month',count: 1,text: '1m'},
                                {type: 'year',count: 1,text: '1a'},
                                {type: 'all',text: 'Tout'}],
            //selected : 5 = Par dĂ©fault, nous sĂ©lectionnons le cinquième bouton "Tout".
            //Pour compter les boutons, il faut partir de 0, et non de 1
                selected : 5
            },
            legend:
            //Legend permet d'afficher la lĂ©gende sous le graphique.
            //La lĂ©gende affiche, le nom de la courbe, ainsi sa couleur

            {
            //verticalAlign: Nous affichons la lĂ©gende en haut du graphique
                verticalAlign: 'top',
                floating : false,
                //y: Nous dĂ©calons la lĂ©gende de 25 par rapport au haut du graphique
                //afin que le titre et la lĂ©gende ne se chevauchent pas
                y: 25,
                //enabled: false pour dĂ©sactiver et true pour activer
                enabled: true
            },
            yAxis: {
                title: {
                    text: 'Temp (°C)'
                }
            },
            tooltip: {
                shared: true,
                //Ajout d'une unitĂ© de mesure lors du survole d'un point du graphique
                valueSuffix: ' °C'
            },   
            title : {
            //Titre du graphique
                text : 'Temperatures'
            },

series: [<?php
foreach ($a as $valeur) {
?>
<?php
mysql_select_db($database, $Conn);
//Requête SQL permettant de récupérer l'heure, et la valeur correspondante
$query_date = "SELECT ftimestamp, fvalue FROM `graph_tbl` WHERE  `ffeed` LIKE  '".$valeur."' ORDER BY ftimestamp ASC";
$date = mysql_query($query_date, $Conn) or die(mysql_error());
$row_date = mysql_fetch_assoc($date);
$totalRows_date = mysql_num_rows($date);
?>
{
                name: '<?php echo $valeur ?>',
                //Formatage de la date sous la forme: AnnĂ©e, Mois, Jour, Heure, minute
                //En suivant, nous ajoutons la valeur de la consommation
                //Exemple: Avec un relevĂ© le 16/08/2013 Ă  12h00 de 256W, et un relevĂ© de 16/08/2013 Ă  12h30 de 354W
                //Cela donne: [[Date.UTC(2013, 08, 16, 12, 00), 256], [Date.UTC(2013, 08, 16, 12, 30), 354]],
                data: [<?php do { ?>
[Date.UTC(<?php echo date("Y, m, d, H, i", strtotime("".$row_date['ftimestamp']." -1 month")); ?>), <?php echo $row_date['fvalue']; ?>],
<?php } while ($row_date = mysql_fetch_assoc($date)); ?>],
            },
            <?php     
            //Fermeture de la boucle
  }

?>]
        });

});

        </script>
</head>

<body>
    <p></p>
    <p>
<!-- Affichage du graphique -->
<div id="container" style="height: 600px; min-width: 1100px"></div></p>
</body>
</html>


Sur le site que je t'ai donné, il explique quel code mettre pour créer la BDD
j'affiche mes températures avec cette adresse :
Code: Tout sélectionner
http://192.168.1.16/test_graph_highstock/temperatures.php?feed1=Temp_ext&feed2=Temp_salon&feed3=Temp_Lea&feed4=Temp_Anna&feed5=Temp_Parents&feed6=Temp_SDB

Pour info, ma structure : Image

Sb_domo a fait un tuto sur le mĂŞme principe ici
Ce que j'ai décrit, c'est ce qu'il a dans son 2ème exemple. Si j'ai un répertoire à part pour le logger.php, c'est parce qu'avant de mettre en place highstocks, j'ai mis en place sa 1ère méthode qui utilise pchart et je n'ai jamais pris le temps d'optimiser le système (pas ma priorité).

Voilà, tu as déjà de quoi t'amuser... Je suis arrivé là à partir de ce post : Cosm/pachube c'est naze. Faisons mieux :)


Je ne suis pas encore passer aux affaires sérieuses à partir de tout ce que tu m'as fourni ! :)
Je voulais d'abord comprendre le fonctionnement et j'ai commencé par digérer "Le php pour les nuls" afin de ne pas appliquer bêtement une procédure (et aussi d'enrichir ma culture).
J'ai installé et utilisé phpMyadmin et créé une base de données.
J'ai essayé de déchiffrer ce que tu m'as fourni, mais j'ai quand même quelques questions.
Dois-je créer moi même la base graph avec phpmyadmin ou cela est-il fait directement par le logger php ?
Idem pour a création de la table (mais il me semble que le code du logger le fait par défaut). Si je crée moi même la table puis-je supprimer le morceau de code correspondant ?
Désolé pour ces questions de newbie mais ce sont mes premiers pas dans l'univers php et mySQL :oops:
VeraLite +RFXusb
Sondes Oregon
Zwave : Prises AN1576 (3) - DĂ©tecteur inondation Everspring ST812 - Fibaro FGS211
BLYSS : prises, module extérieur, détecteurs incendie
Station OREGON WMR88
OWL CM160
geoay
Dieu de domotique
 
Messages: 1971
Inscription: 13 Avr 2012, 22:44
Localisation: Yvelines

Re: Que faire avec mon NAS Synology

Messagede minimoibientot » 18 DĂ©c 2013, 21:24

suivant sb_domo
tu dois créer la base et la table
dans la " fenetre de requete " sous phpmyadmin


suivant nightfever
elle est inclus dans son logger
  • Vera3 & VeraLite - UI5 / tab & tĂ©l : logicom S1024 + Asus TF201 + Galaxy S5 + Iphone 4S / Imperihome Pro
  • switch D-Link 24 ports / Raspberry B = squeezeslave / BananaPi + HD ext 2To = server + LMS + MyVera + graph teleinfo / T° / Hum / VMC / chauffage
  • Fibaro
    • FGRM-222 *11 / FGS-211 *4 / FGS-221 *8 / Wall Plug *3
  • Vision Security
    • dĂ©tect : VIS_ZG8101 *1 / sirene : VIS_ZM1602 *1
  • Everspring
    • dĂ©tect : HSP02 *4 / prise : AN157-6 *3
  • rfxtrx 433
  • Oregon : THN132N *3 / THGR122NX *4 / Phenix : YC-4000B *8 / Blyss : detect fumĂ©e *2
  • Chacon
    • Inter avec dĂ©tect° Mvt : CH-54703 *1 / CH-54503 *1
    • contacte porte : CH-54781 *6
    • Prise : CH-54795 *5 / RĂ©cepteur ON/OFF 1000w : CH-54555 *2 & 200w : CH-54557 *2
  • teleinfo ( dauguet ) / VMC hygro + duwi
  • Ruban led RGB 5050 *3 + IR
  • CamĂ©ra IP Vision nocturne et DĂ©tect° Mvt *4
  • Karotz - W/L - openkarotz / logitech harmony 1100 + DIO 16 canaux CH54761 + DIO 3 canaux CH54760
  • onduleur : MGE ellipse ASR 450 *2 + Riello WP55 *1
Avatar de l’utilisateur
minimoibientot
Dieu de domotique
 
Messages: 409
Inscription: 07 AoĂ» 2013, 15:44
Localisation: Seine Maritime

Suivante

Retourner vers NAS Synology

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique