dzVents 2.3.0 released in v3.8551

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

Moderator: leecollings

EddyG
Posts: 1042
Joined: Monday 02 November 2015 5:54
Target OS: -
Domoticz version:

Re: dzVents 2.3.0 released in v3.8551

Post by EddyG »

Does this dzVents version work with Domoticz version 3.8153? (latest stable)
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by dannybloe »

Nope, you need 8551 or higher.
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
EddyG
Posts: 1042
Joined: Monday 02 November 2015 5:54
Target OS: -
Domoticz version:

Re: dzVents 2.3.0 released in v3.8551

Post by EddyG »

OK, too bad. So I wait until the next stable.
Hope it comes soon. ;)
tlpeter
Posts: 191
Joined: Wednesday 26 November 2014 18:43
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by tlpeter »

I have a question about the "timer in between"
When i turn on a device with this timer should it turn off automatically when it is not in this range?
I expect this behavior but doesn't seem to work that way.
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by dannybloe »

No. Your script is executed every minute in that interval. Unless you set it to every xx minutes as well. Read about timer triggers in the manual.
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
User avatar
lonebaggie
Posts: 86
Joined: Tuesday 31 January 2017 13:21
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: England
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by lonebaggie »

Same issue here with Settings/Other dzvents is disabled. If you you disable event systems save then re-enable and save . DZvents works . Very weird both Dzvents and events systems are not enabled (no tick) but both work
Maes
Posts: 34
Joined: Tuesday 05 April 2016 20:45
Target OS: -
Domoticz version:
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by Maes »

dannybloe, is it correct that .silent() and .checkFirst() don't work on thermostat devices?

Code: Select all

domoticz.devices(ToonThermostatSensorName).updateSetPoint(currentSetpoint).silent().checkFirst()
It just updates the thermostat and then triggers my thermostat script T_T..

Also, using silent() or checkFirst() on the thermostat gives me an error attempt to index a nil value. The error doesn't seem to stop anything from working however
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by dannybloe »

silent() should work but checkfirst is for switches for now.
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
Maes
Posts: 34
Joined: Tuesday 05 April 2016 20:45
Target OS: -
Domoticz version:
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by Maes »

Thanks for the fast reply!

So I think I'm doing something wrong, or I found a bug:

Script runs every minute

Code: Select all

return {
	on = {
		timer = {
			'every minute'
		}
	},
	execute = function(domoticz)
        local ToonThermostatSensorName = domoticz.variables('UV_ToonThermostatSensorName').value -- Sensor showing current setpoint
        local ToonTemperatureSensorName = domoticz.variables('UV_ToonTemperatureSensorName').value -- Sensor showing current room temperature
        local ToonScenesSensorName  = domoticz.variables('UV_ToonScenesSensorName').value -- Sensor showing current program
        local ToonAutoProgramSensorName = domoticz.variables('UV_ToonAutoProgramSensorName').value -- Sensor showing current auto program status
        local ToonProgramInformationSensorName = domoticz.variables('UV_ToonProgramInformationSensorName').value -- Sensor showing displaying program information status
        local ToonIP = domoticz.variables('UV_ToonIP').value
        local DomoticzIP = domoticz.variables('UV_DomoticzIP').value
    
        --local json = assert(loadfile "C:\\Program Files (x86)\\Domoticz\\scripts\\lua\\json.lua")()  -- For Windows
        local json = assert(loadfile "/home/maes/domoticz/scripts/lua/JSON.lua")()  -- For Linux
        
        local handle = assert(io.popen(string.format('curl http://%s/happ_thermstat?action=getThermostatInfo', ToonIP)))
            local ThermostatInfo = handle:read('*all')
        handle:close()
        
        local jsonThermostatInfo = json:decode(ThermostatInfo)
        
        if jsonThermostatInfo == nil then
            return
        end
        
        local currentSetpoint = tonumber(jsonThermostatInfo.currentSetpoint) / 100
        local currentTemperature = tonumber(jsonThermostatInfo.currentTemp) / 100
        local currentProgramState = tonumber(jsonThermostatInfo.programState)
        local currentActiveState = tonumber(jsonThermostatInfo.activeState)
        local currentNextTime = jsonThermostatInfo.nextTime
        local currentNextSetPoint = tonumber(jsonThermostatInfo.nextSetpoint) / 100
        local currentBoiletSetPoint = jsonThermostatInfo.currentInternalBoilerSetpoint
        

            domoticz.devices(ToonThermostatSensorName).updateSetPoint(currentSetpoint).silent()
        

	end
}
And this script is triggered by the thermostat:

Code: Select all

return {
	on = {
		devices = {
			'Toon Thermostat'
		}
	},
	execute = function(domoticz, device)
		domoticz.openURL(string.format('http://%s/happ_thermstat?action=setSetpoint&Setpoint=%s', domoticz.variables('UV_ToonIP').value, device.SetPoint*100))
				domoticz.log('Setting Toon setpoint to '.. device.SetPoint)
	end
}
In my log:
Image


I get the nil value error, and the device script is triggered..
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by dannybloe »

Ah.. yeah.. setpoint updating still uses OpenURL and that doesn't support this. There was a bug that caused a timeout in Domoticz if you use the normal UpdateDevice command in the command array.. hence the openURL work around. Perhaps you can try if the commandArray route still gives this problem. Otherwise we could remove that need.
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
Maes
Posts: 34
Joined: Tuesday 05 April 2016 20:45
Target OS: -
Domoticz version:
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by Maes »

I converted this script from normal Lua.
I had the same problem with commandArray, so I temporarily set a user variable "IsChanged" to 1. The other script would then check if the variable was set to 1 before executing..
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by dannybloe »

Maes wrote: Monday 09 October 2017 19:47 I converted this script from normal Lua.
I had the same problem with commandArray, so I temporarily set a user variable "IsChanged" to 1. The other script would then check if the variable was set to 1 before executing..
The question was more if the old standing bug in Domoticz when doing an UpdateSetPoint was still active. If you use the old commandArray approach you can try to add TRIGGER to the command-string. That is was .silent() actually does under the hood when doing device updates.
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
Maes
Posts: 34
Joined: Tuesday 05 April 2016 20:45
Target OS: -
Domoticz version:
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by Maes »

I'm not familiar with this TRIGGER keyword. I also don't know how to combine the commandarray with the DzVents functionality.
I've added the user variable check I've talked about earlier back in the script to prevent the other script from executing, but it's not really efficient.
Perhaps adding .silent() to setPoint() could be a new feature? :)
MaikelK
Posts: 41
Joined: Saturday 01 November 2014 13:51
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by MaikelK »

Hi Guys,

I cant seem to get dZvents running, same for EventSystem (Lua/Blockly/Scripts).
If i change the slider to enabled, and press apply settings nothing happens.

Going to the Settings page is also really slow.

I recently updated my RPI2 to Jessie and now running Domoticz V3.8703
Derik
Posts: 1601
Joined: Friday 18 October 2013 23:33
Target OS: Raspberry Pi / ODroid
Domoticz version: BETA
Location: Arnhem/Nijmegen Nederland
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by Derik »

Dear all..
Is there some one that can make dzvent working for my P1 actual
I try to get a script for my P1, when i deliver back to to the net, with my solar panels.

With blockley i cannot go to minus..

So what i an looking for:
When time is between x and y
when p1 actual is -500 and dummy X is off, switch dummy X on.
when p1 actual is >500 and dummy X is on, switch dummy off

Only i do not understand the dzvents script..
So hope someone help me.
xxx
Xu4: Beta Extreme antenna RFXcomE,WU Fi Ping ip P1 Gen5 PVOutput Harmony HUE SolarmanPv OTG Winddelen Alive ESP Buienradar MySensors WOL Winddelen counting RPi: Beta SMAspot RFlinkTest Domoticz ...Different backups
User avatar
emme
Posts: 909
Joined: Monday 27 June 2016 11:02
Target OS: Raspberry Pi / ODroid
Domoticz version: latest
Location: Milano, Italy
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by emme »

uhm.. let's try:

Code: Select all

return {
	on = {
		timer = {
			'between x and y'
		},
		devices = {
			'P1'
		},
	},
	execute = function(domoticz, devP1)
	    local dummy = domoticz.devices('dummy')
		if tonumber(devP1.rawData[1]) > 500 and dummy.state == 'Off' then 
		    dummy.switchOn()
		elseif tonumber(devP1.rawData[1]) < -500 and dummy.state == 'On' then 
		    dummy.switchOff()
		end 
	end
}
I'm using rawData since I'm unsure what kind of device P1 is :P :P
ciao
M

P.S.
we can clean the code by not chasing the dummy switch state:

Code: Select all

		if tonumber(devP1.rawData[1]) > 500 then 
		    dummy.switchOn().checkFirst()
		elseif tonumber(devP1.rawData[1]) < -500  then 
		    dummy.switchOff().checkFirst()
		end 
The most dangerous phrase in any language is:
"We always done this way"
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by dannybloe »

Guys, let's stick to the topic and post questions in a new separate thread in the forum.
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
Derik
Posts: 1601
Joined: Friday 18 October 2013 23:33
Target OS: Raspberry Pi / ODroid
Domoticz version: BETA
Location: Arnhem/Nijmegen Nederland
Contact:

Re: dzVents 2.3.0 released in v3.8551

Post by Derik »

make a new start:

Hope you all will help me there...
http://domoticz.com/forum/viewtopic.php ... 52#p157552


THANKS
Xu4: Beta Extreme antenna RFXcomE,WU Fi Ping ip P1 Gen5 PVOutput Harmony HUE SolarmanPv OTG Winddelen Alive ESP Buienradar MySensors WOL Winddelen counting RPi: Beta SMAspot RFlinkTest Domoticz ...Different backups
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests