aide script lua chauffage

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide script lua chauffage

Message par vr6man »

Keros a écrit : 09 déc. 2020, 22:24
Keros a écrit : 09 déc. 2020, 21:27 Ce qui me parait bizarre, c'est que tu ais des then qui ne sont pas sur la même ligne que les if ...
Je faisais rapport à ce que t'avais écrit (mais c'était un edit, peut-être que tu ne l'as pas vu)
non pas vu et j'ai pas bien compris
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: aide script lua chauffage

Message par Keros »

Il semble voir que tu as des then qui ne sont pas sur la même ligne que les if.

Non, ne remplaces pas other device par devicechanged : ça ne fonctionnera plus. Ce serait la structure de ton script qui n'est pas bonne. Sans un devicechanged[nomdudispositif] ton script peut se lancer pour toutes les modif de devices, y compris celles faites par le script. D'où une boucle infinie et le plantage.

Regarde le script de base proposé dans Domoticz : tu devrais voir que l'on test le nom du device pour n'exécuter le script qu'au moment où ce device change.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide script lua chauffage

Message par vr6man »

non les then sont bon c'est copier/coller qui fait ca

je remet le script

Code : Tout sélectionner

commandArray={}
-- Script de gestion du Chauffage

-- Allumage Chauffage sur planification
	if otherdevices['Absence']=='Off' and otherdevices['Chauffage']=='On' and otherdevices['Chauffage ZONE Pieces Vie']~='Set Level 99' and otherdevices['Chauffage ZONE Chambres']~='Set Level 99' then
	
        commandArray['Chauffage ZONE Pieces Vie']='Set Level 99'
        commandArray['Chauffage ZONE Chambres']='Set Level 99'
        print('Allumage chauffage sur programmation')
        
    end
	
-- Arret Chauffage sur planification
    	if otherdevices['Chauffage']=='Off' then
        ommandArray['Chauffage ZONE Pieces Vie']='Set Level 21'
        commandArray['Chauffage ZONE Chambres']='Set Level 21'
        print('Extinction chauffage sur programmation')
    	end

return commandArray
mon device déclencheur est le sw virtuel Chauffage du coup ca donnerait ca

Code : Tout sélectionner

commandArray={}
-- Script de gestion du Chauffage

-- Allumage Chauffage sur planification
	if otherdevices['Absence']=='Off' and devicechanged['Chauffage']=='On' and otherdevices['Chauffage ZONE Pieces Vie']~='Set Level 99' and otherdevices['Chauffage ZONE Chambres']~='Set Level 99' then
	
        commandArray['Chauffage ZONE Pieces Vie']='Set Level 99'
        commandArray['Chauffage ZONE Chambres']='Set Level 99'
        print('Allumage chauffage sur programmation')
        
    end
	
-- Arret Chauffage sur planification
    	if otherdevices['Chauffage']=='Off' then
        ommandArray['Chauffage ZONE Pieces Vie']='Set Level 21'
        commandArray['Chauffage ZONE Chambres']='Set Level 21'
        print('Extinction chauffage sur programmation')
    	end

return commandArray
En gros je veux faire un script qui déclenche les é zones de vie quand le device absent est à off et que le device chauffage est à On
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide script lua chauffage

Message par vr6man »

Bon alors y a du mieux le script ne plante plus domoticz

par contre il ne commande pas correctement les modules qubino

Chauffage ZONE Pieces Vie
Chauffage ZONE Chambres

Ces 2 modules sont des sélecteurs avec comme niveau

0 Off
10 H-Gel
20 Eco
30 CF-1°c
40 CF-2°c
50 Confort

le script met ces 2 modules a l'état undefinied sous domoticz ce qui fait que si je met chauffage a ON les radiateurs s'allument bien et quand je met chauffage a off les radiateurs ne s'éteignent pas

pour les 2 changements état les Devices zone (pieces de vie et chambres) reste sous domoticz à undefenied

voila le script

Code : Tout sélectionner

commandArray={}
-- Script de gestion du Chauffage

-- Allumage Chauffage sur planification
	if otherdevices['Absence']=='Off' and devicechanged['Chauffage']=='On' and otherdevices['Chauffage ZONE Pieces Vie']~='Set Level 99' and otherdevices['Chauffage ZONE Chambres']~='Set Level 99' then
        commandArray['Chauffage ZONE Pieces Vie']='Set Level 99'
        commandArray['Chauffage ZONE Chambres']='Set Level 99'
        print('Allumage chauffage sur programmation')
        
    end
	
-- Arret Chauffage sur planification
    	if otherdevices['Chauffage']=='Off' then
        commandArray['Chauffage ZONE Pieces Vie']='Set Level 21'
        commandArray['Chauffage ZONE Chambres']='Set Level 21'
        print('Extinction chauffage sur programmation')
    	end

return commandArray
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

Re: aide script lua chauffage

Message par boum »

Voir
viewtopic.php?t=4996
et
viewtopic.php?t=2968

NB: consulte les liens de la signature de Keros. Tu aurais pu trouver une piste an faisant un print des otherdevice[bla].
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: aide script lua chauffage

Message par denis_brasseur »

vr6man a écrit : 10 déc. 2020, 08:30
Chauffage ZONE Pieces Vie
Chauffage ZONE Chambres

Ces 2 modules sont des sélecteurs avec comme niveau

0 Off
10 H-Gel
20 Eco
30 CF-1°c
40 CF-2°c
50 Confort
Alors pourquoi envoyer Set Level 99 ?

Code : Tout sélectionner

commandArray['Chauffage ZONE Pieces Vie']='Set Level 99'
commandArray['Chauffage ZONE Chambres']='Set Level 99'
D'où le undefinied

De plus, le test de la valeur d'un device selector ne se fait pas su le level, mais sur la valeur

Code : Tout sélectionner

if otherdevices['Chauffage ZONE Pieces Vie'] ~= 'Confort' then
Regarde également ta condition

Code : Tout sélectionner

-- Arret Chauffage sur planification
    	if otherdevices['Chauffage']=='Off' then
Si l'arrêt de ton chauffage est basé sur le changement d'état de ton device 'Chauffage', cela ne va pas fonctionner.

Reprend les principes des scripts, les scripts proposés par défaut lors de leurs créations sont de très bons exemples
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide script lua chauffage

Message par vr6man »

Bon je viens de tester si je change la condition de vérification de set level9 par confort alors le script tourne en boucle et plante Domoticz

j'ai fait un test en supprimant les conditions de vérification sur les 2 zones et le script tourne aussi en boucle et plante domoticz

j'ai regardé les exemples et je ne comprends pas d'ou viens mon erreur
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: aide script lua chauffage

Message par Keros »

Remets nous ton code, on ne peut pas savoir où tu en es.

Déjà, essaye de faire la partie Allumage Chauffage sur planification. Tu ferras l'arrêt quand la première partie fonctionnera.

Donc si tu t’inspires des exemple de DomoticZ, ton code devrait être similaire à çà :

Code : Tout sélectionner

commandArray = {}

-- loop through all the changed devices
for deviceName,deviceValue in pairs(devicechanged) do
    print ("Device based event fired on '"..deviceName.."', value '"..tostring(deviceValue).."'");
    if (deviceName=='myDevice') then
        if deviceValue == "On" then
            print("Device is On")
        elseif deviceValue == "Off" then
             print("Device is Off")
        end
    end
end

return commandArray
C'est la base, il faut la respecter.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide script lua chauffage

Message par vr6man »

Alors la c'est du chinois pour moi

Je comprends pas comment transposer cet exemple à mon besoin
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: aide script lua chauffage

Message par Keros »

Ce script (ou son petit frère pour être utiliser avec le trigger time) est le script qui sert d'exemple lorsque tu créé un script dans Configuration / Plus d'option / Evènements. Si tu ne comprends pas cette base, je regarde le lien Débuter en programmation dans ma signature. Tu y trouveras les explications pour comprendre ce code.

En faisant des copier-coller, ça peut fonctionner mais quand ça ne fonctionne pas, il est quelque fois nécessaire de repartir de zéro pour retrouver une base saine et fonctionnelle.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre