Lua is not working anymore

Moderator: leecollings

Derik
Posts: 1602
Joined: Friday 18 October 2013 23:33
Target OS: Raspberry Pi / ODroid
Domoticz version: BETA
Location: Arnhem/Nijmegen Nederland
Contact:

Re: Lua is not working anymore

Post by Derik »

@ Jos,

Thanks for the support first

I set you last script:

Code: Select all

2017-11-24 22:11:00.506 LUA: D.M.: IP Port check
2017-11-24 22:11:01.016 LUA: D.M.: ISP Checking Internet Tele2 VDSL
2017-11-24 22:11:01.073 LUA: debug: D.M.: IP Port check
2017-11-24 22:11:01.073 LUA: debug:nc -z -w 1 192.168.5.98 552
2017-11-24 22:11:01.093 LUA: debug: nil returned. status of Port: Schuurtje=Off
2017-11-24 22:11:01.093 LUA: debug:nc -z -w 1 192.168.5.99 555
2017-11-24 22:11:01.114 LUA: debug: nil returned. status of Port: Solarmeter=Off
2017-11-24 22:11:01.114 LUA: debug:nc -z -w 1 192.168.5.97 553
2017-11-24 22:11:01.134 LUA: debug: nil returned. status of Port: Dakrand=Off
2017-11-24 22:11:01.134 LUA: debug:nc -z -w 1 192.168.5.75 8081
2017-11-24 22:11:01.154 LUA: debug: nil returned. status of Port: Domoticz 1=Off
2017-11-24 22:11:01.154 LUA: debug:nc -z -w 1 192.168.5.3 8083
2017-11-24 22:11:01.175 Error: EventSystem: in Port test: [string "commandArray = {} ..."]:12: attempt to concatenate field '?' (a nil value)
2017-11-24 22:11:02.019 (D.M.: Xiaomi Gateway) Temp (X: Ter)
Only the ip port is alive:
ScreenShot069.png
ScreenShot069.png (81.5 KiB) Viewed 1067 times

Or do i need a reboot or something??
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
jvdz
Posts: 2335
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: Lua is not working anymore

Post by jvdz »

Doubt a reboot will help. You could just test with testing your domoticz ip and port just to see whether the script works.
I don't understand the error I see at the end in the log as that was fixed with the 2 changes. You are sure you have the whole script as I posted or could it be this devicename is wrong: "Port: Domoticz 3"?

Jos
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
Derik
Posts: 1602
Joined: Friday 18 October 2013 23:33
Target OS: Raspberry Pi / ODroid
Domoticz version: BETA
Location: Arnhem/Nijmegen Nederland
Contact:

Re: Lua is not working anymore

Post by Derik »

mmm is it possible that you change the on and off???

This script is working ok now....:

Code: Select all

commandArray = {}

print ("debug: D.M.: IP Port check")

function update_portalive(name, ip, port)

    -- Windows https://joncraton.org/blog/46/netcat-for-windows/ untested

    s = "nc -z -w 1  " .. ip .." " .. tostring(port)
    print("debug:"..s)
    if (os.execute(s) == nil) then
        print("debug:  nil returned.  status of "..name.."="..otherdevices[name])
        if (otherdevices[name] == 'Off') then
            commandArray[name] = 'On'
            print(name .. " Dead")
        end
    else
        print("debug: Not nil returned.  status of "..name.."="..otherdevices[name])
        if (otherdevices[name] == 'Off') then
            print(name .. " Is a Alive")
            commandArray[name] = 'Off'
        end
    end
end


-- Fill in your services here  NAMEOFVIRTUALDEVICE    IP   PORT

update_portalive("Port: Schuurtje", "192.168.5.98", 552)
update_portalive("Port: Solarmeter", "192.168.5.99", 555)
update_portalive("Port: Dakrand", "192.168.5.97", 553)
update_portalive("Port: Domoticz 1", "192.168.5.75", 8081)
update_portalive("Port: Domoticz 3", "192.168.5.3", 8083)
update_portalive("Port: Domoticz 2", "192.168.5.147", 8082)
update_portalive("Port: Minecraft", "192.168.5.147", 22222)

return commandArray
No working oke... perhaps a other log message..
Only that is ok by me...
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
User avatar
jvdz
Posts: 2335
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: Lua is not working anymore

Post by jvdz »

You're welcome .... and i see the On-Off is sort of messed-up, did you figure out how to change it as that should be pretty strait forward?
My guess would be this is better but haven't tested it:

Code: Select all

commandArray = {}

print ("debug: D.M.: IP Port check")

function update_portalive(name, ip, port)

    -- Windows https://joncraton.org/blog/46/netcat-for-windows/ untested

    s = "nc -z -w 1  " .. ip .." " .. tostring(port)
    print("debug:"..s)
    if (os.execute(s) == nil) then
        -- unreachable so need to be Off
        print("debug:  nil returned.  status of "..name.."="..otherdevices[name])
        if (otherdevices[name] == 'On') then
            commandArray[name] = 'Off'
            print(name .. " Dead")
        end
    else
        -- reachable so need to be On
        print("debug: Not nil returned.  status of "..name.."="..otherdevices[name])
        if (otherdevices[name] == 'Off') then
            print(name .. " Is a Alive")
            commandArray[name] = 'On'
        end
    end
end

-- Fill in your services here  NAMEOFVIRTUALDEVICE    IP   PORT

update_portalive("Port: Schuurtje", "192.168.5.98", 552)
update_portalive("Port: Solarmeter", "192.168.5.99", 555)
update_portalive("Port: Dakrand", "192.168.5.97", 553)
update_portalive("Port: Domoticz 1", "192.168.5.75", 8081)
update_portalive("Port: Domoticz 3", "192.168.5.3", 8083)
update_portalive("Port: Domoticz 2", "192.168.5.147", 8082)
update_portalive("Port: Minecraft", "192.168.5.147", 22222)

return commandArray
Don't forget to comment the debug print statements when all is working to avoid filling up your logfile.

Jos
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
Derik
Posts: 1602
Joined: Friday 18 October 2013 23:33
Target OS: Raspberry Pi / ODroid
Domoticz version: BETA
Location: Arnhem/Nijmegen Nederland
Contact:

Re: Lua is not working anymore

Post by Derik »

Jos,

Strange thing i use the latest script....
The device are now going not on or off any more...

1 ip is dead i now for sure.
Only domoticz says it is alive...

so i think there is something not working..
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
jvdz
Posts: 2335
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: Lua is not working anymore

Post by jvdz »

Well.. as my crystal-ball is still in the workshop, I will have to depend on information you provide and have tested with. ;)
So, what is the latest script and what are the debug print statements producing for starters.

Jos
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
Derik
Posts: 1602
Joined: Friday 18 October 2013 23:33
Target OS: Raspberry Pi / ODroid
Domoticz version: BETA
Location: Arnhem/Nijmegen Nederland
Contact:

Re: Lua is not working anymore

Post by Derik »

"mmm whas thinking that your ball was working.... sorry again "

The Script:

Code: Select all

commandArray = {}

print ("debug: D.M.: IP Port check")

function update_portalive(name, ip, port)

    -- Windows https://joncraton.org/blog/46/netcat-for-windows/ untested

    s = "nc -z -w 1  " .. ip .." " .. tostring(port)
    print("debug:"..s)
    if (os.execute(s) == nil) then
        -- unreachable so need to be Off
        print("debug:  nil returned.  status of "..name.."="..otherdevices[name])
        if (otherdevices[name] == 'Off') then
            commandArray[name] = 'On'
            print(name .. " Dead")
        end
    else
        -- reachable so need to be On
        print("debug: Not nil returned.  status of "..name.."="..otherdevices[name])
        if (otherdevices[name] == 'On') then
            print(name .. " Is a Alive")
            commandArray[name] = 'Off'
        end
    end
end

-- Fill in your services here  NAMEOFVIRTUALDEVICE    IP   PORT

--update_portalive("Port: Schuurtje", "192.168.5.98", 552)
--update_portalive("Port: Solarmeter", "192.168.5.99", 555)
update_portalive("Port: Dakrand", "192.168.5.97", 553)
--update_portalive("Port: Domoticz 1", "192.168.5.75", 8081)
--update_portalive("Port: Domoticz 3", "192.168.5.3", 8083)
--update_portalive("Port: Domoticz 2", "192.168.5.147", 8082)
--update_portalive("Port: Minecraft", "192.168.5.147", 22222)
--update_portalive("Port: Domoticz", "192.168.5.70", 8080)
--update_portalive("Port: Kachelrelais", "192.168.5.12", 17495)
--update_portalive("Port: Xiaomi gateway", "192.168.5.7", 9898)


return commandArray


The log:

Code: Select all

017-11-25 18:41:11.425 EventSystem: Event triggered: TER: Verlichting H/W_17
2017-11-25 18:41:11.445 OpenZWave: Domoticz has send a Switch command!, Level: 95, NodeID: 45 (0x2d)
2017-11-25 18:41:11.464 LUA: debug: D.M.: IP Port check
2017-11-25 18:41:11.464 LUA: debug:nc -z -w 1 192.168.5.97 553
2017-11-25 18:41:11.484 (D.M.: Zwave) Light/Switch (Zter: Mini Lampjes)
2017-11-25 18:41:11.485 LUA: debug: nil returned. status of Port: Dakrand=On
2017-11-25 18:41:11.520 LUA: D.M.: PS4 Internet
2017-11-25 18:41:11.551 LUA: Van D.M.:Dakrand Totaal, naar D.M.: Dakrand, voor totalen
The Ip:
ScreenShot070.png
ScreenShot070.png (25.82 KiB) Viewed 1036 times
And when i change the on and off by both of the setpoints...
The switch is gioing on.
Only also not going off wen the ip:port is dead.
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
jvdz
Posts: 2335
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: Lua is not working anymore

Post by jvdz »

Ah... I see I got totally confused with your earlier post about the ON /OFF going wrong and made wrong changes to the script.
Does this one work better:

Code: Select all

commandArray = {}

print ("debug: D.M.: IP Port check")

function update_portalive(name, ip, port)

    -- Windows https://joncraton.org/blog/46/netcat-for-windows/ untested

    s = "nc -z -w 1  " .. ip .." " .. tostring(port)
    print("debug:"..s)
    if (os.execute(s) == nil) then
        -- unreachable so need to be Off
        print("debug:  nil returned.  status of "..name.."="..otherdevices[name])
        if (otherdevices[name] == 'On') then
            commandArray[name] = 'Off'
            print(name .. " Dead")
        end
    else
        -- reachable so need to be On
        print("debug: Not nil returned.  status of "..name.."="..otherdevices[name])
        if (otherdevices[name] == 'Off') then
            print(name .. " Is a Alive")
            commandArray[name] = 'On'
        end
    end
end

-- Fill in your services here  NAMEOFVIRTUALDEVICE    IP   PORT

--update_portalive("Port: Schuurtje", "192.168.5.98", 552)
--update_portalive("Port: Solarmeter", "192.168.5.99", 555)
update_portalive("Port: Dakrand", "192.168.5.97", 553)
--update_portalive("Port: Domoticz 1", "192.168.5.75", 8081)
--update_portalive("Port: Domoticz 3", "192.168.5.3", 8083)
--update_portalive("Port: Domoticz 2", "192.168.5.147", 8082)
--update_portalive("Port: Minecraft", "192.168.5.147", 22222)
--update_portalive("Port: Domoticz", "192.168.5.70", 8080)
--update_portalive("Port: Kachelrelais", "192.168.5.12", 17495)
--update_portalive("Port: Xiaomi gateway", "192.168.5.7", 9898)


return commandArray

New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
Derik
Posts: 1602
Joined: Friday 18 October 2013 23:33
Target OS: Raspberry Pi / ODroid
Domoticz version: BETA
Location: Arnhem/Nijmegen Nederland
Contact:

Re: Lua is not working anymore

Post by Derik »

thanks give it a try again..
Only 1 question
Can i check more then 1 device
Or do i need to make for every device a separate blockley?
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
jvdz
Posts: 2335
Joined: Tuesday 30 December 2014 19:25
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.107
Location: Netherlands
Contact:

Re: Lua is not working anymore

Post by jvdz »

I would think it should work for multiple devices as you have already in the LUA script (Not Blockly!)
Doesn't that work? (Assuming one does wok now)

Jos
New Garbage collection scripts: https://github.com/jvanderzande/GarbageCalendar
Derik
Posts: 1602
Joined: Friday 18 October 2013 23:33
Target OS: Raspberry Pi / ODroid
Domoticz version: BETA
Location: Arnhem/Nijmegen Nederland
Contact:

Re: Lua is not working anymore

Post by Derik »

Dear,

Stil not working wel...

Code: Select all

2017-12-02 14:44:00.123 LUA: debug: D.M.: IP Port check
2017-12-02 14:44:00.123 LUA: debug:nc -z -w 1 192.168.5.98 552
2017-12-02 14:44:00.142 LUA: debug: nil returned. status of Port: Schuurtje=Off
2017-12-02 14:44:00.142 LUA: debug:nc -z -w 1 192.168.5.99 555
2017-12-02 14:44:00.162 LUA: debug: nil returned. status of Port: Solarmeter=Off
2017-12-02 14:44:00.162 LUA: debug:nc -z -w 1 192.168.5.97 553
2017-12-02 14:44:00.181 LUA: debug: nil returned. status of Port: Dakrand=Off
An i use this:

Code: Select all

commandArray = {}

print ("debug: D.M.: IP Port check")

function update_portalive(name, ip, port)

    -- Windows https://joncraton.org/blog/46/netcat-for-windows/ untested

    s = "nc -z -w 1  " .. ip .." " .. tostring(port)
    print("debug:"..s)
    if (os.execute(s) == nil) then
        -- unreachable so need to be Off
        print("debug:  nil returned.  status of "..name.."="..otherdevices[name])
        if (otherdevices[name] == 'On') then
            commandArray[name] = 'Off'
            print(name .. " Dead")
        end
    else
        -- reachable so need to be On
        print("debug: Not nil returned.  status of "..name.."="..otherdevices[name])
        if (otherdevices[name] == 'Off') then
            print(name .. " Is a Alive")
            commandArray[name] = 'On'
        end
    end
end

-- Fill in your services here  NAMEOFVIRTUALDEVICE    IP   PORT

update_portalive("Port: Schuurtje", "192.168.5.98", 552)
update_portalive("Port: Solarmeter", "192.168.5.99", 555)
update_portalive("Port: Dakrand", "192.168.5.97", 553)
--update_portalive("Port: Domoticz 1", "192.168.5.75", 8081)
--update_portalive("Port: Domoticz 3", "192.168.5.3", 8083)
--update_portalive("Port: Domoticz 2", "192.168.5.147", 8082)
--update_portalive("Port: Minecraft", "192.168.5.147", 22222)
--update_portalive("Port: Domoticz", "192.168.5.70", 8080)
--update_portalive("Port: Kachelrelais", "192.168.5.12", 17495)
--update_portalive("Port: Xiaomi gateway", "192.168.5.7", 9898)


return commandArray
The script says dead..
Only this 3 are alive
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 1 guest