Parce que les applications du Raspberry Pi sont illimités...
Modérateur : Francois
-
Moulins58
- Messages : 31
- Enregistré le : jeu. 11 févr. 2021 20:46
- Localisation : Nantes
Message
par Moulins58 » lun. 12 avr. 2021 09:02
J'ai mis en place le script lua "script_time_battery" je n'ai aucune remontée mais une erreur dans les log :
Code : Tout sélectionner
2021-04-12 08:30:00.347 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_battery.lua: /home/pi/domoticz/scripts/lua/JSON.lua:808: HTML passed to JSON:decode(): <html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></body></html>
De quoi s'agit-il?
Bonne journée.
-
domi
- Administrateur
- Messages : 3234
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Message
par domi » lun. 12 avr. 2021 20:26
Bonjour,
apparemment le script n'a pas accès à ce lien : /home/pi/domoticz/scripts/lua/JSON.lua
-
Moulins58
- Messages : 31
- Enregistré le : jeu. 11 févr. 2021 20:46
- Localisation : Nantes
Message
par Moulins58 » mar. 13 avr. 2021 09:31
Merci pour la réponse! Mais pourquoi, j'ai suivi le tuto à la lettre.
Le voici:
Code : Tout sélectionner
-- =========================================
-- Check battery level for all used devices
-- =========================================
-- User Configuration
BatteryThreshold = 20
WeeklySummary = true -- Envoi le W-E (oui ou non)
SummaryDay = 2-- Sunday is 1
EmailTo = "xxxxxxxxx@gmail.com"
ReportHour = 18
ReportMinute = 00
Domoticz = "192.168.1.xx"
DomoticzPort = "8080"
Sujet = ''
Message = ''
EnvoiMail = false
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")() -- linux
--json = (loadfile "C:\\Domoticz\\scripts\\lua\\json.lua")() -- windows
commandArray = {}
time = os.date("*t")
-- Weekly Device Battery Summary
if WeeklySummary == true and time.wday == SummaryDay and time.hour == ReportHour and time.min == ReportMinute then
-- Get a list of all devices
handle = io.popen("curl '" .. Domoticz .. ":" .. DomoticzPort .. "/json.htm?type=devices&order=name'")
devicesJson = handle:read('*all')
handle:close()
devices = json:decode(devicesJson)
BattToReplace = false
Sujet = 'Info Domoticz : Niveau des Batteries'
for i,device in ipairs(devices.result) do
if device.BatteryLevel < 100 then -- and device.Used == 1 then
Message = Message .. device.Name .. ' : Batteries = ' .. device.BatteryLevel .. '%<br>'
print(device.Name .. ' : Batteries = ' .. device.BatteryLevel .. '%')
EnvoiMail = true
end
end
-- Daily Low Battery Report
elseif time.hour == ReportHour and time.min == ReportMinute then
-- Get a list of all devices
handle = io.popen("curl '" .. Domoticz .. ":" .. DomoticzPort .. "/json.htm?type=devices&order=name'")
devicesJson = handle:read('*all')
handle:close()
devices = json:decode(devicesJson)
BattToReplace = false
Sujet = 'Alerte Domoticz : Niveau Batteries faible'
for i,device in ipairs(devices.result) do
if device.BatteryLevel < BatteryThreshold then -- and device.Used == 1 then
Message = Message .. device.Name .. ' : Batteries = ' .. device.BatteryLevel .. '%<br>'
print(device.Name .. ' : Batteries = ' .. device.BatteryLevel .. '%')
EnvoiMail = true
end
end
end
if EnvoiMail == true then
commandArray['SendEmail']=Sujet .. '#' .. Message .. '#' .. EmailTo
end
return commandArray
Qu'elle est la solution.
-
domi
- Administrateur
- Messages : 3234
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Message
par domi » mar. 13 avr. 2021 18:34
Bonjour,
Il faut vérifier les droits sur les fichiers