Page 1 sur 2
[Résolu] Recuperer Notification Batterie ..% (Branché, pas en charge)
Publié : 14 avr. 2016, 23:49
par balajol
Bonsoir,
Petite question qui me trotte dans la tête
Y a t'il une possibilité de récupérer l' état de cette notification sous SEVEN (HP Elite Book2570p) afin de l'utiliser pour commander un "DUMMY"
Si la batterie de décharge sous un certain seuil : Coupure secteur ...> alarme par SMS (Je fait déjà avec FREE)
L'information "branché" change peut être également en cas de coupure secteur (A vérifier)
Merci par avance
Bertrand
Re: Recuperer Notification Batterie ..% (Branche, pas en charge)
Publié : 15 avr. 2016, 09:50
par patrice
Re: Recuperer Notification Batterie ..% (Branche, pas en charge)
Publié : 15 avr. 2016, 10:57
par balajol
Bonjour Patrice,
Merci pour ces liens, faut que je "gratte " tout cela (débutant avec powershell)
Cdt
Bertrand
Re: Recuperer Notification Batterie ..% (Branche, pas en charge)
Publié : 15 avr. 2016, 11:02
par vil1driver
Et ouiii, mais c'est bien plus motivant et gratifiant qu'un TP à l'école qui ne va servir à rien..

Re: Recuperer Notification Batterie ..% (Branche, pas en charge)
Publié : 15 avr. 2016, 12:57
par balajol
Bonjour vil1driver ,
Je ne suis on ne peut plus d'accord mais étant donné mon âge avancé (55

) , curieux de nature, j'ai toujours gardé le plaisir d'apprendre

, mais je suis un peu plus lent
Bertrand
Re: Recuperer Notification Batterie ..% (Branche, pas en charge)
Publié : 16 avr. 2016, 11:23
par balajol
Bonjour,
La commande POWERSHELL : Get-WmiObject -Class Win32_Battery).estimatedchargeremaining
renvoi bien le % de charge Batterie (3 chiffres Maxi , sans virgule).
Quelqu'un pourrait il me mettre en forme la syntaxe pour utiliser la valeur donnée en retour par la commande powershell ?
A priori je dois passer par Json pour modifier la valeur d'un Dispositif "DUMMY".. (Copie ci-jointe)
2 Solutions, soit gérer la valeur par if.. sous powershell (ce que je ne sais pas encore faire) soit récupérer cette valeur dans un "Dummy", type? puis passer par Blocky (ce que je sais faire)
Le but: lorsque le niveau de charge de la batterie passera sous 60 % je passerai par un script, soit sur le Dispositif ou par blocky (je sais faire par moi-même ) pour envoyer un sms.
Merci par avance
Cdt
Bertrand
Re: Recuperer Notification Batterie ..% (Branche, pas en charge)
Publié : 16 avr. 2016, 17:43
par patrice
Bonsoir
Je te fais un petit script powershell ce soir pour alimenter un dummy widget pourcentage avec la valeur de la batterie
Re: Recuperer Notification Batterie ..% (Branche, pas en charge)
Publié : 16 avr. 2016, 17:55
par balajol
Bonsoir,
Merci Patrice , sympa
Cdt
Bertrand
Re: Recuperer Notification Batterie ..% (Branche, pas en charge)
Publié : 16 avr. 2016, 19:08
par patrice
Bien ça fait un truc comme ca
il faut avoir un powershell > 2.0 (windws 7 a jour et superieur)
il faut avoir activé poweshell
http://www.pcastuces.com/pratique/astuces/3908.htm
et mettre ca dans un planificateur de tache
lecture ici
http://easydomoticz.com/utiliser-planif ... owershell/
voila le script
il faut mettre l'idx de ton widget pourcentage dans idx et les bonnes adresses de Domoticz et le mdp/user eventuel
Code : Tout sélectionner
# --- les adresses Domoticz user/pass et l'idx à activer --------
$domoticz="http://192.168.1.81:8080"
$user=""
$pass=""
$idx="220"
#------------------------------------------
# -----debug a 1 pour afficher qq messages, 0 sinon ----
$debug=1
#------------------------------
# la commande powershell pour recuperer etat batteries
$pourcent_batterie = (Get-WmiObject win32_battery).estimatedChargeRemaining
#------------------------------
$pair = "${user}:${pass}"
$bytes = [System.Text.Encoding]::ASCII.GetBytes($pair)
$base64 = [System.Convert]::ToBase64String($bytes)
$basicAuthValue = "Basic $base64"
$headers = @{ Authorization = $basicAuthValue }
## la commande json a passer est
# /json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=PERCENTAGE
$url1="/json.htm?type=command¶m=udevice&idx="+$idx
$url2="&nvalue=0&svalue="+$pourcent_batterie
$urldz=($domoticz+$url1+$url2)
#Invoke the web-request avec les headers d'authentification
try { $json=Invoke-WebRequest -uri $urldz -Headers $headers } catch
{
$_.Exception.Response.StatusCode.Value__
if ($_.Exception.Response.StatusCode.Value__-eq 401) {write-host "erreur authentification user/pass"}
}
# recup reponse JSON
$infos_json = ConvertFrom-Json -InputObject $json
#recuperation depuis $infos_json avelc les libelles Domoticz
$Val_Retour=$infos_json.status
if ($debug-eq 1) {
Write-Host 'pourcentage: ' $pourcent_batterie
Write-Host $json
Write-Host "url Domoticz=" $urldz
Write-Host "message Json="$json
}
J'espere que cela fonctionnera comme voulu
Re: Recuperer Notification Batterie ..% (Branche, pas en charge)
Publié : 18 avr. 2016, 20:38
par balajol
Bonsoir Patrice et tous,
Parfait
Une petite chose à Ajouter pour celui qui ferait la même chose, il ne faut pas oublier de décocher "Ne démarrer la Tâche que si l'ordinateur est relié au secteur " dans "Conditions" pour créer la tache planifiée.
Comme vous l'aurez compris, cette "Fonction" va me permettre de détecter une coupure de courant sur l'alimentation du PC "Serveur DOMOTICZ" sans ajout d'un module Spécifique

.
En résumé, Le DUMMY présenté plus Haut est renseigné par la Routine POWERSHELL à la fréquence Voulue.
Un évènement "Blocky" Commute à ON un autre DUMMY/Interrupteur configuré en ON/OFF, On Sous un certain Seuil de Batterie, Off Au dessus.
Fonction "editer" de cet interrupteur, Script envoi d'un SMS sur on et sur Off (Freebox sur alimentation secourue)
Je serai donc averti par SMS en cas de coupure de courant sur la ligne qui alimente le PC.
Je termine les tests qui sont concluants à ce stade et revient vers vous
Merci encore à PATRICE sans qui je ne serai pas allé bien loin.
Cordialement
Bertrand