API MyFox - gestion en PowerShell

Page 2 sur 2 Précédent  1, 2

Voir le sujet précédent Voir le sujet suivant Aller en bas

Re: API MyFox - gestion en PowerShell

Message  josemi73 le 6/1/2015, 8:25 pm

Fonctionne très bien, merci

Josemi

josemi73
Habitué
Habitué

Messages : 19
Date d'inscription : 30/07/2014
Localisation : Spain

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  josemi73 le 9/1/2015, 12:48 pm

en utilisant API/Powershell est infini.



Je ai toujours voulu exécuter un scénario directe (non inverse) afin de fonctionner après 10 secondes d'un autre scénario, de soulever la moitié volets. Avec Powershell / API possible.

josemi73
Habitué
Habitué

Messages : 19
Date d'inscription : 30/07/2014
Localisation : Spain

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  franckj le 9/1/2015, 2:49 pm

Apparemment il manquerai la fonction "Capteur de luminosité" du capteur de "Température et luminosité" dans le module..

J'ai testé en ajoutant ça dans le fichier "module_myfox.psm1" :
------------------------------------------------------
function Get_MyFoxDeviceLight($token,$siteID){
$url = "https://api.myfox.me/v2/site/$siteID/device/data/light/items"
$body = @{
access_token = $token
}
$data = Invoke-RestMethod -Uri $url -Body $body -Method Get
if($data.status -eq "OK"){
return $data.payload.items
}
else{
return "Error getting Light Devices."
}
}
------------------------------------------------------

Ensuite ça en PowerShell pour tester :
-----------------------------------------------------
import-module .\module_myfox.psm1
$mytoken = get_myfoxtoken
$mysites = Get_MyFoxSites $mytoken.access_token

Get_MyFoxDeviceLight $mytoken.access_token $mysites[0].siteID
------------------------------------------------------

On récupère bien les informations de tous les capteurs

Et il faut ajouter cette partie pour récupérer les données d'un capteur :

------------------------------------------------------
function Get_MyFoxDeviceLightData($token,$siteID,$deviceID,$datefrom,$dateto){
$url = "https://api.myfox.me/v2/site/$siteID/device/$deviceID/data/light"
$body = @{
access_token = $token
}
if($datefrom){
$body.add("dateFrom",$datefrom)
}
if($dateto){
$body.add("dateTo",$dateTo)
}
$data = Invoke-RestMethod -Uri $url -Body $body -Method Get
if($data.status -eq "OK"){
return $data.payload.items
}
else{
return "Error getting Device's light."
}
}
------------------------------------------------------

Et pour la partie PowerShell :
------------------------------------------------------
import-module .\module_myfox.psm1
$mytoken = get_myfoxtoken
$mysites = Get_MyFoxSites $mytoken.access_token

Get_MyFoxDeviceLight $mytoken.access_token $mysites[0].siteID
$deviceID = 175209
Get_MyFoxDeviceLightData $mytoken.access_token $mysites[0].siteID $deviceID

ou cette ligne pour avoir les données en tableau :
Get_MyFoxDeviceLightData $mytoken.access_token $mysites[0].siteID $deviceID | Format-Table
------------------------------------------------------

Perso, ça fonctionne chez moi...

franckj
Débutant
Débutant

Messages : 6
Date d'inscription : 06/01/2015

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  Oliv44 le 11/1/2015, 1:04 pm

josemi73 a écrit:en utilisant API/Powershell est infini.



Je ai toujours voulu exécuter un scénario directe (non inverse) afin de fonctionner après 10 secondes d'un autre scénario, de soulever la moitié volets. Avec Powershell / API possible.

ca marche aussi chez moi.
Par contre, je n'ai pas réussi a remonter mes températures...comment as tu fait pour avoir cette courbe ?
avatar
Oliv44
Habitué
Habitué

Messages : 772
Date d'inscription : 30/03/2013
Localisation : Nantes

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  Oliv44 le 11/1/2015, 1:32 pm

J'ai trouvé : Get_MyFoxDevicetemp $mytoken.access_token $mysites[0].siteID

reste la mise en place de la courbe Very Happy avec le Mini/Maxi Razz
avatar
Oliv44
Habitué
Habitué

Messages : 772
Date d'inscription : 30/03/2013
Localisation : Nantes

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  thomasprudhomme le 13/1/2015, 3:47 pm

Bonjour Messieurs,

Je comptais me mettre à développer un module PowerShell perso avant de tomber sur ce topic.
Du coup si tu me permet Ipaso je vais faire mes petites relectures/optimisations et tests à la maison, qu'en penses-tu ?

thomasprudhomme
Débutant
Débutant

Messages : 3
Date d'inscription : 13/01/2015

http://blog.abcloud.fr

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  Oliv44 le 13/1/2015, 4:24 pm

J'ai commencé moi aussi a mettre le nez dans le PovreShevre. C'est plutot concluant.
Et on se rends vite compte de la puissance du truc.
Ca offre une multitude de possibilité :
- activer plusieurs scenarii en meme temps, faire des snapshot a distance... (des trucs qu'on demande au SC depuis .. ou lalala longtemps !! ) Laughing

Reste plus qu'a mettre tout ca en forme Razz
avatar
Oliv44
Habitué
Habitué

Messages : 772
Date d'inscription : 30/03/2013
Localisation : Nantes

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  thomasprudhomme le 16/1/2015, 2:05 am

Le résultat après une relecture/modification rapide.

J'ai presque rien sous la main pour tester je suis en cours de déménagement du coup les retours sont plus que bienvenue ;-)


Dernière édition par thomasprudhomme le 16/1/2015, 3:59 pm, édité 1 fois

thomasprudhomme
Débutant
Débutant

Messages : 3
Date d'inscription : 13/01/2015

http://blog.abcloud.fr

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  josemi73 le 16/1/2015, 6:39 am

thomasprudhomme a écrit:Le résultat après une relecture/modification rapide.

J'ai presque rien sous la main pour tester je suis en cours de déménagement du coup les retours sont plus que bienvenue ;-)

modification rapide?
New-MyFoxChart, I am looking forward to test it.
It looks great, good job.
Merci

Josemi

josemi73
Habitué
Habitué

Messages : 19
Date d'inscription : 30/07/2014
Localisation : Spain

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  josemi73 le 16/1/2015, 8:08 am

I think it must be rewritten a 'return' instead 'retun' when you are fetching payload items inside Get-MyFoxDeviceShutter function.

function Get-MyFoxDeviceShutter {
   <#
   .SYNOPSIS
       List shutter devices in a selected site.
   .DESCRIPTION
   .EXAMPLE
       Get-MyFoxDeviceShutter -SiteId 0000
   .EXAMPLE
       Get-MyFoxDeviceShutter -SiteId 0000 -Token "Token"
   .PARAMETER
   .INPUTS
   .OUTPUTS
   .NOTES
   .LINK
       http://myfox.forumactif.org/t2230p15-api-myfox-gestion-en-powershell
   #>
   [CmdletBinding()]
   Param(
       [Parameter(Mandatory=$true,
                  Position=0)]
       [String]$SiteId,
       [String]$Token = $Global:myFoxAccessToken
   )
   $body = @{
       access_token = $Token
   }
   $uri = $Global:ApiUrl
   $uri += "/site/$SiteId/device/shutter/items"
   try {
       $data = Invoke-RestMethod -Uri $uri -Body $body -Method Get
       if($data.payload.items -ne $null){
           retun $data.payload.items

josemi73
Habitué
Habitué

Messages : 19
Date d'inscription : 30/07/2014
Localisation : Spain

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  franckj le 16/1/2015, 8:48 am

thomasprudhomme a écrit:Le résultat après une relecture/modification rapide.

J'ai presque rien sous la main pour tester je suis en cours de déménagement du coup les retours sont plus que bienvenue ;-)

Bonjour

J'utilise la première version d'ipaso modifiée pour interroger les capteurs de luminosité, qui pour moi fonctionne parfaitement et remplis mes besoins. Je l'utilise dans plusieurs scripts... Peux-tu me dire ce qu'apporte ta version ? Est-ce que l'emploi reste le même ?

Est-ce que c'est "juste" une réécriture du code ?

Merci

Cdt
Franck

franckj
Débutant
Débutant

Messages : 6
Date d'inscription : 06/01/2015

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  thomasprudhomme le 16/1/2015, 11:19 am

@josemi73
My bad. I just made the correction.
I haven't tested the charts yet because I am in the middle of my moving.

@frankj
En gros j'ai réécris le module pour coller avec les standards de nommage des fonctions PowerShell (par exemple les Get_* au lieu de Get-*) et le support de la fonction Get-Help.
J'ai intégré dans le module les fonctions que tu avais mis dans le topic il y a quelques semaines.
J'ai mis un change log sommaire dans les premières lignes du module.
Si tu utilise la version de lpaso dans d'autres scripts perso et vu les apports de ma version je pense que tu n'as pas besoin de changer.
Fichiers joints
MyFox-v0.6.zip Vous n'avez pas la permission de télécharger les fichiers joints.(9 Ko) Téléchargé 14 fois

thomasprudhomme
Débutant
Débutant

Messages : 3
Date d'inscription : 13/01/2015

http://blog.abcloud.fr

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  franckj le 16/1/2015, 7:02 pm

Merci pour ces précisions.

J'essaierai quand même de tester dès que possible..

franckj
Débutant
Débutant

Messages : 6
Date d'inscription : 06/01/2015

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  lpaso le 28/1/2015, 12:03 pm

Désolé pour mon "absence" mais ce satané forum ne m'averti plus par mail quand il y a des réponses à mes threads !

En attendant, j'ai vu que ça avait bien évolué et que certains s'amusent bien avec mon module ^^

Ca fait plaisir Smile
avatar
lpaso
Habitué
Habitué

Messages : 68
Date d'inscription : 09/08/2014

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  franckj le 6/2/2015, 10:06 pm

Bonsoir à tous

Je viens de recevoir mon détecteur d'inondation, la fonction n'est pas dans le module psm1

function Get_MyFoxDeviceOther($token,$siteID){
$url = "https://api.myfox.me/v2/site/$siteID/device/data/other/items"
$body = @{
access_token = $token
}
$data = Invoke-RestMethod -Uri $url -Body $body -Method Get
if($data.status -eq "OK"){
return $data.payload.items
}
else{
return "Error getting Other Devices."
}
}

Comme j'utilise toujours le module d'ipaso j'ai gardé son format.

Pour appeler la fonction :
Get_MyFoxDeviceOther $mytoken $mysite

franckj
Débutant
Débutant

Messages : 6
Date d'inscription : 06/01/2015

Revenir en haut Aller en bas

Re: API MyFox - gestion en PowerShell

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 2 sur 2 Précédent  1, 2

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum