Textbox

Easy to use, 100% Lua-based event scripting framework.

Moderator: leecollings

User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Textbox

Post by jacobsentertainment »

Hi all,

I'm using several shelly trv thermostats and as I want to use them without any cloud connections I have set up some script to retract temperature and and send a setpoint. For all additional information I would like to gather this in a single textbox and as something changes this will update.
So far I managed to create a script that gets me the batt status from a single shelly in to a textbox and from this point I'm stuck....

I any of you can help me out that would be great.

Script I use,

Code: Select all

return {
	on = {
		timer = {
			'every hour' 
		},
		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 = 'http://192.168.1.83/status',
				method = 'GET',
				callback = 'trigger', -- see httpResponses above.
			})
		end

		if (item.isHTTPResponse) then

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

					local BattValue = item.json.bat.value
					--local mytext = 'Shelly slaapkamer battery level''..BattValue..'

					domoticz.devices(258).updateText('Shelly slaapkamer battery level= '..BattValue..'%')
				end
			else
				domoticz.log('There was a problem handling the request', domoticz.LOG_ERROR)
				domoticz.log(item, domoticz.LOG_ERROR)
			end

		end

	end
}
User avatar
waltervl
Posts: 6691
Joined: Monday 28 January 2019 18:48
Target OS: Linux
Domoticz version: 2025.1
Location: NL
Contact:

Re: Textbox

Post by waltervl »

That as something changes is normally triggered by a device change. So you have to add those to the on={ } section.

For the rest the possibilities are endless :-)
For a new line add \r\n
Domoticz running on Udoo X86 (on Ubuntu)
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Re: Textbox

Post by jacobsentertainment »

Thanks,

Using the device as a trigger won't work I think as they don't send any mqtt message to domoticz topic. That's why I have a timer, this can be changed to any number depending on how many updates I want. My issue is that I don't know how to get data from several IP's. And the next issue is how to combine them in to one single textbox.
Kedi
Posts: 597
Joined: Monday 20 March 2023 14:41
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Somewhere in NL
Contact:

Re: Textbox

Post by Kedi »

Call several url's in the isTimer section and use different triggers.
Before the first openURL you should clear the text by

Code: Select all

domoticz.devices(258).updateText('')
In the response section you can concatenate the different texts by switching in different triggers like:

Code: Select all

if item.trigger == <trigger1> then
	txt = domoticz.devices(258).text
	domoticz.devices(258).updateText(txt..'\nShelly slaapkamer battery level= '..BattValue..'%')
elseif item.trigger == <trigger2> then
etc....
Logic will get you from A to B. Imagination will take you everywhere.
User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Re: Textbox

Post by jacobsentertainment »

I have something going now, it works.
Only issue is now that the textbox is getting bigger after each update..
txt.jpg
txt.jpg (392.97 KiB) Viewed 1166 times
Is it possible to delete the textbox content before updating?
Kedi
Posts: 597
Joined: Monday 20 March 2023 14:41
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Somewhere in NL
Contact:

Re: Textbox

Post by Kedi »

Did you use

Code: Select all

domoticz.devices(258).updateText('')
before the first openURL in the isTimer section?
Incase that does not work with a space

Code: Select all

domoticz.devices(258).updateText(' ')
Logic will get you from A to B. Imagination will take you everywhere.
User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Re: Textbox

Post by jacobsentertainment »

Sheers, that's a lot better now! :D

I have a total of 5 devices to display here, but now randomly it displays five, three and sometimes four items and then again all five... is there anything i can change so it's steady constnt all items?
User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Re: Textbox

Post by jacobsentertainment »

Current script:

Code: Select all

return {
	on = {
		timer = {
			--'every 6 hours',
			'every minute'
		},
		httpResponses = {
			'trigger1',	'trigger2', 'trigger3', 'trigger4', 'trigger5',
		}
	},
	
	logging = {
		level = domoticz.LOG_INFO,
		marker = 'template',
	},
	execute = function(domoticz, item)
	    
	    local txtbox = domoticz.devices(258)
	    txtbox.updateText(' ')
	    txt = txtbox.text

		if (item.isTimer) then
			domoticz.openURL({
				url = 'http://192.168.1.83/status', --slaapkamer
				method = 'GET',
				callback = 'trigger1', -- see httpResponses above.
			})
		end
		
		if (item.isTimer) then
			domoticz.openURL({
				url = 'http://192.168.1.31/status', --woonkamer
				method = 'GET',
				callback = 'trigger2', -- see httpResponses above.
			})
	end
	
			if (item.isTimer) then
			domoticz.openURL({
				url = 'http://192.168.1.47/status', --slaapkamer boven
				method = 'GET',
				callback = 'trigger3', -- see httpResponses above.
			})
	end
	
			if (item.isTimer) then
			domoticz.openURL({
				url = 'http://192.168.1.183/status', --logeerkamer
				method = 'GET',
				callback = 'trigger4', -- see httpResponses above.
			})
	end
	
			if (item.isTimer) then
			domoticz.openURL({
				url = 'http://192.168.1.95/status', --badkamer boven
				method = 'GET',
				callback = 'trigger5', -- see httpResponses above.
			})
	end
	

		if (item.isHTTPResponse) then

			if (item.ok) then
				if (item.isJSON) then
				    
				    local BattValue = item.json.bat.value
				    
				    if item.trigger == 'trigger1' then
                    txtbox.updateText(txt..'\r\nSlaapkamer battery level= '..BattValue..'%')
                            elseif item.trigger == 'trigger2' then    
            			    txtbox.updateText(txt..'\r\nWoonkamer battery level= '..BattValue..'%')
            						elseif item.trigger == 'trigger3' then
                    	            txtbox.updateText(txt..'\r\nSlaapkamer boven battery level= '..BattValue..'%')
                    	                   elseif item.trigger == 'trigger4' then
                    	                   txtbox.updateText(txt..'\r\nLogeerkamer boven battery level= '..BattValue..'%')
                    	                       elseif item.trigger == 'trigger5' then
                    	                       txtbox.updateText(txt..'\r\nBadkamer boven battery level= '..BattValue..'%')
				end
			else
				domoticz.log('There was a problem handling the request', domoticz.LOG_ERROR)
				domoticz.log(item, domoticz.LOG_ERROR)
			end

		end
    end
	end
}
Kedi
Posts: 597
Joined: Monday 20 March 2023 14:41
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Somewhere in NL
Contact:

Re: Textbox

Post by Kedi »

If every openURL is not responding or missed, you could add afterSec(x) after every openURL and use different values for x, like 1,2,3,4 etc...

Code: Select all

			domoticz.openURL({
				url = 'http://192.168.1.83/status', --slaapkamer
				method = 'GET',
				callback = 'trigger1', -- see httpResponses above.
			}).afterSec(1)
				domoticz.openURL({
				url = 'http://192.168.1.31/status', --slaapkamer
				method = 'GET',
				callback = 'trigger1', -- see httpResponses above.
			}).afterSec(2)
			
Logic will get you from A to B. Imagination will take you everywhere.
Kedi
Posts: 597
Joined: Monday 20 March 2023 14:41
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Somewhere in NL
Contact:

Re: Textbox

Post by Kedi »

If that is not working. Create a data section with data items for every response. Save the response in the data section.
At the end go over all the data's and update the text device with the result of all the data.
Logic will get you from A to B. Imagination will take you everywhere.
User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Re: Textbox

Post by jacobsentertainment »

I tried the afterSec option, it ended up with only a single output or nothing at all.
Kedi wrote: Monday 10 April 2023 13:50 If that is not working. Create a data section with data items for every response. Save the response in the data section.
At the end go over all the data's and update the text device with the result of all the data.
So far I managed, but this is above my grade. :oops:
Kedi
Posts: 597
Joined: Monday 20 March 2023 14:41
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Somewhere in NL
Contact:

Re: Textbox

Post by Kedi »

Try this one.

Code: Select all

return {
	on = {
		timer = {
			--'every 6 hours',
			'every minute'
		},
		httpResponses = {
			'trigger1',	'trigger2', 'trigger3', 'trigger4', 'trigger5',
		}
	},
	
	logging = {
		level = domoticz.LOG_INFO,
		marker = 'template',
	},
	execute = function(domoticz, item)
	    
	    local txtbox = domoticz.devices(258)

		if (item.isTimer) then
	    txtbox.updateText(' ')
			domoticz.openURL({
				url = 'http://192.168.1.83/status', --slaapkamer
				method = 'GET',
				callback = 'trigger1', -- see httpResponses above.
			})
		end
		
		if (item.isTimer) then
			domoticz.openURL({
				url = 'http://192.168.1.31/status', --woonkamer
				method = 'GET',
				callback = 'trigger2', -- see httpResponses above.
			})
	end
	
			if (item.isTimer) then
			domoticz.openURL({
				url = 'http://192.168.1.47/status', --slaapkamer boven
				method = 'GET',
				callback = 'trigger3', -- see httpResponses above.
			})
	end
	
			if (item.isTimer) then
			domoticz.openURL({
				url = 'http://192.168.1.183/status', --logeerkamer
				method = 'GET',
				callback = 'trigger4', -- see httpResponses above.
			})
	end
	
			if (item.isTimer) then
			domoticz.openURL({
				url = 'http://192.168.1.95/status', --badkamer boven
				method = 'GET',
				callback = 'trigger5', -- see httpResponses above.
			})
	end
	

		if (item.isHTTPResponse) then

			if (item.ok) then
				if (item.isJSON) then
				    
				    local BattValue = item.json.bat.value
	    txt = txtbox.text
				    
				    if item.trigger == 'trigger1' then
                    txtbox.updateText(txt..'\r\nSlaapkamer battery level= '..BattValue..'%')
                            elseif item.trigger == 'trigger2' then    
            			    txtbox.updateText(txt..'\r\nWoonkamer battery level= '..BattValue..'%')
            						elseif item.trigger == 'trigger3' then
                    	            txtbox.updateText(txt..'\r\nSlaapkamer boven battery level= '..BattValue..'%')
                    	                   elseif item.trigger == 'trigger4' then
                    	                   txtbox.updateText(txt..'\r\nLogeerkamer boven battery level= '..BattValue..'%')
                    	                       elseif item.trigger == 'trigger5' then
                    	                       txtbox.updateText(txt..'\r\nBadkamer boven battery level= '..BattValue..'%')
				end
			else
				domoticz.log('There was a problem handling the request', domoticz.LOG_ERROR)
				domoticz.log(item, domoticz.LOG_ERROR)
			end

		end
    end
	end
}
Logic will get you from A to B. Imagination will take you everywhere.
User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Re: Textbox

Post by jacobsentertainment »

Same result, only getting four lines, then five and then four again...
Kedi
Posts: 597
Joined: Monday 20 March 2023 14:41
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Somewhere in NL
Contact:

Re: Textbox

Post by Kedi »

Sorry did to go thru all the code.

Code: Select all

return {
	on = {
		timer = {
			--'every 6 hours',
			'every minute'
		},
		httpResponses = {
			'trigger1',	'trigger2', 'trigger3', 'trigger4', 'trigger5',
		}
	},
	
	logging = {
		level = domoticz.LOG_INFO,
		marker = 'template',
	},
	execute = function(domoticz, item)
	    
	    local txtbox = domoticz.devices(258)

		if (item.isTimer) then
		    txtbox.updateText(' ')
			domoticz.openURL({
				url = 'http://192.168.1.83/status', --slaapkamer
				method = 'GET',
				callback = 'trigger1', -- see httpResponses above.
			}).afterSec(1)
			domoticz.openURL({
				url = 'http://192.168.1.31/status', --woonkamer
				method = 'GET',
				callback = 'trigger2', -- see httpResponses above.
			}).afterSec(2)
			domoticz.openURL({
				url = 'http://192.168.1.47/status', --slaapkamer boven
				method = 'GET',
				callback = 'trigger3', -- see httpResponses above.
			}).afterSec(3)
			domoticz.openURL({
				url = 'http://192.168.1.183/status', --logeerkamer
				method = 'GET',
				callback = 'trigger4', -- see httpResponses above.
			}).afterSec(4)
			domoticz.openURL({
				url = 'http://192.168.1.95/status', --badkamer boven
				method = 'GET',
				callback = 'trigger5', -- see httpResponses above.
			}).afterSec(5)
	end
	

		if (item.isHTTPResponse) then

			if (item.ok) then
				if (item.isJSON) then
				    
				    local BattValue = item.json.bat.value
	    txt = txtbox.text
				    
				    if item.trigger == 'trigger1' then
                    txtbox.updateText(txt..'\r\nSlaapkamer battery level= '..BattValue..'%')
                            elseif item.trigger == 'trigger2' then    
            			    txtbox.updateText(txt..'\r\nWoonkamer battery level= '..BattValue..'%')
            						elseif item.trigger == 'trigger3' then
                    	            txtbox.updateText(txt..'\r\nSlaapkamer boven battery level= '..BattValue..'%')
                    	                   elseif item.trigger == 'trigger4' then
                    	                   txtbox.updateText(txt..'\r\nLogeerkamer boven battery level= '..BattValue..'%')
                    	                       elseif item.trigger == 'trigger5' then
                    	                       txtbox.updateText(txt..'\r\nBadkamer boven battery level= '..BattValue..'%')
				end
			else
				domoticz.log('There was a problem handling the request', domoticz.LOG_ERROR)
				domoticz.log(item, domoticz.LOG_ERROR)
			end

		end
    end
	end
}
Logic will get you from A to B. Imagination will take you everywhere.
User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Re: Textbox

Post by jacobsentertainment »

Some moment it still spits out only four lines, but 3 out of 4 time it shows all lines. At this level I can live with it. But if there are ways for improvement I'm open for it.
Kedi
Posts: 597
Joined: Monday 20 March 2023 14:41
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Somewhere in NL
Contact:

Re: Textbox

Post by Kedi »

Then change the logging to debug at look into domoticz log what is coming in from the 5 openURL calls.
Because it might be possible that not all devices responds with an answer.
Replace

Code: Select all

level = domoticz.LOG_INFO,
with

Code: Select all

level = domoticz.LOG_DEBUG,
Logic will get you from A to B. Imagination will take you everywhere.
User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Re: Textbox

Post by jacobsentertainment »

Not much to see here, sometimes one is a little later then the other. I checked but all have full wifi range (according to the shelly page)

Code: Select all

 2023-04-11 18:10:04.008 Status: dzVents: Info: Shelly text: ------ Start internal script: #Shelly battery to txt: HTTPResponse: "trigger3"
2023-04-11 18:10:04.023 Status: dzVents: Info: Shelly text: ------ Finished #Shelly battery to txt
2023-04-11 18:10:04.298 Status: dzVents: Info: Shelly text: ------ Start internal script: #Shelly battery to txt: HTTPResponse: "trigger1"
2023-04-11 18:10:04.312 Status: dzVents: Info: Shelly text: ------ Finished #Shelly battery to txt
2023-04-11 18:10:04.432 Status: dzVents: Info: Shelly text: ------ Start internal script: #Shelly battery to txt: HTTPResponse: "trigger2"
2023-04-11 18:10:04.449 Status: dzVents: Info: Shelly text: ------ Finished #Shelly battery to txt
2023-04-11 18:10:04.977 Status: dzVents: Info: Shelly text: ------ Start internal script: #Shelly battery to txt: HTTPResponse: "trigger4"
2023-04-11 18:10:04.995 Status: dzVents: Info: Shelly text: ------ Finished #Shelly battery to txt
2023-04-11 18:10:06.543 Status: dzVents: Info: Shelly text: ------ Start internal script: #Shelly battery to txt: HTTPResponse: "trigger5" 
Kedi
Posts: 597
Joined: Monday 20 March 2023 14:41
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Somewhere in NL
Contact:

Re: Textbox

Post by Kedi »

Then save responses into data like below. I cannot check for programming errors.

Code: Select all

return {
	on = {
		timer = {
			--'every 6 hours',
			'every minute'
		},
		httpResponses = {
			'trigger1',	'trigger2', 'trigger3', 'trigger4', 'trigger5',
		}
	},
	
	logging = {
		level = domoticz.LOG_INFO,
		marker = 'template',
	},
    data = {
        XX1 = { initial = "" },
        XX2 = { initial = "" },
        XX3 = { initial = "" },
        XX4 = { initial = "" },
        XX5 = { initial = "" }
    },

	
	execute = function(domoticz, item)
	    
	    local txtbox = domoticz.devices(258)

		if (item.isTimer) then
			domoticz.openURL({
				url = 'http://192.168.1.83/status', --slaapkamer
				method = 'GET',
				callback = 'trigger1', -- see httpResponses above.
			}).afterSec(1)
			domoticz.openURL({
				url = 'http://192.168.1.31/status', --woonkamer
				method = 'GET',
				callback = 'trigger2', -- see httpResponses above.
			}).afterSec(2)
			domoticz.openURL({
				url = 'http://192.168.1.47/status', --slaapkamer boven
				method = 'GET',
				callback = 'trigger3', -- see httpResponses above.
			}).afterSec(3)
			domoticz.openURL({
				url = 'http://192.168.1.183/status', --logeerkamer
				method = 'GET',
				callback = 'trigger4', -- see httpResponses above.
			}).afterSec(4)
			domoticz.openURL({
				url = 'http://192.168.1.95/status', --badkamer boven
				method = 'GET',
				callback = 'trigger5', -- see httpResponses above.
			}).afterSec(5)
	end
	

		if (item.isHTTPResponse) then

			if (item.ok) then
				if (item.isJSON) then
				    
				    local BattValue = item.json.bat.value
				    if item.trigger == 'trigger1' then
				    	domoticz.data.XX1 = 'Slaapkamer battery level= '..BattValue..'%'
                            elseif item.trigger == 'trigger2' then
                            		domoticz.data.XX2 = 'Woonkamer battery level= '..BattValue..'%'
            						elseif item.trigger == 'trigger3' then
                    	            	domoticz.data.XX3 = 'Slaapkamer boven battery level= '..BattValue..'%'
                    	                   elseif item.trigger == 'trigger4' then
                    	                   domoticz.data.XX4 = 'Logeerkamer boven battery level= '..BattValue..'%'
                    	                       elseif item.trigger == 'trigger5' then
                    	                       domoticz.data.XX5 = 'Badkamer boven battery level= '..BattValue..'%'
				end
				txtbox.updateText(domoticz.data.XX1..'\n'..domoticz.data.XX2..'\n'..domoticz.data.XX3..'\n'..domoticz.data.XX4..'\n'..
					domoticz.data.XX5..'\n'..)
			else
				domoticz.log('There was a problem handling the request', domoticz.LOG_ERROR)
				domoticz.log(item, domoticz.LOG_ERROR)
			end

		end
    end
	end
}
This way you save every response in a data item and use those to fill the text device.
B.t.w If you send URL request seconds apart, then you cannot have almost all responses in the same second.
And you did not use LOG_DEBUG.
Logic will get you from A to B. Imagination will take you everywhere.
User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Re: Textbox

Post by jacobsentertainment »

This works perfect!

Code: Select all

 2023-04-11 19:41:00.396 Status: dzVents: Info: template: ------ Start internal script: #test text:, trigger: "every minute"
2023-04-11 19:41:00.398 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:41:03.316 Status: dzVents: Info: template: ------ Start internal script: #test text: HTTPResponse: "trigger1"
2023-04-11 19:41:03.320 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:41:04.311 Status: dzVents: Info: template: ------ Start internal script: #test text: HTTPResponse: "trigger2"
2023-04-11 19:41:04.328 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:41:04.660 Status: dzVents: Info: template: ------ Start internal script: #test text: HTTPResponse: "trigger3"
2023-04-11 19:41:04.676 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:41:05.724 Status: dzVents: Info: template: ------ Start internal script: #test text: HTTPResponse: "trigger5"
2023-04-11 19:41:05.739 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:41:06.196 Status: dzVents: Info: template: ------ Start internal script: #test text: HTTPResponse: "trigger4"
2023-04-11 19:41:06.225 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:42:00.513 Status: dzVents: Info: template: ------ Start internal script: #test text:, trigger: "every minute"
2023-04-11 19:42:00.516 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:42:03.215 Status: dzVents: Info: template: ------ Start internal script: #test text: HTTPResponse: "trigger1"
2023-04-11 19:42:03.219 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:42:04.255 Status: dzVents: Info: template: ------ Start internal script: #test text: HTTPResponse: "trigger2"
2023-04-11 19:42:04.272 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:42:05.284 Status: dzVents: Info: template: ------ Start internal script: #test text: HTTPResponse: "trigger3"
2023-04-11 19:42:05.311 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:42:06.363 Status: dzVents: Info: template: ------ Start internal script: #test text: HTTPResponse: "trigger4"
2023-04-11 19:42:06.379 Status: dzVents: Info: template: ------ Finished #test text
2023-04-11 19:42:06.635 Status: dzVents: Info: template: ------ Start internal script: #test text: HTTPResponse: "trigger5"
2023-04-11 19:42:06.650 Status: dzVents: Info: template: ------ Finished #test text 
I did had an small error in the script and replaced

Code: Select all

				txtbox.updateText(domoticz.data.XX1..'\n'..domoticz.data.XX2..'\n'..domoticz.data.XX3..'\n'..domoticz.data.XX4..'\n'..
					domoticz.data.XX5..'\n'..)
With

Code: Select all

				txtbox.updateText(domoticz.data.XX1..'\n'..domoticz.data.XX2..'\n'..domoticz.data.XX3..'\n'..domoticz.data.XX4..'\n'..
					domoticz.data.XX5..'\n')
User avatar
jacobsentertainment
Posts: 223
Joined: Thursday 01 October 2020 1:47
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021-1
Location: Not @ home
Contact:

Re: Textbox

Post by jacobsentertainment »

Side question, this 'data' is how you store results from the script and how long is this stored for?

Anyway big thanks for the help in this topic, this really is a full functioning local solution to my shelly trv devices. Now I can replace the rest of my thermostats. Cheers.
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 1 guest