DZVents script die stroom meet en stekker uitzet

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • janss66
  • Registratie: April 2021
  • Laatst online: 27-01-2022
Beste,

Ik ben net nieuw hier en ben begonnen met domoticz. Nu heb ik een zigbee powerplug die het verbruik meet.

Ik ben op zoek naar een script waar bij als het verbruik voor x minuten lager is dan y watt dat de stekker dan uitschakelt.

Heeft iemand een idee of voorbeeld?

Alvast bedankt

Alle reacties


Acties:
  • 0 Henk 'm!

  • Knielen
  • Registratie: December 2009
  • Laatst online: 18:08
Ik denk dat het volgende script wel redelijk moet doen wat jij wilt, vergeet niet in de settings DzVents in te schakelen

Lua:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
return {
    on = {
        devices = {
            'myDevice'
        }
    },
    execute = function(domoticz, device)
        if domoticz.devices('myDevice').usage < 100 then
            domoticz.devices('myDevice').switchOff.afterMin(10)
        else
            myDevice.cancelQueuedCommands()
        end
    end
}

Acties:
  • 0 Henk 'm!

  • janss66
  • Registratie: April 2021
  • Laatst online: 27-01-2022
Beste Knielen,

ik heb even jou script gebruikt en aangepast met mijn devices:

Voorbeeld: het het verbruik van de airco <100 Watt is dan moet de lamp in de gang uit naar 10 min.

return {
on = {
devices = {
'STEKKER_AIRCO_kwh'
},
},
execute = function(domoticz, device)
if domoticz.devices('STEKKER_AIRCO_kwh').usage < 100 then
domoticz.devices('LAMPGANG').switchOff.afterMin(10)
else
STEKKER_AIRCO_kwh.cancelQueuedCommands()
end
end
}

Ik krijg nu de volgende melding:
2021-04-08 15:06:11.151 Error: dzVents: Error: (3.0.2) An error occurred when calling event handler Script #3
2021-04-08 15:06:11.151 Error: dzVents: Error: (3.0.2) ...domoticz/scripts/dzVents/generated_scripts/Script #3.lua:8: attempt to compare nil with number
2021-04-08 15:06:23.350 Error: dzVents: Error: (3.0.2) An error occurred when calling event handler Script #3
2021-04-08 15:06:23.350 Error: dzVents: Error: (3.0.2) ...domoticz/scripts/dzVents/generated_scripts/Script #3.lua:8: attempt to compare nil with number
2021-04-08 15:06:24.545 Error: dzVents: Error: (3.0.2) An error occurred when calling event handler Script #3
2021-04-08 15:06:24.545 Error: dzVents: Error: (3.0.2) ...domoticz/scripts/dzVents/generated_scripts/Script #3.lua:8: attempt to compare nil with number
Afbeeldingslocatie: https://tweakers.net/i/ceuczXZI8Y5JoFtsmFGxLpdLMas=/800x/filters:strip_exif()/f/image/LEOO5Jr40EI3iNJnEw9iyDvc.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/FJuknk6u7YLKRprTNk1JApuv4GA=/800x/filters:strip_exif()/f/image/gAiQT59CbBucERjXKFMTrIrB.png?f=fotoalbum_large
Mijn stekkers in domoticz zijn:

Acties:
  • 0 Henk 'm!

  • adjego
  • Registratie: December 2004
  • Laatst online: 17:09
janss66 schreef op donderdag 8 april 2021 @ 15:14:
Beste Knielen,

ik heb even jou script gebruikt en aangepast met mijn devices:

Voorbeeld: het het verbruik van de airco <100 Watt is dan moet de lamp in de gang uit naar 10 min.

return {
on = {
devices = {
'STEKKER_AIRCO_kwh'
},
},
execute = function(domoticz, device)
if domoticz.devices('STEKKER_AIRCO_kwh').usage < 100 then
domoticz.devices('LAMPGANG').switchOff.afterMin(10)
else
STEKKER_AIRCO_kwh.cancelQueuedCommands()
end
end
}

Ik krijg nu de volgende melding:
2021-04-08 15:06:11.151 Error: dzVents: Error: (3.0.2) An error occurred when calling event handler Script #3
2021-04-08 15:06:11.151 Error: dzVents: Error: (3.0.2) ...domoticz/scripts/dzVents/generated_scripts/Script #3.lua:8: attempt to compare nil with number
2021-04-08 15:06:23.350 Error: dzVents: Error: (3.0.2) An error occurred when calling event handler Script #3
2021-04-08 15:06:23.350 Error: dzVents: Error: (3.0.2) ...domoticz/scripts/dzVents/generated_scripts/Script #3.lua:8: attempt to compare nil with number
2021-04-08 15:06:24.545 Error: dzVents: Error: (3.0.2) An error occurred when calling event handler Script #3
2021-04-08 15:06:24.545 Error: dzVents: Error: (3.0.2) ...domoticz/scripts/dzVents/generated_scripts/Script #3.lua:8: attempt to compare nil with number
[Afbeelding]

[Afbeelding]
Mijn stekkers in domoticz zijn:
Je moet niet .usage hebben maar .actualWatt.

Zie ook https://www.domoticz.com/..._generation_Lua_scripting

Home Assistant | ☀️ 2900 Wp PVOutput | 🔋 Tesla Model 3 RWD 2024


Acties:
  • 0 Henk 'm!

  • janss66
  • Registratie: April 2021
  • Laatst online: 27-01-2022
Beste adjego,

Ik heb het script aangepast:
return {
on = {
devices = {
'STEKKER_AIRCO_kwh'
}
},
execute = function(domoticz, device)
if domoticz.devices('STEKKER_AIRCO_kwh').actualWatt < 100 then
domoticz.devices('LAMPGANG').switchOff.afterMin(1)
else
STEKKER_AIRCO_kwh.cancelQueuedCommands()
end
end
}


Maar krijg nu de volgende foutmelding om de 2 sec

2021-04-08 16:28:39.784 Status: dzVents: Info: Handling events for: "STEKKER_AIRCO_kwh", value: "5"
2021-04-08 16:28:39.784 Status: dzVents: Info: ------ Start internal script: Script #3: Device: "STEKKER_AIRCO_kwh (deCONZ)", Index: 147
2021-04-08 16:28:39.785 Status: dzVents: Info: ------ Finished Script #3
2021-04-08 16:28:39.785 Error: dzVents: Error: (3.0.2) An error occurred when calling event handler Script #3
2021-04-08 16:28:39.785 Error: dzVents: Error: (3.0.2) ...domoticz/scripts/dzVents/generated_scripts/Script #3.lua:9: attempt to index a function value (field 'switchOff')

Mvg
Ron

Acties:
  • 0 Henk 'm!

  • janss66
  • Registratie: April 2021
  • Laatst online: 27-01-2022
Ps:

Als het verbruik boven de 100 watt komt dan krijg ik onderstaande foutmelding:

2021-04-08 16:32:36.889 Error: dzVents: Error: (3.0.2) An error occurred when calling event handler Script #3
2021-04-08 16:32:36.889 Error: dzVents: Error: (3.0.2) ...domoticz/scripts/dzVents/generated_scripts/Script #3.lua:11: attempt to index a nil value (global 'STEKKER_AIRCO_kwh')
2021-04-08 16:32:38.127 Status: dzVents: Info: Handling events for: "STEKKER_AIRCO_kwh", value: "580"
2021-04-08 16:32:38.127 Status: dzVents: Info: ------ Start internal script: Script #3: Device: "STEKKER_AIRCO_kwh (deCONZ)", Index: 147
2021-04-08 16:32:38.127 Status: dzVents: Info: ------ Finished Script #3

Acties:
  • +1 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 18-05 18:57
janss66 schreef op donderdag 8 april 2021 @ 16:30:
Beste adjego,

Ik heb het script aangepast:
return {
on = {
devices = {
'STEKKER_AIRCO_kwh'
}
},
execute = function(domoticz, device)
if domoticz.devices('STEKKER_AIRCO_kwh').actualWatt < 100 then
domoticz.devices('LAMPGANG').switchOff.afterMin(1)
else
STEKKER_AIRCO_kwh.cancelQueuedCommands()
end
end
}


Maar krijg nu de volgende foutmelding om de 2 sec

2021-04-08 16:28:39.784 Status: dzVents: Info: Handling events for: "STEKKER_AIRCO_kwh", value: "5"
2021-04-08 16:28:39.784 Status: dzVents: Info: ------ Start internal script: Script #3: Device: "STEKKER_AIRCO_kwh (deCONZ)", Index: 147
2021-04-08 16:28:39.785 Status: dzVents: Info: ------ Finished Script #3
2021-04-08 16:28:39.785 Error: dzVents: Error: (3.0.2) An error occurred when calling event handler Script #3
2021-04-08 16:28:39.785 Error: dzVents: Error: (3.0.2) ...domoticz/scripts/dzVents/generated_scripts/Script #3.lua:9: attempt to index a function value (field 'switchOff')

Mvg
Ron
Het is switchOff().afterMin(1)

en STEKKER_AIRCO_kwh.cancelQueuedCommands() is domoticz.devices('STEKKER_AIRCO_kwh').cancelQueuedCommands()

En je kunt overal waar domoticz.devices('STEKKER_AIRCO_kwh'). staat deze ook vervangen door device.

[ Voor 7% gewijzigd door jobr op 08-04-2021 18:39 ]


Acties:
  • 0 Henk 'm!

  • Knielen
  • Registratie: December 2009
  • Laatst online: 18:08
Ah, inderdaad een setje haakjes vergeten achter switchOff. Usage werkt bij mij wel hoor, denk ik afhankelijk van het type apparaat.

Acties:
  • 0 Henk 'm!

  • janss66
  • Registratie: April 2021
  • Laatst online: 27-01-2022
Beste,

Allemaal bedankt. Onderstaand script werk nu prima.
return {
on = {
--devices = {'STEKKER_AIRCO_kwh'},
timer = {'every 1 minutes'},
},
execute = function(domoticz, device)
--if device.actualWatt < 100 then
if domoticz.devices('STEKKER_AIRCO_kwh').actualWatt < 100 then
domoticz.devices('LAMPGANG').switchOff()
else
domoticz.devices('LAMPGANG').switchOn()
--device.cancelQueuedCommands()
end
end
}

Ik heb alleen nog een vraagje: Eigenlijk wil ik een 3 keer een check doen of de stekker 3 keer onder de 100 W is geweest.

Dus de timer (iedere minuut) moet 3 keer beneden de 100 zijn geweest en dan moet de LAMPGANG uit.

Mvg
Ron

Acties:
  • 0 Henk 'm!

Anoniem: 543480

Hallo,

Mijn vraag is vergelijkbaar.
Ik kan (soms) niet goed overweg met dzvents.

Wat ik wil is dat het laden van een batterij (van de fiets of van een powerbank) stopt wanneer de batterij bijna vol is.
Zo kan je voorkomen dat de batterij 100% geladen en dat is niet goed voor de levensduur van de batterij.

Het script zou het aantal Watt moeten meten en als dat aantal Watt met 10% daalt ten opzichte van bijvoorbeeld 10 minuten gelden dan zou in Domoticz de schakelaar (bijvoorbeeld een Shelly of een relais) de stroom uit moeten schakelen.
Het moet dus werken bij een beginwattage van 110 Watt maar ook bij een begin van 8 Watt.

Ik zou me kunnen voorstellen dat dzvents de waarde iedere minuut bewaart en steeds de waarde van 10 minuten geleden uitleest.

Afbeeldingslocatie: https://tweakers.net/i/emPl1760uKMtKvwCODnqbBkBt3c=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/XhfYexysTzcZjriQpZYZBPsA.jpg?f=user_large
Op de afbeelding zie je dat het laden begint, vervolgens een tijdje is uitgeschakeld en daarna weer verder gaat. Aan de rechterkant zie je de waarde dalen.

[ Voor 10% gewijzigd door Anoniem: 543480 op 30-10-2022 11:23 . Reden: plaatje niet zichtbaar ]


Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 18-05 18:57
@Anoniem: 543480 Je moet in ieder geval iets doen met Persistent data: https://www.domoticz.com/...scripting#Persistent_data

En kijk dan eens naar het voorbeeld iets verder op de pagina waar boven staat "A special kind of persistent variables: history = true (Historical variables API)"

Dus bijv elke minuut bewaar je het aantal Watt. En je rekent de daling uit en doet dan wat.
Eventueel er nog een persistent variabele erbij om te zorgen dat je maar 1 keer actie neemt (zetten als je actie neemt) als het gaat dalen en niet elke minuut waarna weer. Die variabele dan weer resetten als het weer omhoog gaat of op 0 staat.

Acties:
  • 0 Henk 'm!

Anoniem: 543480

Ik heb een script gemaakt.
Als het mooier/compacter geschreven kan worden hoor ik het graag.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
-- Shelly (get watt)
-- Howto at Luftdaten https://www.domoticz.com/forum/viewtopic.php?f=72&t=23406&hilit=luftdaten
-- Call Shelly with http://192.168.x.x/status
-- local Shelly = 'Shelly 21-0'

local CHARGER_SWITCH = 'Groene lampjes' -- switch device
local value_10 = 0 
local value_9 = 0
local value_8 = 0
local value_7 = 0
local value_6 = 0
local value_5 = 0
local value_4 = 0
local value_3 = 0
local value_2 = 0
local value_1 = 0
local value_0 = 0

return {
    active = true,
    on = {
        timer = { 'every minute' },            -- every minute for testing, 10 minutes when active
        httpResponses = { 'Shelly21Retrieved' }  -- matches callback string below
    },
    
    logging =   
        {
        -- level: This is the log level you want for this script. 
        -- Can be domoticz.LOG_INFO, domoticz.LOG_MODULE_EXEC_INFO, domoticz.LOG_DEBUG or domoticz.LOG_ERROR
        -- marker: A string that is prefixed before each log message. 
        level = domoticz.LOG_INFO and domoticz.LOG_DEBUG,
        marker = "BATTERY CHARGER",
        },
    
    execute = function(domoticz, item)

        if (item.isTimer) then
            domoticz.openURL({
                url = 'http://192.168.2.21/status',
                method = 'GET',
                callback = 'Shelly21Retrieved'
            })

        elseif (item.isHTTPResponse) then
            if (item.ok and item.isJSON) then
                -- domoticz.utils.dumpTable(item.json)   -- dumpTable shows all values, nice for debugging
                domoticz.devices('Shelly 21').updateCustomSensor(item.json.meters[1].power)                
                -- domoticz.devices('Shelly 21').updateCustomSensor(item.json.meters[2].power)
                -- domoticz.notify('Power     ' .. item.json.meters[1].power, domoticz.PRIORITY_HIGH)     
                -- domoticz.notify('Is_valid  ' .. item.json.meters[1].is_valid, domoticz.PRIORITY_LOW) --howto display TRUE or FALSE?
                -- domoticz.log(item.json.meters[1].power, domoticz.LOG_ERROR)                         
                -- domoticz.notify('Timestamp ' .. item.json.meters[1].timestamp, domoticz.PRIORITY_LOW)  -- success
                        
                local switch_state = domoticz.devices(CHARGER_SWITCH).state           
                local power_usage = item.json.meters[1].power 

                -- info only on log level = LOG_DEBUG
                domoticz.log('Groene lampjes status   : ' .. switch_state, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes Watt     : ' .. power_usage, domoticz.LOG_DEBUG)
                value_10 = value_9
                value_9 = value_8
                value_8 = value_7
                value_7 = value_6
                value_6 = value_5
                value_5 = value_4
                value_4 = value_3
                value_3 = value_2
                value_2 = value_1
                value_1 = value_0
                value_0 = power_usage
                
                if value_10 > 1.1 * value_0 then
                    -- switch off shelly like switchoff Groene lampjes
                    domoticz.devices(CHARGER_SWITCH).switchOff()
                end
            else
                -- oops
                domoticz.log('Error fetching Shelly data', domoticz.LOG_ERROR)
                domoticz.log(item.data, domoticz.LOG_ERROR)
            end
        end
    end
}

Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 18-05 18:57
Anoniem: 543480 schreef op woensdag 26 oktober 2022 @ 23:48:
Ik heb een script gemaakt.
Als het mooier/compacter geschreven kan worden hoor ik het graag.
Dat zijn geen persistent variabelen. Weet je zeker dat dit werkt ?
Log die values maar eens :)

Acties:
  • +1 Henk 'm!

Anoniem: 543480

@jobr klopt.
Ik heb de code inmiddels aangepast.
Voor de volledigheid heb ik alle test en debug info in de code laten staan.
Je kunt de meettijd terugbrengen naar bijvoorbeeld 8 minuten en alle regels met debug info verwijderen.
Makkelijker nog kan je LOG_DEBUG vervangen door LOG_ERROR

De code elimineert 4 minuten na het inschakelen de gegevens van de eerste 3 minuten.
Het blijkt dat een aantal apparaten start met een hoog vermogen en even later zakt naar een lager niveau.
Om te voorkomen dat het laden door deze regulering aan het begin het laden ongewenst uitschakelt worden deze eerste meetgegevens gewist.

Met deze code en een Shelly Plus 1 PM (bijvoorbeeld) kan je voorkomen dat de batterij van je apparaten wordt opgeladen tot 100% en daarmee de levensduur van de batterij verlengen.

Je kunt de gevoeligheid van de code instellen in onderstaand stukje code
code:
1
2
3
4
if domoticz.data.value_8 > 1.33 * domoticz.data.value_0 then
                    -- switch off shelly like switchoff Groene lampjes
                    domoticz.devices(CHARGER_SWITCH).switchOff()
                end

Die 1.33 is de ingestelde verhouding tussen de meting 5 minuten eerder en de huidige meting.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
-- Shelly get power (watt)
-- Howto at Luftdaten https://www.domoticz.com/forum/viewtopic.php?f=72&t=23406&hilit=luftdaten
-- Call Shelly with http://192.168.x.x/status
-- local Shelly = 'Shelly 21-0'

local CHARGER_SWITCH = 'Groene lampjes' -- switch device (Green lights)

return {
    active = true,
    on = {
        timer = { 'every minute' },            
        httpResponses = { 'Shelly21Retrieved' }  -- matches callback string below
    },
    
    data = {
        counter = {initial = 0 },
        switch_state = {initial = 'Off'},
        value_10 = { initial = 0 }, 
        value_9 = { initial = 0 },
        value_8 = { initial = 0 },
        value_7 = { initial = 0 },
        value_6 = { initial = 0 },
        value_5 = { initial = 0 },
        value_4 = { initial = 0 },
        value_3 = { initial = 0 },
        value_2 = { initial = 0 },
        value_1 = { initial = 0 },
        value_0 = { initial = 0 },
    },
    
    logging =   
        {
        -- level: This is the log level you want for this script. 
        -- Can be domoticz.LOG_INFO, domoticz.LOG_MODULE_EXEC_INFO, domoticz.LOG_DEBUG or domoticz.LOG_ERROR
        -- marker: A string that is prefixed before each log message. 
        level = domoticz.LOG_INFO and domoticz.LOG_DEBUG,
        marker = "BATTERY CHARGER",
        },
    
    execute = function(domoticz, item)

        if (item.isTimer) then
            domoticz.openURL({
                url = 'http://192.168.2.21/status',
                method = 'GET',
                callback = 'Shelly21Retrieved'
            })

        elseif (item.isHTTPResponse) then
            if (item.ok and item.isJSON) then
                -- domoticz.utils.dumpTable(item.json)   -- dumpTable shows all values, nice for debugging
                domoticz.devices('Shelly 21').updateCustomSensor(item.json.meters[1].power)                
                -- domoticz.devices('Shelly 21').updateCustomSensor(item.json.meters[2].power)
                -- domoticz.notify('Power     ' .. item.json.meters[1].power, domoticz.PRIORITY_HIGH)     
                -- domoticz.notify('Is_valid  ' .. item.json.meters[1].is_valid, domoticz.PRIORITY_LOW) --howto display TRUE or FALSE?
                -- domoticz.log(item.json.meters[1].power, domoticz.LOG_ERROR)                         
                -- domoticz.notify('Timestamp ' .. item.json.meters[1].timestamp, domoticz.PRIORITY_LOW)  -- success
                        -- domoticz.utils.dumpTable(item.json)   -- dumpTable laat alle waarden zien, mooi voor debugging
                -- collect all input data
                local switch_state = domoticz.devices(CHARGER_SWITCH).state
                                local power_usage = item.json.meters[1].power 
                if switch_state == 'On' then
                    domoticz.data.counter = domoticz.data.counter + 1    
                elseif switch_state == 'Off' then
                    domoticz.data.counter = 0
                    domoticz.data.value_0 = 0
                    domoticz.data.value_1 = 0
                    domoticz.data.value_2 = 0
                    domoticz.data.value_3 = 0
                    domoticz.data.value_4 = 0
                    domoticz.data.value_5 = 0
                    domoticz.data.value_6 = 0
                    domoticz.data.value_7 = 0
                    domoticz.data.value_8 = 0
                    domoticz.data.value_9 = 0
                    domoticz.data.value_10 = 0
                    -- for testing there were 10 values, 6 seem to be enough
                end
                                -- Some devices start charging with high values, which drop after a few minutes
                -- That is why dat  from the first minutes are eliminated
                if switch_state == 'On' and domoticz.data.counter == 4 then
                    domoticz.log('domoticz.data.counter in de loop       : ' .. domoticz.data.counter, domoticz.LOG_DEBUG)
                    domoticz.log('Groene lampjes value_4 : ' .. domoticz.data.value_4, domoticz.LOG_DEBUG)
                    domoticz.log('Groene lampjes value_3 : ' .. domoticz.data.value_3, domoticz.LOG_DEBUG)
                    domoticz.log('Groene lampjes value_2 : ' .. domoticz.data.value_2, domoticz.LOG_DEBUG)
                    domoticz.log('Groene lampjes value_1 : ' .. domoticz.data.value_1, domoticz.LOG_DEBUG)
                    domoticz.log('Groene lampjes value_0 : ' .. domoticz.data.value_0, domoticz.LOG_DEBUG)
                    -- clear the first 3 data because charging sometimes starts with a bump
                    domoticz.data.value_0 = 0
                    domoticz.data.value_1 = 0
                    domoticz.data.value_2 = 0
                    domoticz.data.value_3 = 0
                end

                domoticz.log('Groene lampjes status   : ' .. switch_state, domoticz.LOG_DEBUG)
                domoticz.log('counter        : ' .. domoticz.data.counter, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes Watt     : ' .. power_usage, domoticz.LOG_DEBUG)
                domoticz.data.value_10 = domoticz.data.value_9
                domoticz.data.value_9 = domoticz.data.value_8
                domoticz.data.value_8 = domoticz.data.value_7
                domoticz.data.value_7 = domoticz.data.value_6
                domoticz.data.value_6 = domoticz.data.value_5
                domoticz.data.value_5 = domoticz.data.value_4
                domoticz.data.value_4 = domoticz.data.value_3
                domoticz.data.value_3 = domoticz.data.value_2
                domoticz.data.value_2 = domoticz.data.value_1
                domoticz.data.value_1 = domoticz.data.value_0
                domoticz.data.value_0 = power_usage
                domoticz.log('domoticz.data.counter  : ' .. domoticz.data.counter, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_10: ' .. domoticz.data.value_10, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_9 : ' .. domoticz.data.value_9, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_8 : ' .. domoticz.data.value_8, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_7 : ' .. domoticz.data.value_7, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_6 : ' .. domoticz.data.value_6, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_5 : ' .. domoticz.data.value_5, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_4 : ' .. domoticz.data.value_4, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_3 : ' .. domoticz.data.value_3, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_2 : ' .. domoticz.data.value_2, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_1 : ' .. domoticz.data.value_1, domoticz.LOG_DEBUG)
                domoticz.log('Groene lampjes value_0 : ' .. domoticz.data.value_0, domoticz.LOG_DEBUG)

                if domoticz.data.value_8 > 1.33 * domoticz.data.value_0 then
                    -- switch off shelly like switchoff Groene lampjes
                    domoticz.devices(CHARGER_SWITCH).switchOff()
                end
            else
                -- oops
                domoticz.log('Error fetching Shelly data', domoticz.LOG_ERROR)
                domoticz.log(item.data, domoticz.LOG_ERROR)
            end
        end
    end
}


Afbeeldingslocatie: https://tweakers.net/i/D392hJOu_x5fM5WbY-aFZvKp2uE=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/fbLYpBbkMNNfvp8F3xklRYIc.jpg?f=user_large
De lijn links laat een lader zien die begint met een piek en rechts een lader die vlak verloopt.

Met deze code stopt het laden van mijn telefoon bij 92%

[ Voor 6% gewijzigd door Anoniem: 543480 op 30-10-2022 11:22 ]


Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 18-05 18:57
Anoniem: 543480 schreef op zondag 30 oktober 2022 @ 10:55:
Je kunt de meettijd terugbrengen naar bijvoorbeeld 8 minuten en alle regels met debug info verwijderen.
Makkelijker nog kan je LOG_DEBUG vervangen door LOG_ERROR
Nog makkelijker is een logging stukje toe te voegen:

code:
1
2
3
4
5
6
7
return {
    active = true,
    logging = {
--      level = domoticz.LOG_DEBUG, -- Uncomment to override the dzVents global logging setting and use debug
        marker = 'Charger'   hier zelf wat invullen
    },
    on = {


Zo kun je de debug laten staan maar wordt het niet zichtbaar. Comment tekens weghalen bij level en het is weer terug.
Met marker wordt de module naam gelogd die achter marker staat.
Pagina: 1