pixel
Pvoutput koppelen aan Domoticz v2020.1 nederlands 2

Pvoutput koppelen aan Domoticz v2020.1 nederlands

0
(0)

Je wilt graag je zonnepanelen in de gaten houden vanuit een andere locatie dan thuis. Natuurlijk kan je je domoticz met verschillende tools ook vanaf buiten huis gebruiken.

Maar je wilt nu gewoon simpel dat kan natuurlijk ook met een mooie grafiek erbij.
En ook weer een extra back-up natuurlijk zo.
Dit kan met de website van pvoutput.org zoals onze opbrengst.


Ik log dit met een s0 meter met daaraan een Arduino mini met code.
En deze zit in verbinding met de raspberry pi waar domoticz op draait.
Dit systeem is hier ook al eens eerder gepubliceerd.

Vanaf de update naar Buster en Domoticz v2020.1 werkt de oude methode niet meer, vandaar dat deze nieuwe handleiding online komt.

Pvoutput koppelen aan Domoticz v2020.1 nederlands 3

Om te beginnen ga je naar instellingen
en daarna ook instellingen
daarna klik je het knopje overige aan

Pvoutput koppelen aan Domoticz v2020.1 nederlands 4

Nu zal bijna onder aan het vakje DZEVENTS staan hier moet het vinkje voor staan. En nu moet je boven aan de pagina op Bewaar Instellingen drukken anders slaat hij het niet op.



Advertentie :


Pvoutput koppelen aan Domoticz v2020.1 nederlands 5

Nu mag je weer naar instellingen gaan , daarna naar meer opties.
Daarna naar Gebruikersvariabelen.

Pvoutput koppelen aan Domoticz v2020.1 nederlands 6

Daar vul je de gegevens in van je PVoutput.

PVoutput_IDString*****
PVoutput_APIString*******

Nu mag je weer naar instellingen gaan , daarna naar meer opties.
Daarna naar Gebeurtenissen.
En mag je op het plusje drukken.

Pvoutput koppelen aan Domoticz v2020.1 nederlands 7

Hier ga je naar DZEVENTS en dan Timer.
(dit zorgt er voor dat het script eens in de aantal minuten gaat draaien of 1x per minuut of zoals ik hem heb draaien 1x per 10 minuten)

Pvoutput koppelen aan Domoticz v2020.1 nederlands 8


Om een functie aan of uit te zetten haal of plaats de 2 streepjes voor de regel.

  --    local P1 = dz.devices('P1 Power')                   -- P1-Slimme meter 
        local generated = dz.devices('Solar Power')           -- Uitvoer van S0 meter omvormer 
  --    local consumed = dz.devices('Consumption')          -- Verbruik virtueel apparaat 
        local temperature = dz.devices('temp buiten voor')       -- Temperatuur sensor 
  --    local voltageDevice = dz.devices('uac1')            --  Voltage meting van 


Bijvoorbeeld bij:

Daar zal nu alleen de Solar power en temp buiten voor gegevens gebruikt worden nu.
de namen tussen (‘ ****** ‘) moet je veranderen naar de eigen gebruikte namen van je apparaten!!
Anders werkt het niet.

En hier geef je aan welke gegevens je wilt gaan uploaden naar PVoutput.
Ook hier kan je de regels aan of uit zetten met de — voor de tekst weg te halen om te gebruiken.
En ervoor te zetten om uit te schakelen.

                -- Gebruik deze als u netto productie van zonnepanelen wilt
                '&v1=' .. round(generated.WhTotal,1) ..  -- produced
                '&v2=' .. round(generated.actualWatt,1) ..

                -- Gebruik deze als u wilt dat je de gegevens van je slimme meter wilt gebruiken voor teruggave
                -- '&v1=' .. P1.return1 + P1.return2 ..  -- returned to the grid
                -- '&v2=' .. P1.usageDelivered ..

                -- Gebruik deze als u wilt dat je de gegevens van je slimme meter wilt gebruiken voor gebruik
                -- '&v3=' .. P1.usage1 + P1.usage2 .. -- net values from your smart meter
                -- '&v4=' .. P1.usage ..

                -- Gebruik deze als je wilt wat er wordt berekend
               -- '&v3=' .. round(consumed.WhTotal,1) .. -- consumed 
               -- '&v4=' .. round(consumed.actualWatt,1) ..

               -- Gebruik deze als je temperatuur en je voltage wilt uploaden
                '&v5=' .. round(temperature.temperature,1) .. 
               -- '&v6=' .. voltage ..

de Complete gebruikte code staat hieronder en na eigen instellingen veranderen.

Nu selecteer je onderstaande script en plakt deze er in :

--[[
        dzVents version of pvOutput script.
pvOutput.lua downloaded van https://www.huizebruin.nl/domoticz/pvoutput-systeem-koppelen-aan-domoticz-v2020-1/
Bron : https://domoticz.com/forum/viewtopic.php?f=61&t=4714&start=100

Om een functie aan of uit te zetten haal of plaats de 2 streepjes voor de regel weg.

        api-key and id stored in domoticz uservariables:

            PVoutput_API     
            PVoutput_ID 

        both as type string

        v1 - energy generated
        v2 - power generated            W from 
        v3 - energy consumption
        v4 - power consumption
        v5 - temperature
        v6 - voltage

        c1 - Cumulatieve vlag 1 Zowel v1- als v3-waarden zijn levenslange energiewaarden.
Het verbruik en de opgewekte energie worden aan het begin van de dag op 0 gezet. 
2 Alleen v1 gegenereerd is een levenslange energiewaarde. 
3 Alleen v3-verbruik is een levenslange energiewaarde.

        
        n  - Net flag          Indien ingesteld op 1, geeft dit aan dat de vermogenswaarden netto export / import zijn.
                                in plaats van bruto gegenereerd / verbruik. 
            Deze optie wordt gebruikt voor apparaten die dat wel zijn niet in staat om bruto consumptiegegevens te rapporteren. 
            De verstrekte import- / exportgegevens worden samengevoegd met bestaande gegenereerde gegevens om het verbruik af te leiden.

        Donation mode only parms
        ========================
        '&delay=' .. Delay
        '&v7=' .. WaterConsumption
        '&v8=' .. InverterFrequency
        '&v11=' .. InverterTemp
        '&v12=' .. GasConsumption

]]

local scriptVar = 'PVOutput'

return 
{
    on =    
    { 
        timer = 
        { 
            'every 10 minutes', --om de 10 minuten is voor mij voldoende
        },
        httpResponses = 
        { 
            scriptVar,
        },
    },
 
    logging =    
    {   
        level = domoticz.LOG_DEBUG, -- change to LOG_ERROR when OK - was LOG_DEBUG
        marker = scriptVar,
    },

    execute = function(dz, item)

        local function post2PVOutput(PVSettings, postData)
            dz.openURL({
                url = PVSettings.url,
                method = 'POST',
                headers = {
                    ['X-Pvoutput-Apikey'] = PVSettings.api,
                    ['X-Pvoutput-SystemId'] = PVSettings.id
                },
                callback = scriptVar,
                postData = postData
            })
        end

        local function makepostData()
  --    local P1 = dz.devices('P1 Power')                   -- P1-Slimme meter
        local generated = dz.devices('Solar Power')           -- Uitvoer van S0 meter omvormer
  --    local consumed = dz.devices('Consumption')          -- Verbruik virtueel apparaat 
        local temperature = dz.devices('temp buiten voor')       -- Temperatuur sensor 
  --    local voltageDevice = dz.devices('uac1')            --  Voltage meting van 

            local round = dz.utils.round

       --     local voltageString = voltageDevice.sValue
       --    local voltage = round(tonumber(voltageString:match('%d*%.*%d*')),1) -- To prevent error if 'V' is part of the string
                        
      --      dz.log('P1         : ' .. P1.sValue,dz.LOG_DEBUG)
            dz.log('generated  : ' .. generated.nValue .. ';' .. generated.sValue,dz.LOG_DEBUG)
      --      dz.log('consumed   : ' .. consumed.nValue .. ';' .. consumed.sValue,dz.LOG_DEBUG)
            dz.log('Temperature: ' .. temperature.temperature,dz.LOG_DEBUG)
       --     dz.log('voltage    : ' .. voltage,dz.LOG_DEBUG)
            
            local postdDataAsString = 
                    'd=' .. os.date("%Y%m%d") ..
                    '&t=' .. os.date("%H:%M") .. 
                    
                    -- Gebruik deze als u netto productie van zonnepanelen wilt
                    '&v1=' .. round(generated.WhTotal,1) ..  -- produced
                    '&v2=' .. round(generated.actualWatt,1) ..
                    
                    -- Gebruik deze als u wilt dat je de gegevens van je slimme meter wilt gebruiken voor teruggave
                    -- '&v1=' .. P1.return1 + P1.return2 ..  -- returned to the grid
                    -- '&v2=' .. P1.usageDelivered ..
                    
                    -- Gebruik deze als u wilt dat je de gegevens van je slimme meter wilt gebruiken voor gebruik
                    -- '&v3=' .. P1.usage1 + P1.usage2 .. -- net values from your smart meter
                    -- '&v4=' .. P1.usage ..
                    
                    -- Gebruik deze als je wilt wat er wordt berekend
                   -- '&v3=' .. round(consumed.WhTotal,1) .. -- consumed 
                   -- '&v4=' .. round(consumed.actualWatt,1) ..
                       
                   -- Gebruik deze als je temperatuur en je voltage wilt uploaden
                    '&v5=' .. round(temperature.temperature,1) .. 
                   -- '&v6=' .. voltage ..

                    '&c1=1'

            return postdDataAsString
        end

        -- hieronder hoef je niets te wijzigen

        if item.isHTTPResponse then
            dz.log("Return from PVOutput ==>> " .. item.data,dz.LOG_FORCE)
        else
            PVSettings = 
            {
            url = 'HTTPS://pvoutput.org/service/r2/addstatus.jsp',
            api = dz.variables('PVoutput_API').value,
            id  = dz.variables('PVoutput_ID').value,
            }
            post2PVOutput(PVSettings, makepostData())
        end
    end
}

Deze sla je op als pvOutput zoals onderstaande foto:
Nu druk je op AAN en daarna op OPSLAAN.

Pvoutput koppelen aan Domoticz v2020.1 nederlands 9

Nu zou je script 1x per 10 minuten gaan uploaden.
Voor de gratis versie van pvoutput kan je minimaal om de 5 minuten uploaden.
Mits je dit verandert hebt.
check je log voor eventuele fouten

Bron voor het script: domoticz.com/forum/
Uitleg door Huizebruin.nl




Spelfouten, taalfouten of inhoudelijke fouten ontdekt?
Stuur dan een mailtje naar de auteur van dit artikel!

Tevreden met deze website?

Wat vond je van deze post?

Klik op een ster om deze te beoordelen!

Gemiddelde score 0 / 5. Aantal stemmen: 0

Tot nu toe geen stemmen! Wees de eerste die dit bericht beoordeelt.

Over de auteur

8 gedachten over “Pvoutput koppelen aan Domoticz v2020.1 nederlands”

  1. blank

    Script werkt goed hier, bedankt!
    Maar nu upload ik alleen de bruto opbrengst via S0. Slimme meter uitsplitsen via deze handleiding is ook gelukt https://www.huizebruin.nl/domoticz/slimme-meter-p1-opsplitsen-naar-4-tellers-domoticz-met-lua/.
    Maar nu wil ik ook mijn echte verbruik naar pvoutput eigenlijk, dan heb ik dus de variabele ‘consumption’ nodig in jouw script. Dit is verbruik p1 + opbrengst S0 – teruglevering p1 toch? Maar hoe en waar bereken ik dat, heb je dat ook ergens uitgelegd? Alvast bedankt!

    1. blank

      Hallo John

      Bedankt voor je reactie.
      mooi dat het gelukt is
      ik gebruik momenteel geen pvoutput meer.
      omdat ik over ben gestapt naar home assistant.

  2. blank

    Momenteel zo aangepast dat alleen de P1 geupload wordt. Voor de zon gebruik ik de Youless die ik tijdelijk uit geschakeld heb ivm onderstaande foutmelding waarvan ik dacht dat er te vaak geupload werd naar Pvoutput.
    —–
    2020-06-08 13:45:01.430 Status: dzVents: Info: Handling httpResponse-events for: “PVOutput”
    2020-06-08 13:45:01.430 Status: dzVents: Info: PVOutput: —— Start internal script: Pvoutput_up: HTTPResponse: “PVOutput”
    2020-06-08 13:45:01.431 Status: dzVents: !Info: PVOutput: Return from PVOutput ==>> Bad request 400: Invalid Time [null]
    2020-06-08 13:45:01.431 Status: dzVents: Info: PVOutput: —— Finished Pvoutput_up
    2020-06-08 13:45:01.431 Error: dzVents: Error: (3.0.9) PVOutput: HTTP/1.1 response: 400 ==>> Bad Request

    1. blank

      Hallo Ad,
      Als je het script van hierboven hebt overgenomen gaat hij eens per 10 minuten uploaden.
      als gratis varriant meende ik dat je om de 5 minuten mocht uploaden naar hun. heb dus iets meer een buffer ingebouwd.
       
      En hij verstuurd beide in 1 keer, lijkt meer een probleem richting de youless iets verkeerd stuurt.
      onder andere vanwege deze lijn
      (2020-06-08 13:45:01.431 Status: dzVents: !Info: PVOutput: Return from PVOutput ==>> Bad request 400: Invalid Time [null])

      1. blank

        Hierop heb ik zowel de Youless als het opvragen van data van PVoutput stopgezet. Jammer genoeg dezelfde foutmelding:
         
        2020-06-09 07:15:00.540 Status: dzVents: Info: PVOutput: —— Start internal script: Pvoutput_up:, trigger: “every 5 minutes”
        2020-06-09 07:15:00.559 Status: dzVents: Debug: PVOutput: Processing device-adapter for Power: P1 smart meter energy device adapter
        2020-06-09 07:15:00.559 Status: dzVents: Debug: PVOutput: P1 : 17501272;11256395;1594784;3834667;220;0
        2020-06-09 07:15:00.559 Status: dzVents: Debug: PVOutput: OpenURL: url = https://pvoutput.org/service/r2/addstatus.jsp
        2020-06-09 07:15:00.559 Status: dzVents: Debug: PVOutput: OpenURL: method = POST
        2020-06-09 07:15:00.559 Status: dzVents: Debug: PVOutput: OpenURL: post data = d=20200609&t=07:15&v3=28757667&v4=220&c1=1
        2020-06-09 07:15:00.559 Status: dzVents: Debug: PVOutput: OpenURL: headers = {[“X-Pvoutput-Apikey”]=”aangepast”, [“X-Pvoutput-SystemId”]=”XXXXX”}
        2020-06-09 07:15:00.559 Status: dzVents: Debug: PVOutput: OpenURL: callback = PVOutput
        2020-06-09 07:15:00.559 Status: dzVents: Info: PVOutput: —— Finished Pvoutput_up
        2020-06-09 07:15:00.561 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
        2020-06-09 07:15:02.211 Status: dzVents: Info: Handling httpResponse-events for: “PVOutput”
        2020-06-09 07:15:02.211 Status: dzVents: Info: PVOutput: —— Start internal script: Pvoutput_up: HTTPResponse: “PVOutput”
        2020-06-09 07:15:02.211 Status: dzVents: !Info: PVOutput: Return from PVOutput ==>> Bad request 400: Invalid Time [null]
        2020-06-09 07:15:02.211 Status: dzVents: Info: PVOutput: —— Finished Pvoutput_up
        2020-06-09 07:15:02.211 Error: dzVents: Error: (3.0.9) PVOutput: HTTP/1.1 response: 400 ==>> Bad Request
        2020-06-09 07:15:06.018 (Energie) P1 Smart Meter (Power)

            1. blank

              Hoi Wobbe, allereerst reuze bedankt voor het script! Zojuist liep ik ook tegen hetzelfde probleem aan. De issue is dat het script op de “site” niet goed omgaat met de “&” tbv de upload URL parameters. Als je het script copy paste vanaf de site, dan komt er “&amp” ipv “&” te staan, waarna het uiteraard niet werkt. Anyway, HTML, scripttalen, enz. šŸ™‚

              Wellicht slimmer om het hele script weg te halen, en alleen ter download aan te bieden?
              Nogmaals bedankt!

              –Mark

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

%d bloggers liken dit: