Web Relay Con V2.0 HW-584

Forum dédié aux bricolages d'objets connectés IOT et leurs communications avec DomoticZ :
- Remplacement de firmware des prises, modules relais ...
- Fabrication à base d'ESP8266, de NodeMCU, de Weemos et consorts ...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Web Relay Con V2.0 HW-584

Message par Keros »

Toutes les lignes de logs ne correspondent pas à ton script.

Une qui nous intéresse est :
billyken a écrit : 11 nov. 2022, 22:10 2022-11-11 21:48:00.525 Error: dzVents: Error: (3.1.8) WebRelay 1.0: ...ents\generated_scripts/Test Entree Carte RJ45 Garage.lua:34: attempt to concatenate a nil value (global 'ipWeb')
Elle indique que la variable ipWeb est vide.

Elle est utilisée à la ligne local url = "http://"..ipWeb..":"..port.."/98"

Or la définition est local ipWebRelay = "192.168.1.4"

Neutrino a fait une petite erreur que tu peux corriger en faisant du débogage ;)
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
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Web Relay Con V2.0 HW-584

Message par Neutrino »

J'avais dit que c'était pas testé :mrgreen:

Tu n'es pas obligé de créer autant de matériels Dummy. Un seul suffit à créer l'ensemble des dispositifs.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
billyken
Messages : 54
Inscription : 15 janv. 2021, 00:42

Re: Web Relay Con V2.0 HW-584

Message par billyken »

j'ai modifier la ligne de code en mettant ipWebRelay a la place de ipWeb

Code : Tout sélectionner

		if item.isTimer then
			local url = "http://"..ipWebRelay..":"..port.."/98"
			domoticz.log('Requesting data from relay', domoticz.LOG_DEBUG)
			domoticz.openURL({url = url, method = 'GET', callback = scriptName}).afterSec(7)


voici le nouveau log
j'ai modifier l'entrée 8 et il recupere bien la bonne info mais il reste un probleme on dirait

Code : Tout sélectionner

2022-11-12 08:14:00.363 Status: dzVents: Info: WebRelay 1.0: ------ Start internal script: Test Entree Carte RJ45 Garage:, trigger: "every 1 minutes"
2022-11-12 08:14:00.363 Status: dzVents: Debug: WebRelay 1.0: Requesting data from relay
2022-11-12 08:14:00.363 Status: dzVents: Debug: WebRelay 1.0: OpenURL: url = http://192.168.1.4:8080/98
2022-11-12 08:14:00.363 Status: dzVents: Debug: WebRelay 1.0: OpenURL: method = GET
2022-11-12 08:14:00.363 Status: dzVents: Debug: WebRelay 1.0: OpenURL: post data = nil
2022-11-12 08:14:00.363 Status: dzVents: Debug: WebRelay 1.0: OpenURL: headers = nil
2022-11-12 08:14:00.363 Status: dzVents: Debug: WebRelay 1.0: OpenURL: callback = WebRelay
2022-11-12 08:14:00.363 Status: dzVents: Info: WebRelay 1.0: ------ Finished Test Entree Carte RJ45 Garage



2022-11-12 08:16:07.607 Status: dzVents: Info: Handling httpResponse-events for: "WebRelay"
2022-11-12 08:16:07.607 Status: dzVents: Info: WebRelay 1.0: ------ Start internal script: Test Entree Carte RJ45 Garage: HTTPResponse: "WebRelay"
2022-11-12 08:16:07.607 Status: dzVents: Info: WebRelay 1.0: ------ Finished Test Entree Carte RJ45 Garage
2022-11-12 08:16:07.560 Error: Error opening url: http://192.168.1.4:8080/98
2022-11-12 08:16:07.607 Error: dzVents: Error: (3.1.8) WebRelay 1.0: HTTP/1.1 response: 18 ==>> Transferred a partial file
2022-11-12 08:16:07.607 Error: dzVents: Error: (3.1.8) WebRelay 1.0: Last http response was not what expected. Trigger: WebRelay
2022-11-12 08:16:07.607 Error: dzVents: Error: (3.1.8) WebRelay 1.0: 1000000011111110



Tu n'es pas obligé de créer autant de matériels Dummy. Un seul suffit à créer l'ensemble des dispositifs.
oui effectivement j'avais pas percuter comme ca je surcharge pour rien du coup je devrais crée un seul materiel et apres crée les 8 capteur virtuel en partant de celui ci
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Web Relay Con V2.0 HW-584

Message par Neutrino »

La carte doit renvoyer une réponse pas très standard.
Enlève la partie suivante pour voire si c'est mieux.

Code : Tout sélectionner

if (not response.ok) or (response.trigger ~= scriptName) then
			domoticz.log('Last http response was not what expected. Trigger: '..response.trigger, domoticz.LOG_ERROR)
			domoticz.log(response.data, domoticz.LOG_ERROR)
			return
		end
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
billyken
Messages : 54
Inscription : 15 janv. 2021, 00:42

Re: Web Relay Con V2.0 HW-584

Message par billyken »

voila le retour que j'ai en suprimant

Code : Tout sélectionner

2022-11-12 11:02:00.524 Status: dzVents: Info: WebRelay 1.0: ------ Start internal script: Test Entree Carte RJ45 Garage:, trigger: "every 1 minutes"
2022-11-12 11:02:00.524 Status: dzVents: Debug: WebRelay 1.0: Requesting data from relay
2022-11-12 11:02:00.524 Status: dzVents: Debug: WebRelay 1.0: OpenURL: url = http://192.168.1.4:8080/98
2022-11-12 11:02:00.524 Status: dzVents: Debug: WebRelay 1.0: OpenURL: method = GET
2022-11-12 11:02:00.524 Status: dzVents: Debug: WebRelay 1.0: OpenURL: post data = nil
2022-11-12 11:02:00.524 Status: dzVents: Debug: WebRelay 1.0: OpenURL: headers = nil
2022-11-12 11:02:00.524 Status: dzVents: Debug: WebRelay 1.0: OpenURL: callback = WebRelay
2022-11-12 11:02:00.524 Status: dzVents: Info: WebRelay 1.0: ------ Finished Test Entree Carte RJ45 Garage



2022-11-12 11:02:07.740 Status: dzVents: Info: Handling httpResponse-events for: "WebRelay"
2022-11-12 11:02:07.740 Status: dzVents: Info: WebRelay 1.0: ------ Start internal script: Test Entree Carte RJ45 Garage: HTTPResponse: "WebRelay"
2022-11-12 11:02:07.741 Status: dzVents: Info: WebRelay 1.0: ------ Finished Test Entree Carte RJ45 Garage
2022-11-12 11:02:07.688 Error: Error opening url: http://192.168.1.4:8080/98
2022-11-12 11:02:07.740 Error: dzVents: Error: (3.1.8) WebRelay 1.0: HTTP/1.1 response: 18 ==>> Transferred a partial file
2022-11-12 11:02:07.741 Error: dzVents: Error: (3.1.8) WebRelay 1.0: An error occurred when calling event handler Test Entree Carte RJ45 Garage
2022-11-12 11:02:07.741 Error: dzVents: Error: (3.1.8) WebRelay 1.0: ...ents\generated_scripts/Test Entree Carte RJ45 Garage.lua:51: attempt to concatenate a nil value (global 'In')

tout a l'heure il arrivait a lire la suite de 0 et 1 et lorsque que je changer l'état de lentrée 8 par exemple on passer le srcipt voyait bien 1000000011111110 ou 1000000011111111 mais plus en supprimant la partie que tu ma demander
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Web Relay Con V2.0 HW-584

Message par Neutrino »

ça devrait être mieux :

Code : Tout sélectionner

local scriptName = 'WebRelay'
local scriptVersion = '1.0'


local ipWebRelay = "192.168.1.4"
local port = "8080"
--                                        Dummy à créer :
local In = {"Entrée 1","Entrée 2","Entrée 3","Entrée 4","Entrée 5","Entrée 6","Entrée 7","Entrée 8"}



return {
	active = true,
	logging = {
		level = domoticz.LOG_DEBUG, -- Uncomment to override the dzVents global logging setting
		marker = scriptName..' '..scriptVersion
	},	
	on = {
		timer = {'every 1 minutes'},
		httpResponses = {
			scriptName,
		},		
	},

	execute = function(domoticz, item) 

		if item.isTimer then
			local url = "http://"..ipWebRelay..":"..port.."/98"
			domoticz.log('Requesting data from relay', domoticz.LOG_DEBUG)
			domoticz.openURL({url = url, method = 'GET', callback = scriptName}).afterSec(7)

		end

		if not item.isHTTPResponse then return end

		local response = item
		

		if response.trigger == scriptName then
		domoticz.log(response.data, domoticz.LOG_DEBUG)
			for i = 1, 8 do
				if string.sub(response.data,i+8,i+8)=="0" then
					domoticz.devices(In[i]).switchOff()
				else
					domoticz.devices(In[i]).switchOn()
				end
			end
		end
	end
}
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
billyken
Messages : 54
Inscription : 15 janv. 2021, 00:42

Re: Web Relay Con V2.0 HW-584

Message par billyken »

yes ca marche !!!!!!

voila le log il reste une erreur mais j'ai tester toutes les entrées et c'est OK

Code : Tout sélectionner

2022-11-12 11:37:07.246 Status: dzVents: Info: Handling httpResponse-events for: "WebRelay"
2022-11-12 11:37:07.246 Status: dzVents: Info: WebRelay 1.0: ------ Start internal script: Test Entree Carte RJ45 Garage: HTTPResponse: "WebRelay"
2022-11-12 11:37:07.246 Status: dzVents: Debug: WebRelay 1.0: 1000000011111110
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Processing device-adapter for Entrée 1: Switch device adapter
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Constructed timed-command: On
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Processing device-adapter for Entrée 2: Switch device adapter
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Constructed timed-command: On
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Processing device-adapter for Entrée 3: Switch device adapter
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Constructed timed-command: On
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Processing device-adapter for Entrée 4: Switch device adapter
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Constructed timed-command: On
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Processing device-adapter for Entrée 5: Switch device adapter
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Constructed timed-command: On
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Processing device-adapter for Entrée 6: Switch device adapter
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Constructed timed-command: On
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Processing device-adapter for Entrée 7: Switch device adapter
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Constructed timed-command: On
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Processing device-adapter for Entrée 8: Switch device adapter
2022-11-12 11:37:07.261 Status: dzVents: Debug: WebRelay 1.0: Constructed timed-command: Off
2022-11-12 11:37:07.261 Status: dzVents: Info: WebRelay 1.0: ------ Finished Test Entree Carte RJ45 Garage
2022-11-12 11:37:07.261 Status: EventSystem: Script event triggered: C:\Program Files (x86)\Domoticz\dzVents\runtime\dzVents.lua
2022-11-12 11:37:07.199 Error: Error opening url: http://192.168.1.4:8080/98
2022-11-12 11:37:07.246 Error: dzVents: Error: (3.1.8) WebRelay 1.0: HTTP/1.1 response: 18 ==>> Transferred a partial file
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Web Relay Con V2.0 HW-584

Message par Neutrino »

L'erreur vient des données envoyées par la carte qui sont interprétées comme incomplètes.
Le principale, c'est que ça marche ;)
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
billyken
Messages : 54
Inscription : 15 janv. 2021, 00:42

Re: Web Relay Con V2.0 HW-584

Message par billyken »

oui merci beaucoup

dernier question est ce l'on peut lancer le script tous les 30 secondes au lieu d'une minutes ?
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Web Relay Con V2.0 HW-584

Message par Neutrino »

Peut-être en ajoutant
domoticz.openURL({url = url, method = 'GET', callback = scriptName}).afterSec(37)
après la ligne
domoticz.openURL({url = url, method = 'GET', callback = scriptName}).afterSec(7)

Je ne sais pas si c'est possible, à tester ;)
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Répondre