Intergas Incomfort Heater control

In this subforum you can show projects you have made, or you are busy with. Please create your own topic.

Moderator: leecollings

sexyboy
Posts: 14
Joined: Tuesday 25 September 2018 16:34
Target OS: Linux
Domoticz version:
Contact:

Re: Intergas Incomfort Heater control

Post by sexyboy »

Hi guys,

Im about to get an intergas boiler installed and I was wondering what info can you get off the LAN2RF gateway.
It seems like the gateway has an api.

Thanks in advance.
User avatar
Eddiever
Posts: 105
Joined: Thursday 27 April 2017 20:32
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.1
Location: The Netherlands (Hoogeveen)
Contact:

Re: Intergas Incomfort Heater control

Post by Eddiever »

A friend had an unused Incomfort gateway which he gave to me. I have it connected to my network and I can connect to it through the android app and also the webbased version. However if I set it up in Domoticz -> hardware -Intergas Incomfort lan2rf gateway with the correct IP address and portnumber 80 I get:

Code: Select all

2019-04-17 17:15:49.383 Error: InComfort: Error getting current state!
Does anybody have a solution for me? Am I using the wrong port? I really don't know right now.

Second one, does anybody has the API documentation lan2rfgatewayhttpinterface available? The link mentioned earlier in this thread doesn't work.
http://www.filedropper.com/lan2rfgatewayhttpinterface

And yes I know this is an old thread but I think my issue relates perfectly to this one.
User avatar
Eddiever
Posts: 105
Joined: Thursday 27 April 2017 20:32
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.1
Location: The Netherlands (Hoogeveen)
Contact:

Re: Intergas Incomfort Heater control

Post by Eddiever »

If I put in:
http://ipdomoticz:8080/json.htm?type=co ... =0&Mode6=0
then I get this in my browser:
{
"status" : "OK",
"title" : "UpdateHardware"
}

Maybe this gives anybody a clue?
User avatar
Eddiever
Posts: 105
Joined: Thursday 27 April 2017 20:32
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.1
Location: The Netherlands (Hoogeveen)
Contact:

Re: Intergas Incomfort Heater control

Post by Eddiever »

Ok, my firmware of the gateway is IC3-1-ICN-V1.17. With this version it is required to give the login details. If I access the gateway like:

Code: Select all

http://user:password@ipaddress_gateway/protect/data.json?heater=0
Then the respons is:

Code: Select all

{"nodenr": 78,
"ch_temp_lsb": 225,
"ch_temp_msb": 10,
"tap_temp_lsb": 153,
"tap_temp_msb": 9,
"ch_pressure_lsb": 149,
"ch_pressure_msb": 0,
"room_temp_1_lsb": 122,
"room_temp_1_msb": 7,
"room_temp_set_1_lsb": 108,
"room_temp_set_1_msb": 7,
"room_temp_2_lsb": 255,
"room_temp_2_msb": 127,
"room_temp_set_2_lsb": 255,
"room_temp_set_2_msb": 127,
"displ_code": 126,
"IO": 0,
"serial_year": 18,
"serial_month": 2,
"serial_line": 13,
"serial_sn1": 0,
"serial_sn2": 37,
"serial_sn3": 90 ,
"room_set_ovr_1_msb": 0,
"room_set_ovr_1_lsb": 0,
"room_set_ovr_2_msb": 0,
"room_set_ovr_2_lsb": 0,
"rf_message_rssi": 29,
"rfstatus_cntr": 0}
But I am not a coder but I am willing to try. But where to begin? Anybody who can help me get started?
WideckNL
Posts: 2
Joined: Sunday 09 June 2019 19:50
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Intergas Incomfort Heater control

Post by WideckNL »

Eddiever wrote: Thursday 02 May 2019 12:36 Ok, my firmware of the gateway is IC3-1-ICN-V1.17. With this version it is required to give the login details. If I access the gateway like:

Code: Select all

http://user:password@ipaddress_gateway/protect/data.json?heater=0
But I am not a coder but I am willing to try. But where to begin? Anybody who can help me get started?
thank you for clearing that up, I didn't know it needed login information.

i put:

Code: Select all

user =  'admin'
password = 'password'
in the "config" part of the code

and:

Code: Select all

url= 'http://'..user..':'..password..'@'..lan2rf..'/protect/data.json?heater=0'
in the '"functions" part of the code i put "--" in front of

Code: Select all

url='http://'..lan2rf..'/data.json?heater=0'
to exclude the code (deleting would also be fine)

now i can read out the temperature of the thermostat. :D

i hope this helps
User avatar
Eddiever
Posts: 105
Joined: Thursday 27 April 2017 20:32
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.1
Location: The Netherlands (Hoogeveen)
Contact:

Re: Intergas Incomfort Heater control

Post by Eddiever »

@WideckNL, Thank you for your information. I am running Domoticz on my NAS and use a precompiled version. As I mentioned before I am not a coder but willing to try. But which file do I need to change?
WideckNL
Posts: 2
Joined: Sunday 09 June 2019 19:50
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Intergas Incomfort Heater control

Post by WideckNL »

i dont know about installing on a NAS but here is what i did;

I took the files provided by Jeroen Zeist in the first post. ps. thanks Jeroen!
"Intergas Incomfort Lan2RF control 1.1.zip"

copied them;
script_time_intergasincomfort.lua
script_device_intergasincomfort.lua

to /home/pi/domoticz/scripts/lua you should find your domoticz folder somewhere on your nas.

you can open these files with notepad and edit like i said in the previous post.
User avatar
Eddiever
Posts: 105
Joined: Thursday 27 April 2017 20:32
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.1
Location: The Netherlands (Hoogeveen)
Contact:

Re: Intergas Incomfort Heater control

Post by Eddiever »

Thanks all for explaining especially WideckNL!

For anyone who needs this also here is what I made of it. All credits to JeroenZeist!

Script_time-Intergasincomfort.lua

Code: Select all

----------------------------------------------------------------------------------------------------------------
-- Written in LUA by JeroenZeist (https://www.domoticz.com/forum/memberlist.php?mode=viewprofile&u=6788)
-- Summer 2015
-- 07-08-2015 v1.0 Initial release
-- 07-12-2015 v1.1 Added option to monitor availability of Intergas module. Thanks to wimd68
-- script_time_intergasincomfort.lua
-- Requires:
-- - Intergas Incomfort Gateway
-- - Virtual devices in Domoticz:
 -- - Temperature sensor for current temperature
 -- - Temperature sensor for current temperature setpoint
 -- - Virtual thermostat for temperature setpoint
----------------------------------------------------------------------------------------------------------------

-- config ------------------------------------------------------------------------------------------------------
local debug = true -- false or true, true gives extra output in Domoticz log
lan2rf = '192.168.1.1' -- ip address of the Intergas Incomfort Lan2RF gateway
domoticzaddress = '192.168.1.1:8084' -- ip address of Domoticz
tempfilename = '/var/tmp/thermostat.tmp' -- could be anywhere as long as it is writeable
user = 'admin' -- username
password = 'intergas' -- password

local idxt = 1 --idx of the virtual temperature sensor you need to change this to your own Device IDx
local currenttempname = "Woonkamer Huidig" -- name of the virtual temperature sensor

local idxset = 1 -- idx for set temperature on the physical thermostat
local currentlyset = "Woonkamer ingesteld" -- name of the virtual set temperature on the physical thermostat

local idxsetthermostat = 1 -- idx of the virtual thermostat in Domoticz
local thermostatname = "Thermostaat" -- name of the virtual thermostat in Domoticz

local idxLive = 1   -- idx of the virtual switch that shows if the intergas module is alive
local isalivename= "Intergas Module"  -- name of the virtual switch whether the Intergas module is online

-- Loading required modules ------------------------------------------------------------------------------------
local io = require "io" -- loading io modules
if debug then print("Loaded IO modules") end
JSON = assert(loadfile "/usr/local/domoticz/var/scripts/lua/JSON.lua")() -- one-time load of the JSON routines
if debug then print("Loaded JSON routines") end

-- Functions ---------------------------------------------------------------------------------------------------
function UpdateHeaterData() -- Gets heater data json and updates the temp file
	url= 'http://'..user..':'..password..'@'..lan2rf..'/protect/data.json?heater=0'
	if debug then print("URL of heater data: "..url) end
	
	read = os.execute('curl -s -S -o '..tempfilename..' "'..url..'"')
	if read then
		print ("Status Intergas module gelezen")
		if (otherdevices[isalivename]=='Off') then
			commandArray[isalivename]='On'
			print ("Intergas Module turns on")
		end
	else
		if (otherdevices[isalivename]=='On') then
			commandArray[isalivename]='Off'
			print ("Intergas Module goes down")
		end
	end
	
	
	local prevtext = ""
	for line in io.lines(tempfilename) do
		text = prevtext .. line 
		prevtext = text
	end
	if debug then print(text) end
	lua_heater_data = JSON:decode(text) -- decode RAW JSON data into LUA data
	if debug then print("lsb: "..lua_heater_data.room_temp_1_lsb) end
	if debug then print("msb: "..lua_heater_data.room_temp_1_msb) end
end

function GetCurrentTemperature()
	local currenttemp = (lua_heater_data.room_temp_1_lsb+lua_heater_data.room_temp_1_msb*256)/100 -- calculate current temperature
	print("Current temperature: "..currenttemp)
	return currenttemp
end -- GetCurrentTemperature

function UpdateCurrentTemperature()
	if GetCurrentTemperature() + 0.01 ~= otherdevices_svalues[currenttempname] + 0.01 then
			if debug then print("Current temperature changed") end
			commandArray[1] = {['UpdateDevice'] = idxt .. '|0|' .. GetCurrentTemperature()}
	end
end

function GetSetTemperature()
	local settemp = (lua_heater_data.room_temp_set_1_lsb+lua_heater_data.room_temp_set_1_msb*256)/100 -- calculates currently set temperature
	print("Currently set temperature: "..settemp)
	return settemp
end -- GetSetTemperature

function UpdateSetTemperature()
	if GetSetTemperature() + 0.01 ~= otherdevices_svalues[currentlyset] + 0.01 then
			if debug then print("Temperature setpoint changed") end
			commandArray[2] = {['UpdateDevice'] = idxset .. '|0|' .. GetSetTemperature()}
	end
end

-- Incomfort -----------------------------------------------------------------------------------------------------
commandArray = {}
UpdateHeaterData()
UpdateCurrentTemperature()
UpdateSetTemperature()
return commandArray 
and script_device_intergasincomfort.lua

Code: Select all

----------------------------------------------------------------------------------------------------------------
-- Written in LUA by JeroenZeist (https://www.domoticz.com/forum/memberlist.php?mode=viewprofile&u=6788)
-- Summer 2015
-- 07-08-2015 v1.0 Initial release
-- 07-12-2015 v1.1 Added option to monitor availability of Intergas module. Thanks to wimd68
-- script_time_intergasincomfort.lua
-- Requires:
-- - Intergas Incomfort Gateway
-- - Virtual devices in Domoticz:
 -- - Temperature sensor for current temperature
 -- - Temperature sensor for current temperature setpoint
 -- - Virtual thermostat for temperature setpoint
----------------------------------------------------------------------------------------------------------------

-- config ------------------------------------------------------------------------------------------------------
local debug = true -- false or true, true gives extra output in Domoticz log
lan2rf = '192.168.1.1' -- ip address of the Intergas Incomfort Lan2RF gateway
domoticzaddress = '192.168.1.1:8084' -- ip address:port of Domoticz
tempfilename = '/var/tmp/thermostat.tmp' -- could be anywhere as long as it is writeable
user =  'admin' -- username
password = 'intergas'  -- password

local idxt = 1 --idx of the virtual temperature sensor you need to change this to your own Device IDx
local currenttempname = "Woonkamer huidig" -- name of the virtual temperature sensor

local idxset = 1 -- idx for set temperature on the physical thermostat
local currentlyset = "Woonkamer ingesteld" -- name of the virtual set temperature on the physical thermostat

local idxsetthermostat = 1 -- idx of the virtual thermostat in Domoticz
local thermostatname = "Thermostaat" -- name of the virtual thermostat in Domoticz

local idxLive = 1   -- idx of the virtual switch that shows if the intergas module is alive
local isalivename= "Intergas Module"  -- name of the virtual switch whether the Intergas module is online

-- Functions ---------------------------------------------------------------------------------------------------
function UpdateVirtualThermostat()
	if otherdevices_svalues[thermostatname] + 0.01 ~= otherdevices_svalues[currentlyset] + 0.01 then
		if debug then print ("Difference between Virtual thermostat and set temp") end
		if otherdevices_lastupdate[currentlyset] > otherdevices_lastupdate[thermostatname] then
			if debug then print("Lastupdated temperature is later then virtual thermostat setpoint") end
			commandArray[4] = {['OpenURL']=domoticzaddress..'/json.htm?param=udevice&type=command&idx='..idxsetthermostat..'&nvalue=0&svalue='..otherdevices_svalues[currentlyset]}
		elseif otherdevices_lastupdate[thermostatname] > otherdevices_lastupdate[currentlyset] then
			if debug then print("Virtual thermostat is updated later then physical thermostat") end
			SetTemperature(otherdevices_svalues[thermostatname])
		end
	end
end

function SetTemperature(tosettemp)
	local test = false
	local tosettempcalc = (tosettemp-5.0)*10
	if debug then print("Calculated value to set temperature (used by lan2rf gateway): "..tosettempcalc) end
	url= 'http://'..user..':'..password..'@'..lan2rf..'/protect/data.json?heater=0&setpoint='..tosettempcalc..'&thermostat=0×'
	if debug then print("URL to change temperature setpoint: "..url) end
	if debug then print("Test thermostat setpoint: "..tosettemp) end
	commandArray[5] = {['OpenURL']=url}
end

-- Incomfort -----------------------------------------------------------------------------------------------------
commandArray = {}
UpdateVirtualThermostat()
return commandArray 
All I did where some minor changes to get it working on my NAS (thanks WideckNL).
stingone
Posts: 48
Joined: Monday 26 October 2015 16:28
Target OS: -
Domoticz version:
Contact:

Re: Intergas Incomfort Heater control

Post by stingone »

Got it working. The JSON file path was not correct. does anyone has a script to read-out the pressure etc?
User avatar
Eddiever
Posts: 105
Joined: Thursday 27 April 2017 20:32
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.1
Location: The Netherlands (Hoogeveen)
Contact:

Re: Intergas Incomfort Heater control

Post by Eddiever »

@stingone,

Do u still need the script to read the waterpressure?
Krijn20345
Posts: 3
Joined: Wednesday 28 December 2016 17:59
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.10717
Contact:

Re: Intergas Incomfort Heater control

Post by Krijn20345 »

Hi,

I'm running this script for quite some time now and it works like a charm.

Currently I'm switching to Dzvents and I'm going to try to convert this script.

I was wondering if someone already pulled off to retrieve pressure data etc?
User avatar
Eddiever
Posts: 105
Joined: Thursday 27 April 2017 20:32
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.1
Location: The Netherlands (Hoogeveen)
Contact:

Re: Intergas Incomfort Heater control

Post by Eddiever »

After working like a charm I have got some issues with my Incomfort gateway. Don't know why but all of a sudden I only receive the value zero (see below). I have changed the position of the gateway, closer to the boiler. Then it worked for a few days and then the zero value is back. Ofcourse I powered it off, leaving it for 10 minutes and started it again. But still problems. Any ideas what could go wrong?

Code: Select all

{"nodenr": 78,
"ch_temp_lsb": 0,
"ch_temp_msb": 0,
"tap_temp_lsb": 0,
"tap_temp_msb": 0,
"ch_pressure_lsb": 0,
"ch_pressure_msb": 0,
"room_temp_1_lsb": 0,
"room_temp_1_msb": 0,
"room_temp_set_1_lsb": 0,
"room_temp_set_1_msb": 0,
"room_temp_2_lsb": 0,
"room_temp_2_msb": 0,
"room_temp_set_2_lsb": 0,
"room_temp_set_2_msb": 0,
"displ_code": 0,
"IO": 0,
"serial_year": 0,
"serial_month": 0,
"serial_line": 0,
"serial_sn1": 0,
"serial_sn2": 0,
"serial_sn3": 0 ,
"room_set_ovr_1_msb": 0,
"room_set_ovr_1_lsb": 0,
"room_set_ovr_2_msb": 0,
"room_set_ovr_2_lsb": 0,
"rf_message_rssi": 0,
"rfstatus_cntr": 88}
Smintyboy
Posts: 18
Joined: Tuesday 21 January 2020 9:46
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: Intergas Incomfort Heater control

Post by Smintyboy »

I use the buikd in plugin and is working okay. I can see the temperature, pressure, setpoint, etc. But can't set the override setpoint. when I set for example 20 degrees, the log file says:

InComfort: Setpoint of sensor with idx idx changed to temp

what can I do to solve this ?
Jaden
Posts: 1
Joined: Tuesday 26 May 2020 12:52
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Intergas Incomfort Heater control

Post by Jaden »

Can someone help me with this problem i have?

I used the script Device_Intergasincomfort and Time_Intergasincomfort with one problem see below the error

Code: Select all

2020-05-26 12:46:58.795 Error: Error opening url: 192.168.178.12:8124/json.htm?param=udevice&type=command&idx=157&nvalue=0&svalue=16.50
This is a piece of the script i have Device_Intergasincomfort:

Code: Select all

function UpdateVirtualThermostat()
	if otherdevices_svalues[thermostatname] + 0.01 ~= otherdevices_svalues[currentlyset] + 0.01 then
		if debug then print ("Difference between Virtual thermostat and set temp") end
		if otherdevices_lastupdate[currentlyset] > otherdevices_lastupdate[thermostatname] then
			if debug then print("Lastupdated temperature is later then virtual thermostat setpoint") end
			commandArray[4] = {['OpenURL']=domoticzaddress..'/json.htm?param=udevice&type=command&idx='..idxsetthermostat..'&nvalue=0&svalue='..otherdevices_svalues[currentlyset]}
		elseif otherdevices_lastupdate[thermostatname] > otherdevices_lastupdate[currentlyset] then
			if debug then print("Virtual thermostat is updated later then physical thermostat") end
			SetTemperature(otherdevices_svalues[thermostatname])
		end
	end
end

function SetTemperature(tosettemp)
	local test = false
	local tosettempcalc = (tosettemp-5.0)*10
	if debug then print("Calculated value to set temperature (used by lan2rf gateway): "..tosettempcalc) end
	url='http://'..user..':'..password..'@'..lan2rf..'/protect/data.json?heater=0&setpoint='..tosettempcalc..'&thermostat=0×'
	if debug then print("URL to change temperature setpoint: "..url) end
	if debug then print("Test thermostat setpoint: "..tosettemp) end
	commandArray[5] = {['OpenURL']=url}
end
DeKraker
Posts: 7
Joined: Tuesday 03 April 2018 20:36
Target OS: Raspberry Pi / ODroid
Domoticz version: 2020.2
Location: The Netherlands
Contact:

Re: Intergas Incomfort Heater control

Post by DeKraker »

I have written a script in DzVents specifically for the LAN2RF Incomfort Gateway running the latest firmware.
The script is based on the API documentation provided by Intergas.

Script for requesting data from the gateway and updating domoticz devices accordingly.

Code: Select all

                                    -- DzVents script for LAN2RF Incomfort Gateway intergas
                                    -- V1.0 (september 2020)

local IPADDRESS = '192.168.11.12'   -- IP address of LAN2RF Gateway
local USER = 'admin'                -- login credentials LAN2RF Gateway
local PASSWORD = 'admin'            -- login credentials LAN2RF Gateway
local THERMOSTAAT = 'Thermostaat'   -- thermostaat device name
local TEMPERATURE = 'Woonkamer'     -- thermostaat temperature device name 
local CVTEMP = 'CV Water'           -- CV water temperature device name
local CVPRESS = 'CV Waterdruk'      -- CV water pressure device name
local TAPWATER = 'Tapwater'         -- Tap water temperature device name


return {
	on = {
		timer = {
			'every minute'
		},
		httpResponses = {
			'trigger'
		}
	},
	execute = function(domoticz, item)

		if (item.isTimer) then
			domoticz.openURL({
				url = 'http://' .. USER .. ':' .. PASSWORD .. '@' .. IPADDRESS .. '/protect/data.json?heater=0',
				method = 'GET',
				callback = 'trigger',
			})
		end


		if (item.isHTTPResponse) then
			if (item.ok) then

			   -- Parsing JSON data and interpreting data...
			   domoticz.log('processing data...', domoticz.LOG_INFO)
			   local intergas = domoticz.utils.fromJSON(item.data)
			   local roomtemperature = domoticz.utils.round((intergas.room_temp_1_lsb + intergas.room_temp_1_msb * 256) / 100, 1)
			   local setpoint = domoticz.utils.round((intergas.room_temp_set_1_lsb + intergas.room_temp_set_1_msb * 256) / 100, 1)
			   local waterpressure = domoticz.utils.round((intergas.ch_pressure_lsb + intergas.ch_pressure_msb * 256) / 100, 1)
			   local tapwatertemp = domoticz.utils.round((intergas.tap_temp_lsb + intergas.tap_temp_msb * 256) / 100, 1)
			   local cvwatertemp = domoticz.utils.round((intergas.ch_temp_lsb + intergas.ch_temp_msb * 256) / 100, 1)

			   -- Output to log
			   domoticz.log('roomtemperature is _______ ' .. roomtemperature .. ' degC', domoticz.LOG_INFO)
			   domoticz.log('thermostaat setpoint is __ ' .. setpoint .. ' degC', domoticz.LOG_INFO)
			   domoticz.log('CV waterpressure is ______ ' .. waterpressure .. ' bar', domoticz.LOG_INFO)
			   domoticz.log('tap water temperature is _ ' .. tapwatertemp .. ' degC', domoticz.LOG_INFO)
			   domoticz.log('CV water temperature _____ ' .. cvwatertemp .. ' degC', domoticz.LOG_INFO)

			   -- Updating domoticz devices
			   domoticz.devices(TEMPERATURE).updateTemperature(roomtemperature)
			   domoticz.devices(THERMOSTAAT).updateSetPoint(setpoint).silent()
			   domoticz.devices(CVTEMP).updateTemperature(cvwatertemp)
			   domoticz.devices(CVPRESS).updatePressure(waterpressure)
			   domoticz.devices(TAPWATER).updateTemperature(tapwatertemp)

		    else

		       domoticz.log('HTTP response error', domoticz.LOG_ERROR)

	        end
	        


		end

	end
}
Script for updating Gateway when thermostat setpoint is changed in domoticz.

Code: Select all

                                     -- DzVents script for updating setpoint of LAN2RF Incomfort Gateway Intergas
                                    -- V1.0 (september 2020)
                                    
local IPADDRESS = '192.168.11.12'   -- IP address of LAN2RF Gateway
local USER = 'admin'                -- login credentials LAN2RF Gateway
local PASSWORD = 'admin'            -- login credentials LAN2RF Gateway
local THERMOSTAAT = 'Thermostaat'   -- Thermostaat domoticz device name


return {
	on = {
		devices = {
			THERMOSTAAT,
		}
	},
	execute = function(domoticz, device)
	    domoticz.log('Thermostaat setpoint was changed, updating LAN2RF Incomfort Gateway', domoticz.LOG_INFO)
        
        -- Calculating setpoint (see Intergas API documentation)
        local SetTemperature = (domoticz.devices(THERMOSTAAT).setPoint - 5) * 10
		-- Update LAN2RF Gateway
		domoticz.openURL({
			url = 'http://' .. USER .. ':' .. PASSWORD .. '@' .. IPADDRESS .. '/protect/data.json?heater=0&setpoint=' .. SetTemperature .. '&thermostat=0',
			method = 'GET',
			})		
	end
}
Dutchhornet
Posts: 2
Joined: Sunday 22 July 2018 13:48
Target OS: Raspberry Pi / ODroid
Domoticz version: 2020.2
Location: Netherlands
Contact:

Re: Intergas Incomfort Heater control

Post by Dutchhornet »

The script is working fine for me. Thanx.
Tristan
Posts: 8
Joined: Sunday 30 June 2019 23:55
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Intergas Incomfort Heater control

Post by Tristan »

Does this work on the newer gateway or only on the older version?
Second question is what happens if you do not have internet (like for some days) does it still work. Or do you have to be always connected?

https://www.intergas-verwarming.nl/app/ ... 014-00.pdf

Second question do you need an internet connection or can you still communicate when internet is down?
StevetheV
Posts: 2
Joined: Thursday 15 October 2020 13:11
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: Intergas Incomfort Heater control

Post by StevetheV »

DeKraker wrote: Monday 07 September 2020 21:31 I have written a script in DzVents specifically for the LAN2RF Incomfort Gateway running the latest firmware.
The script is based on the API documentation provided by Intergas.

Script for requesting data from the gateway and updating domoticz devices accordingly.

Code: Select all

                                    -- DzVents script for LAN2RF Incomfort Gateway intergas
                                    -- V1.0 (september 2020)

local IPADDRESS = '192.168.11.12'   -- IP address of LAN2RF Gateway
local USER = 'admin'                -- login credentials LAN2RF Gateway
local PASSWORD = 'admin'            -- login credentials LAN2RF Gateway
local THERMOSTAAT = 'Thermostaat'   -- thermostaat device name
local TEMPERATURE = 'Woonkamer'     -- thermostaat temperature device name 
local CVTEMP = 'CV Water'           -- CV water temperature device name
local CVPRESS = 'CV Waterdruk'      -- CV water pressure device name
local TAPWATER = 'Tapwater'         -- Tap water temperature device name


return {
	on = {
		timer = {
			'every minute'
		},
		httpResponses = {
			'trigger'
		}
	},
	execute = function(domoticz, item)

		if (item.isTimer) then
			domoticz.openURL({
				url = 'http://' .. USER .. ':' .. PASSWORD .. '@' .. IPADDRESS .. '/protect/data.json?heater=0',
				method = 'GET',
				callback = 'trigger',
			})
		end


		if (item.isHTTPResponse) then
			if (item.ok) then

			   -- Parsing JSON data and interpreting data...
			   domoticz.log('processing data...', domoticz.LOG_INFO)
			   local intergas = domoticz.utils.fromJSON(item.data)
			   local roomtemperature = domoticz.utils.round((intergas.room_temp_1_lsb + intergas.room_temp_1_msb * 256) / 100, 1)
			   local setpoint = domoticz.utils.round((intergas.room_temp_set_1_lsb + intergas.room_temp_set_1_msb * 256) / 100, 1)
			   local waterpressure = domoticz.utils.round((intergas.ch_pressure_lsb + intergas.ch_pressure_msb * 256) / 100, 1)
			   local tapwatertemp = domoticz.utils.round((intergas.tap_temp_lsb + intergas.tap_temp_msb * 256) / 100, 1)
			   local cvwatertemp = domoticz.utils.round((intergas.ch_temp_lsb + intergas.ch_temp_msb * 256) / 100, 1)

			   -- Output to log
			   domoticz.log('roomtemperature is _______ ' .. roomtemperature .. ' degC', domoticz.LOG_INFO)
			   domoticz.log('thermostaat setpoint is __ ' .. setpoint .. ' degC', domoticz.LOG_INFO)
			   domoticz.log('CV waterpressure is ______ ' .. waterpressure .. ' bar', domoticz.LOG_INFO)
			   domoticz.log('tap water temperature is _ ' .. tapwatertemp .. ' degC', domoticz.LOG_INFO)
			   domoticz.log('CV water temperature _____ ' .. cvwatertemp .. ' degC', domoticz.LOG_INFO)

			   -- Updating domoticz devices
			   domoticz.devices(TEMPERATURE).updateTemperature(roomtemperature)
			   domoticz.devices(THERMOSTAAT).updateSetPoint(setpoint).silent()
			   domoticz.devices(CVTEMP).updateTemperature(cvwatertemp)
			   domoticz.devices(CVPRESS).updatePressure(waterpressure)
			   domoticz.devices(TAPWATER).updateTemperature(tapwatertemp)

		    else

		       domoticz.log('HTTP response error', domoticz.LOG_ERROR)

	        end
	        


		end

	end
}
Script for updating Gateway when thermostat setpoint is changed in domoticz.

Code: Select all

                                     -- DzVents script for updating setpoint of LAN2RF Incomfort Gateway Intergas
                                    -- V1.0 (september 2020)
                                    
local IPADDRESS = '192.168.11.12'   -- IP address of LAN2RF Gateway
local USER = 'admin'                -- login credentials LAN2RF Gateway
local PASSWORD = 'admin'            -- login credentials LAN2RF Gateway
local THERMOSTAAT = 'Thermostaat'   -- Thermostaat domoticz device name


return {
	on = {
		devices = {
			THERMOSTAAT,
		}
	},
	execute = function(domoticz, device)
	    domoticz.log('Thermostaat setpoint was changed, updating LAN2RF Incomfort Gateway', domoticz.LOG_INFO)
        
        -- Calculating setpoint (see Intergas API documentation)
        local SetTemperature = (domoticz.devices(THERMOSTAAT).setPoint - 5) * 10
		-- Update LAN2RF Gateway
		domoticz.openURL({
			url = 'http://' .. USER .. ':' .. PASSWORD .. '@' .. IPADDRESS .. '/protect/data.json?heater=0&setpoint=' .. SetTemperature .. '&thermostat=0',
			method = 'GET',
			})		
	end
}
Hi DeKraker

I implemented your script and it works about 90% well
Except for 1 problem, when manualy setting the honeywell round thermostaat the value of local THERMOSTAAT = 'Thermostaat' is only updated silent.
That way the Set_temp Override in the gateway holds the old value and the temperature will be set back to the old value after a few minutes.
So using this script means i can not use the manual thermostat...

Maybe you can send me a PM so we can talk this out in dutch?
StevetheV
Posts: 2
Joined: Thursday 15 October 2020 13:11
Target OS: NAS (Synology & others)
Domoticz version:
Contact:

Re: Intergas Incomfort Heater control

Post by StevetheV »

StevetheV wrote: Thursday 15 October 2020 13:15
DeKraker wrote: Monday 07 September 2020 21:31 I have written a script in DzVents specifically for the LAN2RF Incomfort Gateway running the latest firmware.
The script is based on the API documentation provided by Intergas.

Script for requesting data from the gateway and updating domoticz devices accordingly.
Hi DeKraker

I implemented your script and it works about 90% well
Except for 1 problem, when manualy setting the honeywell round thermostaat the value of local THERMOSTAAT = 'Thermostaat' is only updated silent.
That way the Set_temp Override in the gateway holds the old value and the temperature will be set back to the old value after a few minutes.
So using this script means i can not use the physical thermostat...

Maybe you can send me a PM so we can talk this out in dutch?
Ok, i have to get back on my last post.
The script does not work as should be expected. For example last night the thermostat was set to 30 degC in the middle of the night without any reason or manual input... And the night before, it was set back to 4 degC also without any logic behind it...
Eddiever wrote: Friday 14 June 2019 22:25 Thanks all for explaining especially WideckNL!

For anyone who needs this also here is what I made of it. All credits to JeroenZeist!

Script_time-Intergasincomfort.lua
and script_device_intergasincomfort.lua

All I did where some minor changes to get it working on my NAS (thanks WideckNL).

So i implemented this script with some minor improvements and all seems to be working fine so far.
sanookh
Posts: 2
Joined: Thursday 04 February 2021 18:29
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Intergas Incomfort Heater control

Post by sanookh »

I have an Intergas Xtreme30 heater together with the Intergas gateway and thermostat. I run domoticz an a Pi. I have added the scripts and I can change the temperatur in Domoticz now but I can not change the temperature now with the app or thermostat or on the heaters (local) webpage. Within 30 sec it is overruled by the domoticz setting again. Is this normal ? Or does it mean that my settings are not ok ? I added 2 virtual temperature sensors and a virtual thermostat and setted these in the scripts. But the 2 virtual temperature sensors will stay at 0. Or should I use the already used IDX from the Intergas Thermostat ?
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest