Page 4 sur 10

Re: Planning de chauffage

Publié : 06 nov. 2019, 18:53
par Wolfen38
vil1driver a écrit : 06 nov. 2019, 18:49 Essai cette façon de faire

Code : Tout sélectionner

commandArray['UpdateDevice']=otherdevice_idx["Thermostat Réglage"]..'|0|18'

Il a pas l'air d'aimer.

Code : Tout sélectionner

2019-11-06 18:52:52.995 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_chauffage.lua: /home/pi/domoticz/scripts/lua/script_device_chauffage.lua:12: attempt to index a nil value (global 'otherdevice_idx')

Re: Planning de chauffage

Publié : 06 nov. 2019, 18:59
par vil1driver
Mea-culpa

Ya un s à otherdevices_idx

Re: Planning de chauffage

Publié : 06 nov. 2019, 19:05
par Wolfen38
Franchement, faut bien avouer, t'es balaise.

Merci beaucoup.

Re: Planning de chauffage

Publié : 06 nov. 2019, 19:12
par Wolfen38
Du coup, je l'ai complété, de facon simple je pense

Code : Tout sélectionner

-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')

-- Récupère l'heure actuelle.
local heure = os.date('%H:%M')

local debug = true

time = os.date("*t")

commandArray = {}

if devicechanged['Inter chauffage'] == 'On' then
    commandArray['UpdateDevice']=otherdevices_idx["Thermostat Réglage"]..'|0|20'
	print("Thermostat sur 20°")
			
	else
	
	if (devicechanged['Inter chauffage'] == 'Off' and otherdevices['Presence-syb'] == 'Off') then
	    commandArray['UpdateDevice']=otherdevices_idx["Thermostat Réglage"]..'|0|18'
		print("Thermostat sur 18°")
		end
	
end

if (devicechanged['Presence-syb'] == 'On' and otherdevices['Inter chauffage'] == 'Off') then
        commandArray['UpdateDevice']=otherdevices_idx["Thermostat Réglage"]..'|0|20'
		print("Thermostat sur 20°")
		end
		
if (devicechanged['Virtuel alarme'] == 'On' and heure >= '08:30' and heure <= '17:30') then
        commandArray['UpdateDevice']=otherdevices_idx["Thermostat Réglage"]..'|0|18'
        print("Thermostat sur 18°")
	
	else
	
	if (devicechanged['Virtuel alarme'] == 'Off' and heure >= '08:30' and heure <= '17:30') then
		commandArray['UpdateDevice']=otherdevices_idx["Thermostat Réglage"]..'|0|20'
		print("Thermostat sur 20°")
		end
	
end


return commandArray


Re: Planning de chauffage

Publié : 06 nov. 2019, 21:07
par Neutrino
Par contre, ça :

Code : Tout sélectionner

heure >= '08:30' and heure <= '17:30'
Je ne vois pas comment ça peut fonctionner.

Re: Planning de chauffage

Publié : 07 nov. 2019, 07:03
par Wolfen38
Neutrino a écrit : 06 nov. 2019, 21:07 Par contre, ça :

Code : Tout sélectionner

heure >= '08:30' and heure <= '17:30'
Je ne vois pas comment ça peut fonctionner.
Pourquoi ?

Re: Planning de chauffage

Publié : 07 nov. 2019, 07:38
par Neutrino
Tu compares 2 chaînes de caractères comme des nombres.
Ça va fonctionner seulement à 8:30 et 17:30 quand la condition sera égale.
Mais elle ne sera jamais supérieure ou inférieure.

Re: Planning de chauffage

Publié : 07 nov. 2019, 07:41
par Wolfen38
Neutrino a écrit :Tu compares 2 chaînes de caractères comme des nombres.
Ça va fonctionner seulement à 8:30 et 17:30 quand la condition sera égale.
Mais elle ne sera jamais supérieure ou inférieure.
Ah merde.
Bon ok je vais être bon pour passer en minutes

Envoyé de mon Mi A1 en utilisant Tapatalk


Re: Planning de chauffage

Publié : 07 nov. 2019, 08:09
par ogulf
Neutrino a écrit : 07 nov. 2019, 07:38 Tu compares 2 chaînes de caractères comme des nombres.
Ça va fonctionner seulement à 8:30 et 17:30 quand la condition sera égale.
Mais elle ne sera jamais supérieure ou inférieure.
Tu es certain ?
Il me semble pourtant qu'on peut classer des chaînes de caractères, et qu'en l'occurrence la chaîne '12:34' est bien supérieure à '08:30' et inférieure à '17:30' ??

Re: Planning de chauffage

Publié : 07 nov. 2019, 08:36
par Wolfen38
En effet j'ai un autre script du genre et il me semble qu'il fonctionne.
Je vais tester avant de changer.

Envoyé de mon Mi A1 en utilisant Tapatalk