Skrypt obsługujący ...
 
Powiadomienia
Wyczyść wszystko

Skrypt obsługujący czujnik poziomu szamba SANIX

1 Wpisów
1 Użytkownicy
0 Likes
380 Wyświetleń
(@mielenie)
Wpisów: 1
Świeżak
Autor tematu
 

Witajcie,

Chciałbym skonstruować skrypyt obsługujący czujnik który bazuje na interfejsie RESTful API.

Adres wywołania to:

https://sanix.bitcomplex.pl/api/measurement/read.php?serial_no=ID&auth_token=TOKEN

Dane które otrzymuję podając adres wywołania:

{
"device_no": "SANIX-1810088",
"status": "1",
"time": "19.01.2021 17:04:07",
"ssid": "BIT-Complex-EXT",
"battery": "75",
"distance": "131",
"fill_perc": "38",
"service_date": "27.01.2021"
}


Nie jestem programistą, ale wydawało mi się że coś na wzór gotowego skryptu zadziała mi no ale domoticz nie wie o co mi chodzi 🙂

 

local fill_perc = 374        -- idx wirtualnego czujnika

return {
	on = {
		timer = {
			'every minute' -- just an example to trigger the request
		},
		httpResponses = {
			'trigger' -- must match with the callback passed to the openURL command
		}
	},
	logging = {
		level = domoticz.LOG_INFO,
		marker = 'template',
	},
	execute = function(domoticz, item)

		if (item.isTimer) then
			domoticz.openURL({
				url = 'adres wywołania',
				method = 'GET',
				callback = 'trigger', -- see httpResponses above.
			})
		end

		if (item.isHTTPResponse) then

			if (item.ok) then
				if (item.isJSON) then

					local someValue = item.json.someValue  -- just an example

					-- update some device in Domoticz
					domoticz.devices('fill_perc').updatePercentage(percentage)
				end
			else
				domoticz.log('There was a problem handling the request', domoticz.LOG_ERROR)
				domoticz.log(item, domoticz.LOG_ERROR)
			end

		end

	end
}

Jeśli ktoś byłby tak miły i się podzielił wiedzą albo dał jakąś wskazówkę będę zobowiązany

 

 
Dodane : 29/09/2022 1:15 pm
Udostępnij: