[résolu] Scripts pour tres grand debutant

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
freulon9292
Messages : 45
Inscription : 03 nov. 2018, 22:53

Re: Scripts pour tres grand debutant

Message par freulon9292 »

pas idiot les %20 !

donc le bash

Code : Tout sélectionner

#!/bin/bash
uptime=$(uptime -p;uptime -s)
string="https://192.168.1.3:9090/json.htm?type=command&param=udevice&idx=68&svalue=${uptime}"
string2=$(echo ${string}|sed 's/ /%20/g')
curl -k $string2
appelé par un script script_device_dummy_switch_1

Code : Tout sélectionner

-- script_device_dummy_switch_1.lua
-- 
commandArray = {}

if (devicechanged['dummy_switch_1'] == "On") then
local file = assert(io.popen('/home/pi/domoticz/scripts/uptime.sh', 'r'))
local output = file:read('*all')
file:close()
print(output)

os.execute("sleep 1")
commandArray['dummy_switch_1']='Off'

end

return commandArray

c'est pas beau, j'en suis conscient mais ça m'affiche l'uptime du PI dans une box texte quand j'appuie sur un interrupteur qui revient à sa position initiale.

Bien ... question subsidiaire :
je suis bien dans un event device alors pourquoi j'ai ça dans les logs ?
Error: EventSystem: in script_device_dummy_switch_1.lua: [string "-- script_device_dummy_switch_1.lua..."]:5: attempt to index global 'devicechanged' (a nil value)
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Scripts pour tres grand debutant

Message par thier »

Il fut un temps qui n'est peut être plus d'actualité ou le nom du script ne devait pas contenir le nom du device.
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.
freulon9292
Messages : 45
Inscription : 03 nov. 2018, 22:53

Re: Scripts pour tres grand debutant

Message par freulon9292 »

Error: EventSystem: in script_device_uptime_1.lua: [string "-- script_device_uptime_1.lua..."]:5: attempt to index global 'devicechanged' (a nil value)
c'était facile à vérifier.
ce n'est hélas pas ça la cause.
mon script name qui commence par script_device_xxx c'est bien correct ? (j'ai vérifié, mais j'ai pas tout compris à ce que j'ai lu)

et sinon, ils sont stockés où et comment, les scripts
parce qu'une recherche sur mon pi ne donne pas grand chose ...
pi@raspberrypi:~/domoticz $ sudo find / |grep script_device
/home/pi/domoticz/scripts/python/script_device_demo.py
/home/pi/domoticz/scripts/lua/script_device_demo.lua
je retrouve pas mon script !
2019-03-08 17_55_48-Window.png
2019-03-08 17_55_48-Window.png (34.94 Kio) Consulté 2661 fois
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: Scripts pour tres grand debutant

Message par lmet »

Bonsoir,

° Ton script devrait être de type "Device" et non "All"
° Tu utilises les scripts à l'aide de l'éditeur :
- Plus de contrainte de nom tu peux l'appeler "Uptime" par exemple au lieu de "script_device_uptime_1.lua"
- Les scripts sont sauvegardés dans la base de données de Domoticz
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
freulon9292
Messages : 45
Inscription : 03 nov. 2018, 22:53

Re: Scripts pour tres grand debutant

Message par freulon9292 »

wow ...

problème résolu.

Merci, j'ai plus qu'à m'y mettre sérieusement, maintenant.
Répondre