Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. Lua script

Lua script

Scheduled Pinned Locked Moved Troubleshooting
12 Posts 4 Posters 5.6k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Dragon
    wrote on last edited by
    #3

    Thanks but that didnt help.

    blaceyB 1 Reply Last reply
    0
    • D Dragon

      Thanks but that didnt help.

      blaceyB Offline
      blaceyB Offline
      blacey
      Admin
      wrote on last edited by blacey
      #4

      @Dragon I must have misunderstood what you are trying to accomplish. In lua 5.1.5, here is the result for what I thought you were trying to accomplish.

      0_1478209199557_Screen Shot 2016-11-03 at 2.39.40 PM.png

      Perhaps you should print(commandArray['UpdateDevice']) after you set it to confirm the value at that point. If the value of commandArray contains the string with decimals, as I suspect it will, then it must be something else or a Domoticoz issue. I also believe that tostring(counter) will include the decimals; the advantage of string.format() is that you can control the format of the resulting string...

      1 Reply Last reply
      1
      • D Offline
        D Offline
        Dragon
        wrote on last edited by
        #5

        I can try explain more how i made it. Sorry for my bad English, on my pellet boiler i have a switch that sends on to domoticz every turn with is 15 gram pellet. In domoticz is the switch called Pellets. Then i made a viruell counter in domoticz with name Counter. I want the lua script to + 0.015 to every turn the boiler do to Count how mutch pellet it use. It works now but shows without decimals like 2kg, 3kg and so. I can have so but it would be fun to se more exact weight.

        1 Reply Last reply
        0
        • F Offline
          F Offline
          flopp
          wrote on last edited by
          #6

          What is your Device in DZ?

          I guess it is a Dummy but is it a general counter, switch etc?

          D 1 Reply Last reply
          0
          • D Dragon

            I have made a simple lua script to count pellet and show this on a virtuell counter in Domoticz. The problem is that the counter dont shows decimals. Can anyone tell me if it is some more i have to write in the script. Here it is
            counter = otherdevices_svalues['Counter']
            counter = tonumber(counter)

            commandArray = {}
            if
            devicechanged['Pellets'] == 'On'
            then
            counter = counter + 0.015
            commandArray['UpdateDevice'] = 82 .. '|0|' .. tostring(counter)
            end

            return commandArray

            F Offline
            F Offline
            flopp
            wrote on last edited by flopp
            #7

            @Dragon said:

            counter = otherdevices_svalues['Counter']

            print(counter)

            counter = tonumber(counter)

            print(counter)

            commandArray = {}
            if
            devicechanged['Pellets'] == 'On'
            then
            counter = counter + 0.015

            print(counter)

            commandArray['UpdateDevice'] = 82 .. '|0|' .. tostring(counter)
            end

            return commandArray
            put print after each change you do with counter to see what actually happen with your values, as @blacey wrote

            D 1 Reply Last reply
            0
            • A Offline
              A Offline
              Affe
              wrote on last edited by
              #8

              Interesting projects

              I'm looking to create a counter that counts the number of times the temperature reaches above 30 degrees.
              Intend to use it when I bonfires

              Have you learned LUA on the internet?

              D 1 Reply Last reply
              0
              • F flopp

                What is your Device in DZ?

                I guess it is a Dummy but is it a general counter, switch etc?

                D Offline
                D Offline
                Dragon
                wrote on last edited by
                #9

                @flopp In DZ the counter is incremental but i tried general to.

                1 Reply Last reply
                0
                • F flopp

                  @Dragon said:

                  counter = otherdevices_svalues['Counter']

                  print(counter)

                  counter = tonumber(counter)

                  print(counter)

                  commandArray = {}
                  if
                  devicechanged['Pellets'] == 'On'
                  then
                  counter = counter + 0.015

                  print(counter)

                  commandArray['UpdateDevice'] = 82 .. '|0|' .. tostring(counter)
                  end

                  return commandArray
                  put print after each change you do with counter to see what actually happen with your values, as @blacey wrote

                  D Offline
                  D Offline
                  Dragon
                  wrote on last edited by
                  #10

                  @flopp When i put in print(counter) it shows with decimals in the logg but the counter doesnt

                  1 Reply Last reply
                  0
                  • A Affe

                    Interesting projects

                    I'm looking to create a counter that counts the number of times the temperature reaches above 30 degrees.
                    Intend to use it when I bonfires

                    Have you learned LUA on the internet?

                    D Offline
                    D Offline
                    Dragon
                    wrote on last edited by
                    #11

                    @Affe I can not lua :smiley: i read on lua pages on internet and experiment

                    1 Reply Last reply
                    0
                    • F Offline
                      F Offline
                      flopp
                      wrote on last edited by
                      #12

                      This my script with decimals

                      commandArray = {}
                      
                      if devicechanged['Panna_V'] or devicechanged['Huset_V'] then
                          local panna_v = otherdevices_svalues["Panna_V"]
                          local huset_v = otherdevices_svalues["Huset_V"]
                          local hushall_kwh = uservariables['Hushåll_kWh']
                          local huset_kwh = uservariables['Huset_kWh']
                          local panna_kwh = uservariables['Panna_kWh']
                          
                          local panna, energy, huset, energy2
                          --print(pan)
                          --print(hus)
                          
                          _,_,panna, energy = string.find(panna_v, "(.+);(.+)")
                          _,_,huset, energy2 = string.find(huset_v, "(.+);(.+)")
                          --print(panna)
                          --print(huset)
                          --print(energy)
                          --print ("energy2="..energy2)
                          --print ("huset_kwh="..huset_kwh)
                          husetdiff_kwh = energy2 - huset_kwh
                          --print ("husetdiff kwh")
                          --print (husetdiff_kwh)
                          
                          --print ("energy="..energy)
                          --print ("panna_kwh="..panna_kwh)
                          pannadiff_kwh = energy - panna_kwh
                          --print ("pannadiff kwh")
                          --print (pannadiff_kwh)
                          
                          hushal_kwh = husetdiff_kwh - pannadiff_kwh
                          hushall_kwh = hushall_kwh + hushal_kwh
                          --print ("hushåll_kwh")
                          --print (hushall_kwh)
                          panna = tonumber(panna)
                          huset = tonumber(huset)
                          hush = huset - panna
                          ener = energy2 - energy
                          
                          --print(hush)
                          --print(ener)
                          if hush > 0 then
                          
                              --print(el)
                              commandArray['Variable:Hushåll_kWh']= tostring(hushall_kwh)
                              commandArray['Variable:Huset_kWh']= tostring(energy2)
                              commandArray['Variable:Panna_kWh']= tostring(energy)
                                  
                              abc = tostring(hush)
                              def = tostring(hushall_kwh)
                              commandArray['UpdateDevice'] = '272|0|'..abc..';'..def..''
                          else
                          end
                          
                      end
                      return commandArray
                      

                      I am using Dummy, Electric(Instant&Counter) version 3.5721 of DZ

                      Panna_V(heating system) and Huset_V(whole house) is electric usage meters that report every 5 minute. I use my Dummy to show my electric consumption without(minus) my heating system

                      1 Reply Last reply
                      1
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      21

                      Online

                      11.7k

                      Users

                      11.2k

                      Topics

                      113.1k

                      Posts


                      Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • MySensors
                      • OpenHardware.io
                      • Categories
                      • Recent
                      • Tags
                      • Popular