aide pour réalisation script en lua

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 <\>.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: aide pour réalisation script en lua

Message par vil1driver »

Les actions ne sont pas en temps réel, il faut attendre l'instance suivante du script pour tester le nouvel état.

Tout commandArray ne sera exécuté qu'à la fin du script (return commandArray)

Tu ne peux donc pas espérer voir le changement d'état au sein même du script qui en fait la demande
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: aide pour réalisation script en lua

Message par thier »

+1 pour la commande json. Après j'ai eu un truc bizarre ce week-end en voulant faire un script pour un pluviométre. Il ne voulait pas d'espace dans le nom. En supprimant l'espace le script a fonctionné. Et après en remettant l'espace le script fonctionne. Peut être essayer en renommant le device et dans le script avec StoreTerrasse. Va savoir...
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: aide pour réalisation script en lua

Message par Keros »

vil1driver a écrit : 17 mai 2020, 18:40 Les actions ne sont pas en temps réel, il faut attendre l'instance suivante du script pour tester le nouvel état.

Tout commandArray ne sera exécuté qu'à la fin du script (return commandArray)

Tu ne peux donc pas espérer voir le changement d'état au sein même du script qui en fait la demande
Oui, j'avais oublié ce point. J'étais dans l'idée d'avoir le plus d'infos possibles :cry:
thier a écrit : 17 mai 2020, 18:52 +1 pour la commande json. Après j'ai eu un truc bizarre ce week-end en voulant faire un script pour un pluviométre. Il ne voulait pas d'espace dans le nom. En supprimant l'espace le script a fonctionné. Et après en remettant l'espace le script fonctionne. Peut être essayer en renommant le device et dans le script avec StoreTerrasse. Va savoir...
Thier, merci ton post me fait penser à un truc à la con ... vr6man, tu pourrais essayer ceci :

Code : Tout sélectionner

function logToFile(data)
	f = assert(io.open('/tmp/log_test.txt',"a"))
	f:write(os.date("%c")..' '..data..'\n')
	f:close()
end

commandArray = {}

-- loop through all the changed devices
for deviceName,deviceValue in pairs(devicechanged) do
    print ("Device based event fired on '"..deviceName.."', value '"..tostring(deviceValue).."'")
    logToFile("Device based event fired on '"..deviceName.."', value '"..tostring(deviceValue).."'")
    print('otherdevices[\'Nuit\'] '..otherdevices['Nuit'])
    logToFile('otherdevices[\'Nuit\'] '..otherdevices['Nuit'])
    if (deviceName=='Nuit') then
    	print("Device "..deviceName.." detected")
    	logToFile("Device "..deviceName.." detected")
        if deviceValue == "On" then
            	print("Nuit is On")
            	logToFile("Nuit is On")
            	print('otherdevices[\'Store Terrasse\'] '..otherdevices['Store Terrasse'])
            	logToFile('otherdevices[\'Store Terrasse\'] avant '..otherdevices['Store Terrasse'])
		commandArray["Store Terrasse"]="Off"
        end
    end
print("End event fired on "..deviceName)
logToFile("End event fired on "..deviceName)
end

return commandArray
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 pour réalisation script en lua

Message par vr6man »

commande terrasse commande déjà les qubino en json comme dis dans une page

voici les valeurs de Store Terrasse:

Action On
http://192.168.0.251:8080/json.htm?type ... itchcmd=On

Action Off
http://192.168.0.251:8080/json.htm?type ... itchcmd=On
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide pour réalisation script en lua

Message par vr6man »

Keros ton dernier script ne fonctionne pas

le store ne se ferme pas au passage de nuit a on

voici les logs
  • n May 17 19:13:27 2020 otherdevices['Nuit'] Off
    Sun May 17 19:13:27 2020 End event fired on Teleinfo 1 kWh Heures Pleines_Utility
    Sun May 17 19:13:27 2020 Device based event fired on 'Teleinfo 1 kWh Heures Pleines', value '1150.000;2047661.000'
    Sun May 17 19:13:27 2020 otherdevices['Nuit'] Off
    Sun May 17 19:13:27 2020 End event fired on Teleinfo 1 kWh Heures Pleines
    Sun May 17 19:13:27 2020 Device based event fired on 'Teleinfo 1 kWh Total_Utility', value '1150.0'
    Sun May 17 19:13:27 2020 otherdevices['Nuit'] On
    Sun May 17 19:13:27 2020 End event fired on Teleinfo 1 kWh Total_Utility
    Sun May 17 19:13:27 2020 Device based event fired on 'Teleinfo 1 kWh Total', value '2047661;1262445;0;0;1150;0'
    Sun May 17 19:13:27 2020 otherdevices['Nuit'] On
    Sun May 17 19:13:27 2020 End event fired on Teleinfo 1 kWh Total
    Sun May 17 19:13:27 2020 Device based event fired on 'Teleinfo 1 Courant', value '5.0;0.0;0.0'
    Sun May 17 19:13:27 2020 otherdevices['Nuit'] On
    Sun May 17 19:13:27 2020 End event fired on Teleinfo 1 Courant
    Sun May 17 19:13:27 2020 Device based event fired on 'Teleinfo 1 Pourcentage de Charge', value '8.33'
    Sun May 17 19:13:27 2020 otherdevices['Nuit'] On
    Sun May 17 19:13:27 2020 End event fired on Teleinfo 1 Pourcentage de Charge
    Sun May 17 19:13:27 2020 Device based event fired on 'Teleinfo 1 Pourcentage de Charge_Utility', value '8.3299999237061'
    Sun May 17 19:13:27 2020 otherdevices['Nuit'] On
    Sun May 17 19:13:27 2020 End event fired on Teleinfo 1 Pourcentage de Charge_Utility
    Sun May 17 19:13:28 2020 Device based event fired on 'Nuit', value 'On'
    Sun May 17 19:13:28 2020 otherdevices['Nuit'] On
    Sun May 17 19:13:28 2020 Device Nuit detected
    Sun May 17 19:13:28 2020 Nuit is On
    Sun May 17 19:13:28 2020 otherdevices['Store Terrasse'] avant On
    Sun May 17 19:13:28 2020 End event fired on Nuit
    Sun May 17 19:13:28 2020 Device based event fired on 'Sonde Chambre RDC_Temperature', value '21.10000038147'
    Sun May 17 19:13:28 2020 otherdevices['Nuit'] On
    Sun May 17 19:13:28 2020 End event fired on Sonde Chambre RDC_Temperature
    Sun May 17 19:13:28 2020 Device based event fired on 'Sonde Chambre RDC', value '21.1;49;1'
    Sun May 17 19:13:28 2020 otherdevices['Nuit'] On
    Sun May 17 19:13:28 2020 End event fired on Sonde Chambre RDC
    Sun May 17 19:13:28 2020 Device based event fired on 'Sonde Chambre RDC_Dewpoint', value '9.9706773757935'
    Sun May 17 19:13:28 2020 otherdevices['Nuit'] On
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: aide pour réalisation script en lua

Message par thier »

Les qubino sont bien des devices de type pushOn ?
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide pour réalisation script en lua

Message par vr6man »

thier a écrit : 17 mai 2020, 19:43 Les qubino sont bien des devices de type pushOn ?
Oui
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: aide pour réalisation script en lua

Message par Keros »

vr6man a écrit : 17 mai 2020, 19:08 commande terrasse commande déjà les qubino en json comme dis dans une page

voici les valeurs de Store Terrasse:

Action On
http://192.168.0.251:8080/json.htm?type ... itchcmd=On

Action Off
http://192.168.0.251:8080/json.htm?type ... itchcmd=On
J'ai compris que tu commandais tes qubino en Json. La question est maintenant : est-ce que l'on peut commander Store Terasse en Json :roll:

Tu peux faire le test via ton navigateur et si cela fonctionne, on le mettra dans le script.
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 pour réalisation script en lua

Message par vr6man »

je ne sais pas commander store terrasse en json mais oui si je met les commandes json directement dans un navigateur ca marche

Après ton avant dernier script fonctionne aussi
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: aide pour réalisation script en lua

Message par Keros »

Justement, je t'ai demandé d'essayer de commander store terrasse en json : pour cela, il te faut l'IDX de Store Terrasse

Dans ton navigateur, tu rentres l'adresses suivante en remplaçant les valeurs en gras : http://192.168.0.251:8080/json.htm?type=command&param=switchlight&idx=100&switchcmd=Off
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