Page 1 sur 1

erreur script_time_battery

Posté : lun. 12 avr. 2021 09:02
par Moulins58
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.

Re: erreur script_time_battery

Posté : lun. 12 avr. 2021 20:26
par domi
Bonjour,

apparemment le script n'a pas accès à ce lien : /home/pi/domoticz/scripts/lua/JSON.lua

Re: erreur script_time_battery

Posté : mar. 13 avr. 2021 09:31
par Moulins58
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.

Re: erreur script_time_battery

Posté : mar. 13 avr. 2021 18:34
par domi
Bonjour,

Il faut vérifier les droits sur les fichiers