lua script not working anymore after update Topic is solved

Moderator: leecollings

Post Reply
User avatar
waaren
Posts: 6028
Joined: Tuesday 03 January 2017 14:18
Target OS: Linux
Domoticz version: Beta
Location: Netherlands
Contact:

Re: lua script not working anymore after update

Post by waaren »

sander815 wrote: Thursday 07 November 2019 9:13 Are there changes in lua scripting?
Yes.
Please state your domoticz version, os, any recent changes (if any) and include relevant loglines. That might help in answering you in a more useful way.
Debian buster, bullseye on RPI-4, Intel NUC.
dz Beta, Z-Wave, RFLink, RFXtrx433e, P1, Youless, Hue, Yeelight, Xiaomi, MQTT
==>> dzVents wiki
User avatar
waaren
Posts: 6028
Joined: Tuesday 03 January 2017 14:18
Target OS: Linux
Domoticz version: Beta
Location: Netherlands
Contact:

Re: lua script not working anymore after update

Post by waaren »

sander815 wrote: Thursday 07 November 2019 9:34 os: Raspbian GNU/Linux 9
Linux rpi3 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux

Version: 4.11468

i only did apt-get update/upgrade, and upgraded to latest beta
No changes to the lua scripts
A couple of days ago the embedded Lua version has been updated from Lua 5.2 to Lua 5.3 (announced here ).

What was the domoticz version before the update to the latest beta ?
Can you please include loglines that show the results of the script print commands ?
Debian buster, bullseye on RPI-4, Intel NUC.
dz Beta, Z-Wave, RFLink, RFXtrx433e, P1, Youless, Hue, Yeelight, Xiaomi, MQTT
==>> dzVents wiki
User avatar
waaren
Posts: 6028
Joined: Tuesday 03 January 2017 14:18
Target OS: Linux
Domoticz version: Beta
Location: Netherlands
Contact:

Re: lua script not working anymore after update

Post by waaren »

sander815 wrote: Thursday 07 November 2019 10:21 when i initiate a switch command, i get no errors:
If you can try with this dzVents script you might see a somewhat useful message pointing to what goes wrong.

When not yet familiar with dzVents please start with reading Get started Before implementing (~ 5 minutes). Special attention please for "In Domoticz go to Setup > Settings > Other and in the section EventSystem make sure the checkbox 'dzVents disabled' is not checked. Also make sure that in the Security section in the settings you allow 127.0.0.1 to not need a password. dzVents uses that port to send certain commands to Domoticz. Finally make sure you have set your current location in Setup > Settings > System > Location, otherwise there is no way to determine nighttime/daytime state."

Code: Select all

local DomDevice = 'Keukenlampboven'

return 
{
    on = { devices = { DomDevice }},
            
    logging = { level = domoticz.LOG_DEBUG, marker = DomDevice },

    execute = function(dz, item)
        
        local function composeCommand(targetValue)
             return  ('echo Fadetimer=5000,LED2_Target=' .. targetValue .. ' | nc -vw 1 192.168.1.230 43333 '.. ' ' )
        end
   
        local function osCommand(cmd)
            dz.log('Executing Command: ' .. cmd,dz.LOG_DEBUG)
   
            local fileHandle = assert(io.popen(cmd .. ' 2>&1 || echo ::ERROR::', 'r'))
            local commandOutput = assert(fileHandle:read('*a'))
            local returnTable = {fileHandle:close()}
            
            if commandOutput:find '::ERROR::' then     -- something went wrong
               dz.log('Error ==>> ' .. tostring(commandOutput:match('^(.*)%s+::ERROR::') or ' ... but no error message ' ) ,dz.LOG_DEBUG)
            else -- all is fine!!
                dz.log('ReturnCode: ' .. returnTable[3] .. '\ncommandOutput:\n' .. commandOutput, dz.LOG_DEBUG)
            end
            
            return commandOutput,returnTable[3] -- rc[3] contains returnCode
         
        end

        if item.state == 'Off' then 
            dz.log('Turning off ' .. DomDevice, dz.LOG_DEBUG)
            osCommand(composeCommand(0))
        else
            local CalcValue = math.floor(item.level * 33)
            dz.log('Value received from Domoticz was ' .. item.level, dz.LOG_DEBUG)
            dz.log('Dimming '  .. DomDevice .. ' to ' .. CalcValue,dz.LOG_DEBUG)
            osCommand(composeCommand(CalcValue))
        end  
    end
}
Debian buster, bullseye on RPI-4, Intel NUC.
dz Beta, Z-Wave, RFLink, RFXtrx433e, P1, Youless, Hue, Yeelight, Xiaomi, MQTT
==>> dzVents wiki
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest