I think i got it, when i use this script from McMellow
I change a little thing
I get a alarm attempt to compare number with string
But when i look in the log i see a number
Code: Select all
--[[ dzVents script to Parse P1 Smart Meter Electricity value into seperated Meter Readings.
]]-- The following need updated for your environment get the 'Idx' or 'Name' of the Device tab.
local fetchIntervalMins = 1 -- (Integer) (Minutes, Range 5-60) How often SE file is fetched
local P1data = 5 -- Electra, P1 Smart Meter device
local idxu1 = 14 -- Meter Usage low, Virtual device, counter incremental
local idxu2 = 15 -- Meter Usage High, Virtual device, counter incremental
local idxr1 = 16 -- Meter Return Low, Virtual device, counter incremental
local idxr2 = 17 -- Meter Return High, Virtual device, counter incremental
local idxcons = 18 -- Meter Actual Usage, Virtual device, counter incremental
local idxprod = 19 -- Meter Actual Production, Virtual device, counter incremental
local ScriptVersion = '0.1.5'
return {
active = true,
logging = {
-- level = domoticz.LOG_DEBUG, -- Uncomment this line to override the dzVents global logging setting
marker = 'SME '.. ScriptVersion
},
on = {
timer = { 'every minute' }
},
execute = function(domoticz, device)
-- Get values from device P1Data of the Smart Meter
local SMdata = domoticz.devices(P1data).rawData
-- Update the device and Debug meassages with the accessory values from table SMdata
domoticz.devices(idxu1).updateCounter(SMdata[1])
domoticz.log('Gebruik laag = '.. SMdata[1], domoticz.LOG_DEBUG)
domoticz.devices(idxu2).updateCounter(SMdata[2])
domoticz.log('Gebruik hoog = '.. SMdata[2], domoticz.LOG_DEBUG)
domoticz.devices(idxr1).updateCounter(SMdata[3])
domoticz.log('Levering laag = '.. SMdata[3], domoticz.LOG_DEBUG)
domoticz.devices(idxr2).updateCounter(SMdata[4])
domoticz.log('Levering hoog = '.. SMdata[4], domoticz.LOG_DEBUG)
domoticz.devices(idxcons).updateCounter(SMdata[5])
domoticz.log('Actuele verbruik = '.. SMdata[5], domoticz.LOG_DEBUG)
domoticz.devices(idxprod).updateCounter(SMdata[6])
domoticz.log('Actuele levering = '.. SMdata[6], domoticz.LOG_DEBUG)
print ('Actuele verbruik = '.. SMdata[5])
print ('Actuele levering = '.. SMdata[6])
terug = (SMdata[6])
print (terug)
if terug >= 100 then domoticz.devices('Switch1').switchOn().checkFirst()
else domoticz.devices('Switch1').switchOff().checkFirst()
end
end -- execute
2019-03-25 17:27:50.000 (P1data) P1 Smart Meter (Power)
2019-03-25 17:28:00.084 (P1data) P1 Smart Meter (Power)
2019-03-25 17:28:00.740 Status: dzVents: Info: SME 0.1.5: ------ Start internal script: P1_extract:, trigger: every minute
2019-03-25 17:28:00.808 Status: dzVents: Info: SME 0.1.5: ------ Finished P1_extract
2019-03-25 17:28:00.814 Status: dzVents: Info: SME 0.1.5: ------ Start internal script: terugleveren:, trigger: every minute
2019-03-25 17:28:00.815 Status: dzVents: Actuele verbruik = 529
2019-03-25 17:28:00.816 Status: dzVents: Actuele levering = 0
2019-03-25 17:28:00.816 Status: dzVents: 0
2019-03-25 17:28:00.816 Status: dzVents: Error (2.4.6): SME 0.1.5: An error occured when calling event handler terugleveren
2019-03-25 17:28:00.816 Status: dzVents: Error (2.4.6): SME 0.1.5: ...z/var/scripts/dzVents/generated_scripts/terugleveren.lua:53:
attempt to compare number with string
2019-03-25 17:28:00.816 Status: dzVents: Info: SME 0.1.5: ------ Finished terugleveren
2019-03-25 17:28:01.276 Status: EventSystem: Script event triggered: /usr/local/domoticz/dzVents/runtime/dzVents.lua
2019-03-25 17:28:10.165 (P1data) P1 Smart Meter (Power)
But when i change this
print ('Actuele verbruik = '.. SMdata[5])
print ('Actuele levering = '.. SMdata[6])
terug = (SMdata[6])
+1
print (terug)
Evry thing works oke
2019-03-25 17:32:52.191 (P1data) P1 Smart Meter (Power)
2019-03-25 17:33:00.407 Status: dzVents: Info: SME 0.1.5: ------ Start internal script: P1_extract:, trigger: every minute
2019-03-25 17:33:00.561 Status: dzVents: Info: SME 0.1.5: ------ Finished P1_extract
2019-03-25 17:33:00.561 Status: dzVents: Info: SME 0.1.5: ------ Start internal script: terugleveren:, trigger: every minute
2019-03-25 17:33:00.562 Status: dzVents: Actuele verbruik = 450
2019-03-25 17:33:00.563 Status: dzVents: Actuele levering = 0
2019-03-25 17:33:00.563 Status: dzVents: 1
2019-03-25 17:33:00.566 Status: dzVents: Info: SME 0.1.5: ------ Finished terugleveren
2019-03-25 17:33:02.311 (P1data) P1 Smart Meter (Power)