Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie

Acties:
  • +1Henk 'm!

  • makooy
  • Registratie: januari 2011
  • Laatst online: 23:59
AUijtdehaag schreef op zondag 19 juli 2020 @ 22:28:
@TerrorSource Is dit niet handiger (lees: vaker data dan 1x per minuut)?
https://www.home-assistant.io/integrations/sma/

Ik heb wel een node-red flow, die de mqtt uitleest van SBFspot, die zou je dan zelf naar home-assistant kunnen doorsturen.
Ik ben net met HA begonnen, dus ik ben zelf nog niet zover.
geprobeerd maar werkt over een web interface van de SMA omvormer alleen heb ik dat bij de mijne niet.

SBFSpot werkt nu prima, was even trial-and-error maar werkt! SBFSpot draait nu in Docker, haalt elke 10min data op, verwerkt dat in een MariaDB10 database en verstuurd het dan naar PVOutput.
HA leest het elke 1 minuut uit volgens mij (dus 9x zelfde antwoord)

Toon Thermostaat Expert | ToonWiki.nl


  • traders
  • Registratie: november 2009
  • Laatst online: 19-06 16:44
Wat is temperature bij PVOutput? Zo te zien aan de data zien veel gebruikers dit als omvormertemperatuur (althans ik zie deze dagen bv 30-40 graden voorbij komen dus ik neem aan dat dit dan omvormertemp is) en anderen zien dit als buitentemperatuur. Wat is het meest gebruikt?

[Voor 22% gewijzigd door traders op 24-07-2020 07:50]


  • Freek-Hendrik
  • Registratie: augustus 2005
  • Laatst online: 18-06 09:02
traders schreef op vrijdag 24 juli 2020 @ 07:49:
Wat is temperature bij PVOutput? Zo te zien aan de data zien veel gebruikers dit als omvormertemperatuur (althans ik zie deze dagen bv 30-40 graden voorbij komen dus ik neem aan dat dit dan omvormertemp is) en anderen zien dit als buitentemperatuur. Wat is het meest gebruikt?
Wat het meest gebruikt is zou ik niet durven zeggen, ook lastig te checken ;) . Ik denk zelf dat buitentemperatuur het meest informatief is, en zo gebruik ik hem dan ook. Buitentemperatuur heeft meer invloed op de opbrengst dan de omvormer temperatuur, en die laatste is denk ik ook moeilijk om zinvol te vergelijken. Dat hangt immers ook nogal af van waar je omvormer hangt en of hij zijn warmte kwijt kan. De omvormer temperatuur wordt hier wel uit gelezen, om er eventueel nog een keer een fan mee aan te sturen, maar er staan nog behoorlijk wat dingen hoger op het prio lijstje...

  • makooy
  • Registratie: januari 2011
  • Laatst online: 23:59
Ik zag dat een aantal pvdiary gebruiken, heeft iemand een how-to hoe dit geinstalleerd kan worden op een raspberry pi?

Deze handleiding ( https://www.aps11tl.be/doc_pvdiary.php ) is niet echt duidelijk, er missen bepaalde stappen en springt van hot-naar-her.

Toon Thermostaat Expert | ToonWiki.nl

TerrorSource schreef op vrijdag 17 juli 2020 @ 20:11:
Is er iemand die SBFspot > MQTT > HomeAssistant heeft?

SBFSpot met MQTT lijkt te werken, ik zie geen foutmeldingen voorbij komen als ik "./SBFspot -v5 -mqtt" uitvoer via ssh.

Er lijkt alleen aan de kant van HA niks binnen te komen.
- MQTT is geinstalleerd (vanwege 2 robotstofzuigers)
- user "sbfspot" aangemaakt
Bij Mosquitto Broker config het volgende ingevuld:
code:
1
2
3
logins:
  - username: sbfspot
    password: password

In de Mosquitto Broker logs zie ik het volgende:
code:
1
2
3
1595009443: New connection from 192.168.1.xxx on port 1883.
1595009443: New client connected from 192.168.1.xxx as mosqpub|1384-raspberryp (p2, c1, k60, u'sbfspot').
1595009443: Client mosqpub|1384-raspberryp disconnected.


In de SBFspot.cfg heb ik het volgende staan:
code:
1
MQTT_PublisherArgs=-h {host} -u sbfspot -P password-t {topic} -m "{{message}}"


Hoe zorg ik dat de MQTT data van SBFspot in HA als Entities binnen komen?
Met deze uitleg is me dat gelukt:
https://community.home-as...0tl-20-via-sbfspot/204278

Ik heb er alleen wel
state_topic: "sbfspot_12345" ipv "sbfspot/12345" (eigen snr gebruiken uiteraard)
van gemaakt in configuration.yaml

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Geurt-kun
  • Registratie: juni 2001
  • Laatst online: 07-06 09:33

Geurt-kun

8 Simax SM660-250, SMA 1600TL

Vorige week kwam ik er op Github achter dat Homey mijn Envoy kan uitlezen met een local API. Dat is mooi, want nu heb ik de updates binnen vijf seconden.
Nu zou ik graag willen dat PvOutput ook wat sneller update. En, wat ook mooi zou zijn is dat mijn oost/west opstelling apart uitgelezen kan worden.
Het lijkt me dat dit met een Pi moet kunnen, maar heb zelf 0,0 verstand hiervan.
Mag ik hier om hulp vragen?

[Voor 2% gewijzigd door Geurt-kun op 02-08-2020 17:55. Reden: Local API]

2k op west bij Pv Output


  • PeeVv
  • Registratie: oktober 2008
  • Laatst online: 22:32
Geurt-kun schreef op zondag 2 augustus 2020 @ 17:43:
Vorige week kwam ik er op Github achter dat Homey mijn Envoy kan uitlezen met een local API. Dat is mooi, want nu heb ik de updates binnen vijf seconden.
Nu zou ik graag willen dat PvOutput ook wat sneller update. En, wat ook mooi zou zijn is dat mijn oost/west opstelling apart uitgelezen kan worden.
Het lijkt me dat dit met een Pi moet kunnen, maar heb zelf 0,0 verstand hiervan.
Mag ik hier om hulp vragen?
Minimale tijd van PVOutput is 5 minuten, vaker kan je de data niet updaten.

  • Ircghost
  • Registratie: februari 2010
  • Laatst online: 06:18

Ircghost

Moderator Spielerij

Honeybadger doesn't care!

Kan iemand mij misschien helpen met JsunnyReports aan de praat krijgen?

Ik heb het uitgepakt in C:/Tools/Sunny en de handleiding (denk ik) goed gevolgd,
  • gelet op de juiste richting van de haakjes, bij in en output
  • inverter type 6 gekozen, bestand geplaatst in de input folder en de additionele lijn voor inverter 6 toegevoegd, inclusief voor de maand import.
  • Enige wat ik niet heb ingevuld is de diary.conf, maar het is mijn dan ook volstrekt onduidelijk wat er hier van mij wordt verwacht ;).
De output wordt gegenereerd, maar de folder 'website' wordt niet aangemaakt. Ook het openen van de items in output levert een lijkende website, maar er is geen echte content ingeladen.

Ik heb het geprobeerd met een daily en een monthly export, maar beiden leveren geen werkende site.

[Voor 8% gewijzigd door Ircghost op 02-08-2020 20:09]


  • Geurt-kun
  • Registratie: juni 2001
  • Laatst online: 07-06 09:33

Geurt-kun

8 Simax SM660-250, SMA 1600TL

PeeVv schreef op zondag 2 augustus 2020 @ 19:29:
[...]

Minimale tijd van PVOutput is 5 minuten, vaker kan je de data niet updaten.
Het duurt nu soms bijna een half uur. Vind ik te veel.

2k op west bij Pv Output


  • Kalentum
  • Registratie: juni 2004
  • Laatst online: 23:06
Geurt-kun schreef op zondag 2 augustus 2020 @ 20:31:
[...]

Het duurt nu soms bijna een half uur. Vind ik te veel.
Pvoutput heeft een instelling "status interval", wat heb je dat staan?

PVoutput

@Geurt-kun Hoe worden nu de waardes verstuurd naar pvoutput, dat het een half uur duurt?
We hebben geen glazen bol hier.

Edit: in je pvoutput (beide systemen) is het toch gewoon 5 minutenwaardes?

[Voor 24% gewijzigd door AUijtdehaag op 02-08-2020 22:01]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • vanDaal
  • Registratie: november 1999
  • Laatst online: 20-06 10:27

vanDaal

-ismeereentje

Ik heb sinds kort een Solis/Ginlong 3PK6 inverter draaien. Heeft er iemand een automatische upload naar PVOutput draaiend? Alles wat ik online kan vinden, werkt niet meer.

  • bbbrumbrum
  • Registratie: november 2003
  • Niet online
vanDaal schreef op maandag 3 augustus 2020 @ 07:17:
Ik heb sinds kort een Solis/Ginlong 3PK6 inverter draaien. Heeft er iemand een automatische upload naar PVOutput draaiend? Alles wat ik online kan vinden, werkt niet meer.
Ben ik ook benieuwd naar! Sinds een paar weken 9,5kWP draaien, alsook 4kWP bij mijn ouders, beide op Solis omvormers.

  • TWyk
  • Registratie: april 2016
  • Laatst online: 10-06 22:24
vanDaal schreef op maandag 3 augustus 2020 @ 07:17:
Ik heb sinds kort een Solis/Ginlong 3PK6 inverter draaien. Heeft er iemand een automatische upload naar PVOutput draaiend? Alles wat ik online kan vinden, werkt niet meer.
Is dit iets voor je?
https://github.com/dkruyt/ginlong-scraper

  • vanDaal
  • Registratie: november 1999
  • Laatst online: 20-06 10:27

vanDaal

-ismeereentje

Thanks. Dat is er eentje die ik heb geprobeerd en niet meer lijkt te werken.

  • TWyk
  • Registratie: april 2016
  • Laatst online: 10-06 22:24
vanDaal schreef op maandag 3 augustus 2020 @ 09:38:
[...]

Thanks. Dat is er eentje die ik heb geprobeerd en niet meer lijkt te werken.
Misschien kan de maker je helpen, @eth0 ?

  • Geurt-kun
  • Registratie: juni 2001
  • Laatst online: 07-06 09:33

Geurt-kun

8 Simax SM660-250, SMA 1600TL

Kalentum schreef op zondag 2 augustus 2020 @ 20:50:
[...]


Pvoutput heeft een instelling "status interval", wat heb je dat staan?
Daar staat een interval van 5 minuten.
Alleen houdt Enphase voor zijn cloud API een interval van minstens een kwartier aan.
Ik vergelijk vaak mijn twee systemen op PvOutput. Het ene systeem is Enphase, het andere van SMA. Synchronisatie gaat schijnbaar niet gelijktijdig waardoor er soms een vertraging tussen beide systemen van minstens 20 minuten.

@AUijtdehaag Mijn vraag begon ook niet met willen jullie aub in mijn glazen bol kijken 😉
Ik zoek hulp bij het uitlezen van mijn Envoy en doorzetten naar PvOutput.

Edit:
Vandaag is geen goede vergelijking, want de laatste update was van 8:45 uur. Het is wel het gevoel wat ik er altijd bij heb 😊
https://www.pvoutput.org/...38&sid1=12146&dt=20200803

[Voor 12% gewijzigd door Geurt-kun op 03-08-2020 12:06. Reden: Link toegevoegd]

2k op west bij Pv Output

@Geurt-kun
Dat maakt het al duidelijker.

Ik heb wel een node-red flow, die upload naar pvoutput, gebaseerd op dit:
https://thecomputerperson...se-envoy-s-data-scraping/
http://lokaal_ip_adres/api/v1/production

Die stuurt het ook naar influxdb en naar domoticz.
https://www.pvoutput.org/...46&sid1=71431&dt=20200803
Dat is volgens mij elke 5 minuten.
Heb je daar iets aan?

[Voor 14% gewijzigd door AUijtdehaag op 03-08-2020 12:34]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Geurt-kun
  • Registratie: juni 2001
  • Laatst online: 07-06 09:33

Geurt-kun

8 Simax SM660-250, SMA 1600TL

AUijtdehaag schreef op maandag 3 augustus 2020 @ 12:27:
@Geurt-kun
Dat maakt het al duidelijker.

Ik heb wel een node-red flow, die upload naar pvoutput, gebaseerd op dit:
https://thecomputerperson...se-envoy-s-data-scraping/
http://lokaal_ip_adres/api/v1/production

Die stuurt het ook naar influxdb en naar domoticz.
https://www.pvoutput.org/...46&sid1=71431&dt=20200803
Dat is volgens mij elke 5 minuten.
Heb je daar iets aan?
Vooralsnog bedankt voor je hulp.
Ik heb zelf 0,0 ervaring met een Pi, JavaScript of Json.
Het zou mooi zijn als er iets is waar ik wat waarden kan invullen en gaan... Maar dat gaat em niet worden denk ik.
Dus als je mij vraagt, heb je daar iets aan? 🤷🏼‍♂️

2k op west bij Pv Output

@Geurt-kun
Op youtube is best veel te vinden.
Schaf gewoon een odroid c4 aan, met linux emmc kaartje.
Sd kaartjes zijn te kwetsbaar.

[Voor 49% gewijzigd door AUijtdehaag op 03-08-2020 14:12]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • eth0
  • Registratie: mei 2002
  • Laatst online: 16-06 11:15
vanDaal schreef op maandag 3 augustus 2020 @ 09:38:
[...]

Thanks. Dat is er eentje die ik heb geprobeerd en niet meer lijkt te werken.
Ik ben de maker, wat werkt er niet meer? Werkt hier nog prima...

  • vanDaal
  • Registratie: november 1999
  • Laatst online: 20-06 10:27

vanDaal

-ismeereentje

eth0 schreef op maandag 3 augustus 2020 @ 14:58:
[...]


Ik ben de maker, wat werkt er niet meer? Werkt hier nog prima...
Ah... top! Dan ga ik nog even knutselen ;)

  • Ircghost
  • Registratie: februari 2010
  • Laatst online: 06:18

Ircghost

Moderator Spielerij

Honeybadger doesn't care!

Heeft iemand hier een SMA sunny boy 4.0 en kan die mij vertellen welke data die kan exporteren? Als ik via de sunny explorer de daily 5 minute data export, dan krijg ik alleen lifetime yield en 5 minute interval yield, geen temperatuur, voltage of wat dan ook.. best teleurstellend.

  • Tsurany
  • Registratie: juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

Ircghost schreef op woensdag 5 augustus 2020 @ 10:51:
Heeft iemand hier een SMA sunny boy 4.0 en kan die mij vertellen welke data die kan exporteren? Als ik via de sunny explorer de daily 5 minute data export, dan krijg ik alleen lifetime yield en 5 minute interval yield, geen temperatuur, voltage of wat dan ook.. best teleurstellend.
Via Modbus over TCP kan je veel meer data te pakken krijgen: https://www.sma.de/en/pro...s-protocol-interface.html

SMA SB5.0 + 16x Jinko 310wp OWO + 10x Jinko 310wp WNW |--|--| Daikin 4MXM68N + 1x FTXA50AW + 3x FTXM20N


  • Ircghost
  • Registratie: februari 2010
  • Laatst online: 06:18

Ircghost

Moderator Spielerij

Honeybadger doesn't care!

Thanks voor de tip! AL is de website erg beperkt met de informatie over wat het is, laat staan waar je het kan halen..

Kan dat ook met de juiste tooling / software op een pi of windows? Of wordt die informatie gewoon simpelweg niet vrijgegeven zonder deze additionele interface?
@Ircghost
Werkt sunny-explorer nog met de nieuwe SMA's?

Ik zou SBFspot, home assistant, of modbus tcp ip gebruiken.
https://github.com/SBFspot/SBFspot/releases
https://www.home-assistant.io/integrations/sma/
Ik heb wel een node-red flow eventueel.

of sbfspot mqtt combineren met home-assistant
https://community.home-as...0tl-20-via-sbfspot/204278



@Tsurany moe van lange antwoorden geven? >:)

[Voor 63% gewijzigd door AUijtdehaag op 05-08-2020 11:26]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Ircghost
  • Registratie: februari 2010
  • Laatst online: 06:18

Ircghost

Moderator Spielerij

Honeybadger doesn't care!

@AUijtdehaag Geen idee of het 'werkt' zoals het zou moeten, dit is mijn eerste zonnepaneel installatie, dus heb weinig referentie materiaal. Ik kan er wel mee verbinden, gegevens inzien (i.e. status / max use) en dus basis exports maken. Dus lijkt in principe te werken.

Ik had het proberen te laten werken met Home Assistant, maar die liep bij mij te bokken dat die geen verbinding kon krijgen met de webmodule..

Maar krijg jij in je overzicht wel je temperatuur en voltage bijvoorbeeld? In jouw plaatje (gaaf trouwens!) zie ik dat temperatuur bijvoorbeeld leeg is.

En je nod-red flow is zeker welkom
@Ircghost
Maar heb je nu een nieuw model SMA of een oud model TL-21 ?

Temperatuur is leeg daar, omdat de omvormer uit was.
Temperatuur kun je met de nieuwe SMA's enkel via modbus tcp/ip binnen hengelen (volgens mij)
Niet via sbfspot.
Voltage is geen probleem.

Ik doe wel even via DM verder om topic niet te veel te vervuilen.

[Voor 11% gewijzigd door AUijtdehaag op 05-08-2020 11:36]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Ircghost
  • Registratie: februari 2010
  • Laatst online: 06:18

Ircghost

Moderator Spielerij

Honeybadger doesn't care!

AUijtdehaag schreef op woensdag 5 augustus 2020 @ 11:33:
@Ircghost
Maar heb je nu een nieuw model SMA of een oud model TL-21 ?

Temperatuur is leeg daar, omdat de omvormer uit was.
Temperatuur kun je met de nieuwe SMA's enkel via modbus tcp/ip binnen hengelen (volgens mij)
Niet via sbfspot.
Voltage is geen probleem.
Ik heb de Sunny Boy 4.0, vziw een nieuw model.

Ok voor DM :)

Acties:
  • +4Henk 'm!
  • Pinned

  • Tsurany
  • Registratie: juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

Tijdens werktijden is het vooral een kwestie van tijdsgebrek :+
Ircghost schreef op woensdag 5 augustus 2020 @ 11:19:
[...]


Thanks voor de tip! AL is de website erg beperkt met de informatie over wat het is, laat staan waar je het kan halen..

Kan dat ook met de juiste tooling / software op een pi of windows? Of wordt die informatie gewoon simpelweg niet vrijgegeven zonder deze additionele interface?
Modbus is de beste manier om dit soort informatie te verkrijgen, het is een protocol waarbij je registers op een apparaat kan uitlezen en beschrijven. Deze registers kunnen configuraties bevatten of data die vanuit sensoren verkregen wordt. Zo heeft SMA een aantal registers gedefinieerd waarin ze actuele data opslaan zoals huidig voltage, temperatuur, opbrengst in watt maar ook registers waar ze yield (opbrengst) in wegschrijven. Deze data kan je vervolgens uitlezen over TCP via de juiste software.

Ik gebruik hier Node-RED voor en lees zowel mijn SMA omvormer als de slimme meter uit en verreken die data met elkaar om nog meer informatie te verkrijgen. Dit sla ik vervolgens op in InfluxDB en visualiseer ik met Grafana.



In deze afbeelding zie je links onder de voor mij relevante data van mijn SMA omvormer. De rest van de data komt van de slimme meter (eventueel verrekend met de data van mijn omvormer) en van andere apparaten die energieverbruik loggen zoals een kWh meter voor mijn airco en een slimme stekker voor mijn wasmachine/droger.



Maar ik kan natuurlijk ook kijken naar wat meer gedetailleerde informatie zoals energie en voltage van zowel het systeem als de losse strings.



Dit is de Node-RED flow die de data uitleest. Een timer start elke 10 seconden, genereert een timestamp die ik gebruik om de measurements weg te schrijven en leest vervolgens de modbus registers uit en mijn slimme meter. Vervolgens zijn er allerlei functions die de data parsen, verwerken en omzetten naar een measurement die InfluxDB begrijpt.

code:
1
[{"id":"7756da.c2a07928","type":"tab","label":"P1 + SMA Logging","disabled":false,"info":""},{"id":"eec48ef7.1e65a","type":"modbus-getter","z":"7756da.c2a07928","name":"Yield","showStatusActivities":true,"showErrors":true,"logIOActivities":false,"unitid":"3","dataType":"HoldingRegister","adr":"30529","quantity":"4","server":"84430495.b18c58","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":510,"y":200,"wires":[["82aedfff.8a9f4"],[]]},{"id":"e6de8775.8d10c8","type":"modbus-getter","z":"7756da.c2a07928","name":"DC1 - AC","showStatusActivities":true,"showErrors":true,"logIOActivities":false,"unitid":"","dataType":"HoldingRegister","adr":"30769","quantity":"16","server":"84430495.b18c58","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":520,"y":540,"wires":[["22c97d98.393f42","6301bae2.3f5074"],[]]},{"id":"2667525d.d4587e","type":"modbus-getter","z":"7756da.c2a07928","name":"Temp - DC2 - AC","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"unitid":"","dataType":"HoldingRegister","adr":"30953","quantity":"26","server":"84430495.b18c58","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":550.5000038146973,"y":300.00001335144043,"wires":[["e3742847.b7c648","b7dd203f.2d9fc"],[]]},{"id":"e3742847.b7c648","type":"function","z":"7756da.c2a07928","name":"Extract + Format SMA DC2","func":"let DCCurrent2 =    msg.payload[5] / 1000;      // 30957\nlet DCVoltage2 =    msg.payload[7] / 100;       // 30959\nlet DCPower2 =      msg.payload[9];             // 30961\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"energy\",\n\t\tfields: {\n\t\t\tcurrent: DCCurrent2,\n\t\t\tvoltage: DCVoltage2,\n\t\t\tpower: DCPower2,\n\t\t},\n\t\ttags:{\n\t\t    device: \"SMA 5.0 - MPPT A\",\n\t\t    orientation: \"West\",\n\t\t    type: \"DC\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":804.0000038146973,"y":262.00001335144043,"wires":[["97880c2a.6eb01"]]},{"id":"290b2fe2.20b1d","type":"debug","z":"7756da.c2a07928","name":"Debug","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1908.5001773834229,"y":341.0000972747803,"wires":[]},{"id":"6301bae2.3f5074","type":"function","z":"7756da.c2a07928","name":"Extract + Format SMA DC1","func":"let DCCurrent1    = msg.payload[1] / 1000;       // 30769\nlet DCVoltage1    = msg.payload[3] / 100;        // 30771\nlet DCPower1      = msg.payload[5];              // 30773\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"energy\",\n\t\tfields: {\n\t\t\tcurrent: DCCurrent1,\n\t\t\tvoltage: DCVoltage1,\n\t\t\tpower: DCPower1, \n\t\t},\n\t\ttags:{\n\t\t    device: \"SMA 5.0 - MPPT B\",\n\t\t    orientation: \"East\",\n\t\t    type: \"DC\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"x":792.4999961853027,"y":578.9999866485596,"wires":[["1e17b172.7275df"]]},{"id":"8a66b781.4da878","type":"join","z":"7756da.c2a07928","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"8","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":1777.5000381469727,"y":340.0000343322754,"wires":[["290b2fe2.20b1d","af180fcb.2713"]]},{"id":"22c97d98.393f42","type":"function","z":"7756da.c2a07928","name":"Extract SMA AC","func":"let PowerTot      = msg.payload[7];              // 30775\nlet GridVoltagePhase1 = msg.payload[15] / 100;  // 30783\n\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n\t\t\tsma_ac_power_tot: PowerTot,\n\t\t\tsma_ac_voltage: GridVoltagePhase1,\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"x":820,"y":380,"wires":[["d1e04a8a.16dab8","fc0157c7.890438"]]},{"id":"b7dd203f.2d9fc","type":"function","z":"7756da.c2a07928","name":"Extract SMA AC + Temp","func":"let InternalTemperature = msg.payload[1] /10; // 30953\nlet ACCurrentL1 = msg.payload[25] / 1000;    // 30977\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n\t\t\tsma_temperature: InternalTemperature,\n\t\t\tsma_ac_currentL1: ACCurrentL1,\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":790,"y":320,"wires":[["d1e04a8a.16dab8"]]},{"id":"d1e04a8a.16dab8","type":"join","z":"7756da.c2a07928","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"5","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1014.5000534057617,"y":354.0000057220459,"wires":[["43b4944b.cfe70c","9c7ab38.1cb1e5"]]},{"id":"43b4944b.cfe70c","type":"function","z":"7756da.c2a07928","name":"Format SMA AC","func":"let _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"energy\",\n\t\tfields: {\n\t\t\tcurrent: msg.payload.sma_ac_currentL1,\n\t\t\tvoltage: msg.payload.sma_ac_voltage,\n\t\t\tpower: msg.payload.sma_ac_power_tot,\n\t\t},\n\t\ttags:{\n\t\t    device: \"SMA 5.0 - System\",\n\t\t    type: \"AC\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"x":1200,"y":380,"wires":[["7042bec2.84394"]]},{"id":"9c7ab38.1cb1e5","type":"function","z":"7756da.c2a07928","name":"Format SMA Temp","func":"let _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"temperature\",\n\t\tfields: {\n\t\t\ttemperature: msg.payload.sma_temperature,\n\t\t},\n\t\ttags:{\n\t\t    device: \"SMA 5.0 - System\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"x":1210,"y":320,"wires":[["7f250d9c.d6b234"]]},{"id":"af180fcb.2713","type":"influxdb batch","z":"7756da.c2a07928","influxdb":"27e18148.8340de","precision":"","retentionPolicy":"","name":"InfluxDB","x":1918.4999961853027,"y":282.0000743865967,"wires":[]},{"id":"1e17b172.7275df","type":"switch","z":"7756da.c2a07928","name":"Filter null","property":"payload.fields.power","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1392.4999961853027,"y":578.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"7f250d9c.d6b234","type":"switch","z":"7756da.c2a07928","name":"Filter null","property":"payload.fields.temperature","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1400,"y":320,"wires":[["8a66b781.4da878"]]},{"id":"7042bec2.84394","type":"switch","z":"7756da.c2a07928","name":"Filter null","property":"payload.fields.power","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1400,"y":380,"wires":[["8a66b781.4da878"]]},{"id":"97880c2a.6eb01","type":"switch","z":"7756da.c2a07928","name":"Filter null","property":"payload.fields.power","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1400,"y":260,"wires":[["8a66b781.4da878"]]},{"id":"d6aca862.f625e8","type":"function","z":"7756da.c2a07928","name":"Set totalyield filter value","func":"flow.set('totalyield_sma',msg.payload.fields.totalyield);","outputs":1,"noerr":0,"x":1690,"y":200,"wires":[[]]},{"id":"fa879f77.4baf9","type":"switch","z":"7756da.c2a07928","name":"Limit Repeating","property":"payload.fields.totalyield","propertyType":"msg","rules":[{"t":"neq","v":"totalyield_sma","vt":"flow"}],"checkall":"true","repair":false,"outputs":1,"x":1420,"y":200,"wires":[["d6aca862.f625e8","8a66b781.4da878"]]},{"id":"fb9defaf.71ff3","type":"inject","z":"7756da.c2a07928","name":"Reset totalyield filter","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":171.5,"y":58,"wires":[["3453826b.5f907e"]]},{"id":"4b398d0a.a3d4b4","type":"switch","z":"7756da.c2a07928","name":"Filter invalid","property":"payload.fields.totalyield","propertyType":"msg","rules":[{"t":"lt","v":"200000","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1210,"y":200,"wires":[["fa879f77.4baf9"]]},{"id":"cb4f0568.7f1c48","type":"exec","z":"7756da.c2a07928","command":"smeterd","addpay":false,"append":"read-meter --serial-baudrate 115200 --show-output consumed current produced voltage --tsv","useSpawn":"false","timer":"5","oldrc":false,"name":"","x":515.4999885559082,"y":651.0000762939453,"wires":[["a5d9004b.b9b74"],[],[]]},{"id":"a5d9004b.b9b74","type":"function","z":"7756da.c2a07928","name":"Extract smeterd","func":"var payload = msg.payload\nvar clean_payload = msg.payload.trim();\n\nvar output = clean_payload.split('\\t');\n\n\nvar consumed_high = output[0];\nvar consumed_low = output[1];\nvar consumed_gas = output[2];\nvar produced_high = output[3];\nvar produced_low = output[4];\nvar current_consumption = output[5];\nvar current_production = output[6];\nvar current_voltage = output[7];\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        consumed_high: consumed_high,\n        consumed_low: consumed_low,\n        consumed_gas: consumed_gas,\n        produced_high: produced_high,\n        produced_low: produced_low,\n        current_consumption: current_consumption,\n        current_production: current_production,\n        current_voltage: current_voltage,\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"x":832.4999961853027,"y":838.9999866485596,"wires":[["572cb1c4.d6324","a21b3f99.78007","7582d8e5.0c4718","738333a1.49e76c","1bf75599.c1bb0a","fd89fd27.fb04c","322d7b8a.da34b4","87173f8d.eb97b","2775d582.eea69a","cfe0670a.b415e8","f303e6a6.68dd68","5f456372.16a02c","b9063ff2.e6d91"]]},{"id":"a21b3f99.78007","type":"function","z":"7756da.c2a07928","name":"Format P1 Consumption Low","func":"let consumed_low = msg.payload.consumed_low / 1000;\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: consumed_low,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    rate: \"Low\",\n\t\t    direction: \"Grid Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1472.4999961853027,"y":958.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"7582d8e5.0c4718","type":"function","z":"7756da.c2a07928","name":"Format P1 Consumption High","func":"let consumed_high = msg.payload.consumed_high / 1000;\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: consumed_high,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    rate: \"High\",\n\t\t    direction: \"Grid Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1482.4999961853027,"y":998.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"1bf75599.c1bb0a","type":"function","z":"7756da.c2a07928","name":"Format P1 Production Low","func":"let produced_high = msg.payload.produced_high / 1000;\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: produced_high,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    rate: \"Low\",\n\t\t    direction: \"Grid Production\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1472.4999961853027,"y":1098.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"fd89fd27.fb04c","type":"function","z":"7756da.c2a07928","name":"Format P1 Production High","func":"let produced_low = msg.payload.produced_low / 1000;\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: produced_low,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    rate: \"High\",\n\t\t    direction: \"Grid Production\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1472.4999961853027,"y":1138.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"2775d582.eea69a","type":"function","z":"7756da.c2a07928","name":"Extract P1 Power","func":"let current_voltage = msg.payload.current_voltage\nlet current_consumption = msg.payload.current_consumption\nlet current_production = msg.payload.current_production\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n\t\t\tp1_ac_power_usage: Number(current_consumption),\n\t\t\tp1_ac_power_delivery: Number(current_production),\n\t\t\tp1_ac_voltage: Number(current_voltage),\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"x":830.5002059936523,"y":677.4999847412109,"wires":[["84a802bd.23e6d","c1c79824.373528","89ffe83e.9f1548","fc0157c7.890438"]]},{"id":"84a802bd.23e6d","type":"function","z":"7756da.c2a07928","name":"Format P1 Net Consumption","func":"let _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"energy\",\n\t\tfields: {\n\t\t\tvoltage: msg.payload.p1_ac_voltage,\n\t\t\tpower: msg.payload.p1_ac_power_usage - msg.payload.p1_ac_power_delivery,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    type: \"AC\",\n\t\t    direction: \"Grid Net Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"x":1272.4999961853027,"y":678.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"738333a1.49e76c","type":"function","z":"7756da.c2a07928","name":"Format P1 Consumption Total","func":"let consumed_high = msg.payload.consumed_high / 1000;\nlet consumed_low = msg.payload.consumed_low / 1000;\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: consumed_high + consumed_low,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    rate: \"Total\",\n\t\t    direction: \"Grid Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1482.4999961853027,"y":1038.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"322d7b8a.da34b4","type":"function","z":"7756da.c2a07928","name":"Format P1 Production Total","func":"let produced_low = msg.payload.produced_low / 1000;\nlet produced_high = msg.payload.produced_high / 1000;\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: produced_low + produced_high,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    rate: \"Total\",\n\t\t    direction: \"Grid Production\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1472.4999961853027,"y":1178.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"87173f8d.eb97b","type":"function","z":"7756da.c2a07928","name":"Format P1 Net Consumption Total","func":"let consumed_low = msg.payload.consumed_low / 1000;\nlet consumed_high = msg.payload.consumed_high / 1000;\nlet produced_low = msg.payload.produced_low / 1000;\nlet produced_high = msg.payload.produced_high / 1000;\n\nlet TotalUsage = consumed_low + consumed_high;\nlet TotalDelivery = produced_low + produced_high;\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: TotalUsage - TotalDelivery,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    rate: \"Total\",\n\t\t    direction: \"Grid Net Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1492.4999961853027,"y":1318.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"572cb1c4.d6324","type":"function","z":"7756da.c2a07928","name":"Format P1 Gas","func":"let consumed_gas = msg.payload.consumed_gas / 1000;\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"gas\",\n\t\tfields: {\n\t\t\ttotalyield: consumed_gas,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    direction: \"Grid Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1232.4999961853027,"y":838.9999866485596,"wires":[["6cb3edd2.321ea4"]]},{"id":"c1c79824.373528","type":"function","z":"7756da.c2a07928","name":"Format P1 Consumption","func":"let _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"energy\",\n\t\tfields: {\n\t\t\tvoltage: msg.payload.p1_ac_voltage,\n\t\t\tpower: msg.payload.p1_ac_power_usage,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    type: \"AC\",\n\t\t    direction: \"Grid Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"x":1262.4999961853027,"y":718.9999866485596,"wires":[["d5c9153c.0cb918"]]},{"id":"89ffe83e.9f1548","type":"function","z":"7756da.c2a07928","name":"Format P1 Production","func":"let _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"energy\",\n\t\tfields: {\n\t\t\tvoltage: msg.payload.p1_ac_voltage,\n\t\t\tpower: msg.payload.p1_ac_power_delivery*-1,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    type: \"AC\",\n\t\t    direction: \"Grid Production\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"x":1252.4999961853027,"y":758.9999866485596,"wires":[["224570fd.c5023"]]},{"id":"d5c9153c.0cb918","type":"switch","z":"7756da.c2a07928","name":"Filter null","property":"payload.fields.power","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1492.4999961853027,"y":718.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"224570fd.c5023","type":"switch","z":"7756da.c2a07928","name":"Filter null","property":"payload.fields.power","propertyType":"msg","rules":[{"t":"neq","v":"","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1492.4999961853027,"y":758.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"a854d0c0.09489","type":"function","z":"7756da.c2a07928","name":"Format Internal Consumption","func":"grid_consumption = msg.payload.p1_ac_power_usage;\ngrid_production = msg.payload.p1_ac_power_delivery;\n\ninternal_production = msg.payload.sma_ac_power_tot;\nif(internal_production == null)\n{\n    internal_production = 0;\n}\n\nnet_grid = grid_consumption - grid_production;\nnet_internal_consumption = internal_production + net_grid;\n\n\n\n\n_msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"energy\",\n\t\tfields: {\n\t\t\tvoltage: msg.payload.p1_ac_voltage,\n\t\t\tpower: net_internal_consumption,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    type: \"AC\",\n\t\t    direction: \"Internal Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"x":1272.4999961853027,"y":638.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"fc0157c7.890438","type":"join","z":"7756da.c2a07928","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"5","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1062.4999961853027,"y":638.9999866485596,"wires":[["a854d0c0.09489"]]},{"id":"efe46d48.f4459","type":"function","z":"7756da.c2a07928","name":"Create Timestamp","func":"let _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n\t\ttimestamp: new Date(),\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":250,"y":240,"wires":[["43ea38a0.da2d88"]]},{"id":"43ea38a0.da2d88","type":"change","z":"7756da.c2a07928","name":"Set Timestamp","rules":[{"t":"move","p":"payload.timestamp","pt":"msg","to":"timestamp","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":304.28905487060547,"y":300.3437786102295,"wires":[["eec48ef7.1e65a","2667525d.d4587e","e6de8775.8d10c8","cb4f0568.7f1c48"]]},{"id":"6cb3edd2.321ea4","type":"switch","z":"7756da.c2a07928","name":"Limit Repeating","property":"payload.fields.totalyield","propertyType":"msg","rules":[{"t":"neq","v":"gas","vt":"flow"}],"checkall":"true","repair":false,"outputs":1,"x":1472.4999961853027,"y":838.9999866485596,"wires":[["9cb9e059.073ea","8a66b781.4da878"]]},{"id":"9cb9e059.073ea","type":"function","z":"7756da.c2a07928","name":"Set totalyield filter value","func":"flow.set('gas',msg.payload.fields.totalyield);","outputs":1,"noerr":0,"x":1462.4999961853027,"y":898.9999866485596,"wires":[[]]},{"id":"1680367.9ef68ca","type":"interval","z":"7756da.c2a07928","name":"interval","interval":10,"onstart":false,"msg":"ping","showstatus":true,"unit":"seconds","statusformat":"YYYY-MM-D HH:mm:ss","x":150,"y":180,"wires":[["efe46d48.f4459"]]},{"id":"f303e6a6.68dd68","type":"function","z":"7756da.c2a07928","name":"Format P1 Net Consumption Low","func":"let consumed_low = msg.payload.consumed_low / 1000;\nlet produced_low = msg.payload.produced_low / 1000;\n\nlet TotalUsage = consumed_low;\nlet TotalDelivery = produced_low;\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: TotalUsage - TotalDelivery,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    rate: \"Low\",\n\t\t    direction: \"Grid Net Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1492.4999961853027,"y":1238.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"cfe0670a.b415e8","type":"function","z":"7756da.c2a07928","name":"Format P1 Net Consumption High","func":"let consumed_high = msg.payload.consumed_high / 1000;\nlet produced_high = msg.payload.produced_high / 1000;\n\nlet TotalUsage = consumed_high;\nlet TotalDelivery = produced_high;\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: TotalUsage - TotalDelivery,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    rate: \"High\",\n\t\t    direction: \"Grid Net Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1492.4999961853027,"y":1278.9999866485596,"wires":[["8a66b781.4da878"]]},{"id":"bdd03ee.52ad6c","type":"function","z":"7756da.c2a07928","name":"Format SMA Yield","func":"let _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: msg.payload.totalyield,\n\t\t},\n\t\ttags:{\n\t\t    device: \"SMA 5.0 - System\",\n\t\t    direction: \"Internal Production\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1010,"y":200,"wires":[["4b398d0a.a3d4b4"]]},{"id":"5f456372.16a02c","type":"join","z":"7756da.c2a07928","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"5","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1010,"y":480,"wires":[["a19b53ef.27d4"]]},{"id":"82aedfff.8a9f4","type":"function","z":"7756da.c2a07928","name":"CalculateYield","func":"let yieldCycle = msg.payload[0];    // 30531\nlet yieldCycleValue = 65535;    // 30531\nlet yieldCurrent = msg.payload[1];\n\nlet TotalYieldwH = (yieldCycle * yieldCycleValue) + yieldCurrent;\nlet TotalYield = TotalYieldwH / 1000;\n\nlet _msg = {\n    payload:[]\n};\n\n_msg.payload=\n    {\n      totalyield: TotalYield,\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":760,"y":200,"wires":[["bdd03ee.52ad6c","5f456372.16a02c"]]},{"id":"eb9c1f82.981a5","type":"function","z":"7756da.c2a07928","name":"Format Internal Consumption","func":"internal_consumption = msg.payload.direct_consumption + msg.payload.net_consumption;\n\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: internal_consumption,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    direction: \"Internal Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1340,"y":440,"wires":[["8a66b781.4da878"]]},{"id":"bf795271.7b1cd","type":"function","z":"7756da.c2a07928","name":"Combine Data","func":"start_sma_production = 1586.28; //Value of SMA production at installation of new meter\nnet_production_wh = (Number(msg.payload.produced_high) + Number(msg.payload.produced_low));\nnet_consumption_wh = (Number(msg.payload.consumed_high) + Number(msg.payload.consumed_low));\nnet_consumption = net_consumption_wh / 1000;\nnet_production = net_production_wh / 1000;\nsma_production = msg.payload.totalyield - start_sma_production;\ndirect_consumption = sma_production - net_production;\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        net_consumption: net_consumption,\n        net_production: net_production,\n        sma_production: sma_production,\n        direct_consumption: direct_consumption,\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1360,"y":480,"wires":[["eb9c1f82.981a5","2ea13653.c3599a"]]},{"id":"2ea13653.c3599a","type":"function","z":"7756da.c2a07928","name":"Format Direct Consumption","func":"direct_consumption = msg.payload.direct_consumption;\n\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"yield\",\n\t\tfields: {\n\t\t\ttotalyield: direct_consumption,\n\t\t},\n\t\ttags:{\n\t\t    device: \"P1\",\n\t\t    direction: \"Direct  Consumption\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"x":1340,"y":520,"wires":[["8a66b781.4da878"]]},{"id":"a19b53ef.27d4","type":"switch","z":"7756da.c2a07928","name":"Filter Invalid","property":"payload.totalyield","propertyType":"msg","rules":[{"t":"lt","v":"200000","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1170,"y":480,"wires":[["bf795271.7b1cd"]]},{"id":"3453826b.5f907e","type":"function","z":"7756da.c2a07928","name":"Reset totalyield filter value","func":"flow.set('totalyield',0);\nflow.set('gas',0);","outputs":1,"noerr":0,"x":486,"y":58,"wires":[[]]},{"id":"b9063ff2.e6d91","type":"debug","z":"7756da.c2a07928","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":830,"y":920,"wires":[]},{"id":"84430495.b18c58","type":"modbus-client","z":"","name":"SMA","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":true,"tcpHost":"10.5.0.70","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":3,"commandDelay":1,"clientTimeout":1500,"reconnectTimeout":2000},{"id":"27e18148.8340de","type":"influxdb","z":"","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"SMA","name":"","usetls":false,"tls":"b2a3d022.4f648"},{"id":"b2a3d022.4f648","type":"tls-config","z":"","name":"local-tls","cert":"","key":"","ca":"","certname":"","keyname":"","caname":"","verifyservercert":false}]


Dit is de flow in code die je kan importeren in je eigen Node-RED installatie. Je hebt wel wat plugins nodig maar daar waarschuwt hij voor bij het importeren :)

SMA SB5.0 + 16x Jinko 310wp OWO + 10x Jinko 310wp WNW |--|--| Daikin 4MXM68N + 1x FTXA50AW + 3x FTXM20N


  • sbf
  • Registratie: februari 2013
  • Laatst online: 20-06 16:31
Ircghost schreef op woensdag 5 augustus 2020 @ 10:51:
Heeft iemand hier een SMA sunny boy 4.0 en kan die mij vertellen welke data die kan exporteren? Als ik via de sunny explorer de daily 5 minute data export, dan krijg ik alleen lifetime yield en 5 minute interval yield, geen temperatuur, voltage of wat dan ook.. best teleurstellend.
Met SBFspot lukt het ook...

SBFspot: Yet another tool to read power production of SMA solar inverters

sbf schreef op woensdag 5 augustus 2020 @ 12:40:
[...]

Met SBFspot lukt het ook...
Alleen nog niet de inverter temperatuur, met de nieuwe modellen geloof ik... ;)
Maar dat kan via modbus tcp/ip, dus geen probleem.

[Voor 9% gewijzigd door AUijtdehaag op 05-08-2020 13:47]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • jobr
  • Registratie: januari 2009
  • Laatst online: 18:51
Als de SMA ook sunspec compliant is (dacht ik wel) dan kun je ook andere software gebruiken om deze uit te lezen.
Bijv voor Python zijn er wat libraries e.d.. Zoek maar eens op "sunspec python"
Voor mijn Fronius Symo werkt dat prima.

[Voor 9% gewijzigd door jobr op 05-08-2020 20:13]


  • Promy
  • Registratie: oktober 2002
  • Laatst online: 21:45
Het viel me onlangs op dat de inverter (SMA sunny tripower 10.0) verkeerde maandtotalen geeft op z'n webpagina.
Bv voor juli 2020 zegt hij bij maandtotaal 1.976,621kWh, maar als je alle dagtotalen optelt, dan is het 2.031,888kWh. Het verschil (55,267kWh) komt niet overeen met een bepaalde dag.

Is dit een bekend probleem? De firmware is 3.10.8.R

[Voor 10% gewijzigd door Promy op 06-08-2020 20:49]


  • Didius
  • Registratie: februari 2006
  • Laatst online: 03-05 19:43
Ik heb al een eindje een SAJ Sununo omvormer met een WiFi module. Onlangs heb ik thuis een Prometheus en Grafana server opgezet om mijn eigen servers te monitoren en ik dacht om dit uit te breiden naar solar monitoring.

Op zich stuurt de WiFi module de opbrengstdata door naar SAJ's eSolar portal. Na een update bij SAJ merkte ik zelfs op dat mijn omvormer niet eens aan mijn account gekoppeld is, meer nog, ik zie de gegevens van een omvormen van iemand anders |:( ...

Tijd om zelf te monitoren! Ondertussen heb ik een python scriptje gemaakt die data beschikbaar maakt om door de Prometheus server verzameld te worden. Leek me ideaal om hier even te delen.

Zelf ben ik nog geen Grafana of Prometheus expert en ik zit eigenlijk wel met wat vragen/problemen.

De WiFi-module verzorgt deze output. Voorlopig wordt alles in een Prometheus Gauge metric gegoten. Maar eigenlijk is er toch wat redundantie in deze output, niet?
  • AC output voltage en AC output current worden gelogd, dan kan ik toch gewoon het product nemen om de power te hebben? (Hoef ik power niet in een metric te steken)
  • Via Prometheus moet ik vrij eenvoudig de dagelijkse opbrengst in kWh kunnen berekenen. Is mijn volgende redenering correct? De curve van vermogen in kleine tijdseenheden opdelen. Deze tijdseenheden vermenigvuldigen met het gemiddelde van het vermogen over dat interval en dit alles optellen? Eigenlijk manueel de oppervlakte integreren :)
  • Zijn er nog zaken die overbodig zijn om in een Prometheus metric te stoppen?

  • jobr
  • Registratie: januari 2009
  • Laatst online: 18:51
Didius schreef op zaterdag 8 augustus 2020 @ 17:46:
• Via Prometheus moet ik vrij eenvoudig de dagelijkse opbrengst in kWh kunnen berekenen. Is mijn volgende redenering correct? De curve van vermogen in kleine tijdseenheden opdelen. Deze tijdseenheden vermenigvuldigen met het gemiddelde van het vermogen over dat interval en dit alles optellen? Eigenlijk manueel de oppervlakte integreren :)
Kan veeeeeel gemakkelijker: max van "Today generated" op een dag.
En ik zou gewoon alles opslaan. zoveel ruimte kost het niet en mocht het toch nog een keer nodig zijn ....

[Voor 9% gewijzigd door jobr op 08-08-2020 19:32]


  • Jerrythafast
  • Registratie: september 2012
  • Laatst online: 16-06 20:30

Jerrythafast

Hier, aan de kust

Didius schreef op zaterdag 8 augustus 2020 @ 17:46:
  • AC output voltage en AC output current worden gelogd, dan kan ik toch gewoon het product nemen om de power te hebben? (Hoef ik power niet in een metric te steken)
Dat werkt zo bij DC, maar niet bij AC. Lees maar eens over active, reactive en apparent power.

2925 Wp op SE3000 live op PVOutput en Jerweb.nl || Nu ook De Triangel 3020 Wp (live logging in aanbouw)

Heeft er iemand een voorbeeld in een grafana query, hoe ik een staafdiagram maak.
Hierin komt telkens een dagelijkse kWh verbruik te staan. (maand grafiek met dagelijks verbruik dus)

Ik heb enkel een totaal kWh stand beschikbaar, die oploopt bij verbruik.
Is dat mogelijk?

In stukken hakken in node-red is ook prima wat mij betreft.

[Voor 29% gewijzigd door AUijtdehaag op 15-08-2020 10:05]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • cville
  • Registratie: juni 2012
  • Laatst online: 18-06 16:02
AUijtdehaag schreef op zaterdag 15 augustus 2020 @ 10:01:
Heeft er iemand een voorbeeld in een grafana query, hoe ik een staafdiagram maak.
Hierin komt telkens een dagelijkse kWh verbruik te staan. (maand grafiek met dagelijks verbruik dus)

Ik heb enkel een totaal kWh stand beschikbaar, die oploopt bij verbruik.
Is dat mogelijk?

In stukken hakken in node-red is ook prima wat mij betreft.
Bedoel je zoiets? Bedenk wel dat als je PV hebt, dat hier het zelfverbruik nog niet bij staat.



EDIT: nu met zelfverbruik berekend uit het gemiddelde zelfverbruik vermogen gedurende de dag.



@AUijtdehaag bedankt voor het idee; ik had deze nog niet.

Om het af te maken: deze vind ik zelf ook wel nuttig:



Je kunt de hittegolf duidelijk zien.

[Voor 40% gewijzigd door cville op 15-08-2020 11:42]

PVOutput - East/West: 26 x QCELLS Q-peak G5 Duo 325Wp, SMA STP6.0-3AV-40, inclination 13°, az 101/281°; South: 14 x Yingly Panda YL260C-30b, SMA SB 3000-TL21, inclination: 23°; az: 101°

@cville
Bedankt.
Maar lukt me nog niet helemaal. Ik zie maar 1 waarde over heel de grafiek. (maar log pas sinds gisteren middag die kWh totaalwaarde)
Wat heb je bij query options staan qua tijden?

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • cville
  • Registratie: juni 2012
  • Laatst online: 18-06 16:02
AUijtdehaag schreef op zaterdag 15 augustus 2020 @ 11:50:
@cville
Bedankt.
Maar lukt me nog niet helemaal. Ik zie maar 1 waarde over heel de grafiek. (maar log pas sinds gisteren middag die kWh totaalwaarde)
Wat heb je bij query options staan qua tijden?

[Afbeelding]
Wat bedoel je precies met je vraag? Kun je het niet zien als je op het eerste plaatje klikt?

PVOutput - East/West: 26 x QCELLS Q-peak G5 Duo 325Wp, SMA STP6.0-3AV-40, inclination 13°, az 101/281°; South: 14 x Yingly Panda YL260C-30b, SMA SB 3000-TL21, inclination: 23°; az: 101°

@cville Ik zoek zelf wel even verder inderdaad.
Ik zie lines staan bij jouw ipv bars...

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • cville
  • Registratie: juni 2012
  • Laatst online: 18-06 16:02
AUijtdehaag schreef op zaterdag 15 augustus 2020 @ 11:56:
@cville Ik zoek zelf wel even verder inderdaad.
Ik zie lines staan bij jouw ipv bars...
Klopt; dat is een keuze die naar mijn smaak tot een mooier plaatje leidt maar kan met 1 klik aangepast worden.

Zie volgende post.

[Voor 4% gewijzigd door cville op 15-08-2020 15:17]

PVOutput - East/West: 26 x QCELLS Q-peak G5 Duo 325Wp, SMA STP6.0-3AV-40, inclination 13°, az 101/281°; South: 14 x Yingly Panda YL260C-30b, SMA SB 3000-TL21, inclination: 23°; az: 101°


  • cville
  • Registratie: juni 2012
  • Laatst online: 18-06 16:02
@AUijtdehaag na controle bleek het nodig om - terwijl dit niet nodig zou moeten zijn - handmatig de tijdzone aan de queries toe te voegen. Zonder deze toevoeging krijg je een afwijking. Ik heb ook nog het dagtotaal toegevoegd. Mijn query wordt dan:
code:
1
SELECT mean(Ps)/1000*24 + difference(max("cT1")) + difference(max("cT2")) as total_consumption FROM "electricity" WHERE $timeFilter GROUP BY time(1d) fill(null)  tz('Europe/Amsterdam')

met als uiteindelijk resultaat:



Deze grafiek drukt mij nog eens met de neus op de feiten t.a.v. het verbruik van mijn airconditioning: hoewel ik voldoende PV opwek, kost iedere kWh zelfverbruik mij toch nog EUR 0.11 per kWh aan gederfde inkomsten. Tot zover de "gratis" stroom.

[Voor 8% gewijzigd door cville op 15-08-2020 15:21]

PVOutput - East/West: 26 x QCELLS Q-peak G5 Duo 325Wp, SMA STP6.0-3AV-40, inclination 13°, az 101/281°; South: 14 x Yingly Panda YL260C-30b, SMA SB 3000-TL21, inclination: 23°; az: 101°

@cville
Bedankt. Nu er meer data is, lijkt het te werken.


Even wat anders:
Voor mijn SF-155 terras paneeltje op een steca 300, heb ik een tp-link hs110 gekocht om uit te lezen.
Werkt ook super. (meet 2 kanten uit)
Helaas meet deze ook de sluipverbruik van 4 watt van de steca, maar die is (ge-automatiseerd) gewoon uit te schakelen, zodat er 0 watt verbruik is.

[Voor 7% gewijzigd door AUijtdehaag op 18-08-2020 12:07]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • smeerbartje
  • Registratie: september 2006
  • Laatst online: 20:24
Ik heb een simpele vraag (denk ik :) ). Sinds vanmiddag heb ik een P1 kabel binnen; deze gelijk aangesloten en een script (in Go) geschreven waarop ik de data uit kan lezen. Als ik de data puur naar het scherm schrijf, dan krijg ik dit:

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
INFO[0000] Version Information: 50
INFO[0000] Date timestamp: 200819201207S
INFO[0000] Equipment Identifier: 4530303434303036383631373736343137
INFO[0000] Electricity delivered to client (tariff 1): 003999.014 kWh
INFO[0000] Electricity delivered to client (tariff 2): 004928.391 kWh
INFO[0000] Electricity generated by client (tariff 1): 000272.167 kWh
INFO[0000] Electricity generated by client (tariff 2): 000695.112 kWh
INFO[0000] Electricity tariff indicator: 0002
INFO[0000] Actual electricity delivered: 00.232 kW
INFO[0000] Actual electricity generated: 00.000 kW
INFO[0000] Number of power failures on any phase: 00004
INFO[0000] Number of long power failures on any phase: 00004
INFO[0000] Event log for long power failures: 0000005667 s
INFO[0000] Number of voltage sags on phase L1: 00002
INFO[0000] Number of voltage sags on phase L2: 00004
INFO[0000] Number of voltage sags on phase L3: 00003
INFO[0000] Number of voltage swells on phase L1: 00001
INFO[0000] Number of voltage swells on phase L2: 00001
INFO[0000] Number of voltage swells on phase L3: 00001
INFO[0000] Instantaneous voltage on phase L1: 229.3 V
INFO[0000] Instantaneous voltage on phase L2: 229.4 V
INFO[0000] Instantaneous voltage on phase L3: 229.1 V
INFO[0000] Instantaneous current on phase L1: 000 A
INFO[0000] Instantaneous current on phase L2: 000 A
INFO[0000] Instantaneous current on phase L3: 000 A
INFO[0000] Instantaneous active power delivered on phase L1: 00.098 kW
INFO[0000] Instantaneous active power delivered on phase L2: 00.155 kW
INFO[0000] Instantaneous active power delivered on phase L3: 00.000 kW
INFO[0000] Instantaneous active power generated on phase L1: 00.000 kW
INFO[0000] Instantaneous active power generated on phase L2: 00.000 kW
INFO[0000] Instantaneous active power generated on phase L3: 00.023 kW


Nu wil ik het verbruik dus naar pvoutput sturen. Ook deze communicatie heb ik werkend. Echter de hamvraag: hoe "map" ik de output vanuit mijn P1 poort naar een POST request naar pvoutput? Met andere woorden, welke waarde moet ik hebben zodat ik mijn verbruik op een juiste manier naar pvoutput stuur?

  • Kalentum
  • Registratie: juni 2004
  • Laatst online: 23:06
smeerbartje schreef op woensdag 19 augustus 2020 @ 20:14:
Ik heb een simpele vraag (denk ik :) ). Sinds vanmiddag heb ik een P1 kabel binnen; deze gelijk aangesloten en een script (in Go) geschreven waarop ik de data uit kan lezen. Als ik de data puur naar het scherm schrijf, dan krijg ik dit:
[...]
Nu wil ik het verbruik dus naar pvoutput sturen. Ook deze communicatie heb ik werkend. Echter de hamvraag: hoe "map" ik de output vanuit mijn P1 poort naar een POST request naar pvoutput? Met andere woorden, welke waarde moet ik hebben zodat ik mijn verbruik op een juiste manier naar pvoutput stuur?
Even voor de context: heb je de documentatie gelezen? Daar staat wat je kan versturen naar PV Output. De eenheden staan er ook bij dus wat Power Generation en Energy generation is wordt dan wel duidelijk.

Mijn interpretatie:

v1 Energy Generation: da's makkelijk: de Wh die je panelen hebben opgewekt (komt dus van je omvormer of een kWh meter, niet van je slimme meter)

v2 Power Generation: huidige opbrengst (W) van je omvormer

v3 Energy Consumption (wat ik opvat als 'wat ik in huis verbruik'):
- Opwek panelen (Wh) + Import (wat ik van het net inkoop) - export (wat ik teruglever)

v4 Power Consumption
- Actuele opwek panelen (W) + Actuele import (Slimme meter, is negatief als ik teruglever)

Voor de v1 en v3 waarden verstuur ik cumulatieve waarden, dus continue oplopend, zodat PV Output zelf daar dagwaarden van maakt.

PVoutput


  • _Apache_
  • Registratie: juni 2007
  • Laatst online: 21:52

_Apache_

For life.

Ik lees m'n eenvoudige Enphase setup (9*300Wp) en stop dat in een database.
Met Grafana laat ik wat grafiekjes plotten.
Sinds vandaag een nieuw datapoint erbij 'prognose voor vandaag'. Die een voorspelling geeft wat de opwek vandaag gaat worden.

De logger logt hoeveel de opwek nu is, uit de database haal ik vergelijkbare dagen uit dit seizoen met vergelijkbare opwek op dit tijdstip. En van die dagen kijk ik waar het dagtotaal op uitgekomen is.
Daar pak ik het gemiddelde van.

Draait nu een paar dagen, en voorspelling zit wel steeds binnen een paar procent van de daadwerkelijke dagresultaten.
Hoe later op de dag, hoe exacter het wordt uiteraard. :)

0830hrs
https://tweakers.net/i/XUlpLPknckhnQ5FZ6w9kagSAhCg=/100x75/filters:strip_exif()/f/image/GZDxMGD07b4oFC9Qsi0c0vM9.png?f=fotoalbum_small

[Voor 20% gewijzigd door _Apache_ op 20-08-2020 08:29]

Zonneboiler | Zonnepanelen


  • smeerbartje
  • Registratie: september 2006
  • Laatst online: 20:24
Kalentum schreef op woensdag 19 augustus 2020 @ 20:35:
[...]


Even voor de context: heb je de documentatie gelezen? Daar staat wat je kan versturen naar PV Output. De eenheden staan er ook bij dus wat Power Generation en Energy generation is wordt dan wel duidelijk.

Mijn interpretatie:

v1 Energy Generation: da's makkelijk: de Wh die je panelen hebben opgewekt (komt dus van je omvormer of een kWh meter, niet van je slimme meter)

v2 Power Generation: huidige opbrengst (W) van je omvormer

v3 Energy Consumption (wat ik opvat als 'wat ik in huis verbruik'):
- Opwek panelen (Wh) + Import (wat ik van het net inkoop) - export (wat ik teruglever)

v4 Power Consumption
- Actuele opwek panelen (W) + Actuele import (Slimme meter, is negatief als ik teruglever)

Voor de v1 en v3 waarden verstuur ik cumulatieve waarden, dus continue oplopend, zodat PV Output zelf daar dagwaarden van maakt.
Dank voor je antwoord, maar ik snap het nog niet helemaal :) . Welke value uit de P1 response (zie eerder genoemde lijst) moet ik nu versturen naar WELK endpoint van pvoutput? Is het een "totaal die dag"-waarde? M.a.w. wat stuur ik elke minuut richting pvoutput?

  • Kalentum
  • Registratie: juni 2004
  • Laatst online: 23:06
smeerbartje schreef op donderdag 20 augustus 2020 @ 21:54:
[...]


Dank voor je antwoord, maar ik snap het nog niet helemaal :) . Welke value uit de P1 response (zie eerder genoemde lijst) moet ik nu versturen naar WELK endpoint van pvoutput? Is het een "totaal die dag"-waarde? M.a.w. wat stuur ik elke minuut richting pvoutput?
Ik probeer te begrijpen wat je aan het doen bent. Ik heb ook een aanname gedaan: dat je zonnepanelen hebt en de opbrengsten wilt loggen naar PV Output

In je post heb je het over P1 -> op basis daarvan ga ik er vanuit dat het hier om een slimme meter gaat.

Met alleen een slimme meter kun je niet loggen naar PV Output: de slimme meter weet namelijk niet wat jij opwekt, alleen wat je importeert van het net en terugleverd aan het net.

Dus als je panelen bv 1200 W opwekken en je zet je waterkoker aan van 2000 W aan, dan zal je slimme meter laten zien dat je 800W vermogen van het net trekt. En als die waterkoker afslaat, dan zal de slimme meter 1200W terugleveren. Maar dat je dus 1200 W van je panelen hebt gebruikt om je potje thee te zetten, dat weet de slimme meter niet.

Stap 1 is dus: data uploaden van je omvormer naar pvoutput. Want dan kun je je zonnepanelen opbrengst meten. Heb je dat eigenlijk al werkend?

Als je Stap 1 werkend hebt, kun je je slimme meter data gaan uploaden volgens documentatie waarvan ik je de link heb gegeven.

Ik probeer te begrijpen waar ik niet duidelijk in was. Maar het endpoint staat in de link naar de documentatie. En dan moet je op basis van die documentatie kijken welke waarden je wil sturen naar PV Output en waar je die dan vandaan haalt.

Een alternatief is gebruik maken van standaardoplossingen, zoals die in dit topic veelvuldig gebruikt worden.

PVoutput


  • Wirehead
  • Registratie: december 2000
  • Laatst online: 08-04 12:24
AUijtdehaag schreef op woensdag 5 augustus 2020 @ 11:33:
@Ircghost
Maar heb je nu een nieuw model SMA of een oud model TL-21 ?

Temperatuur is leeg daar, omdat de omvormer uit was.
Temperatuur kun je met de nieuwe SMA's enkel via modbus tcp/ip binnen hengelen (volgens mij)
Niet via sbfspot.
Voltage is geen probleem.

Ik doe wel even via DM verder om topic niet te veel te vervuilen.
Vooralsnog geen succes hier om de temperatuur op een SBxx-1AV-41-V12 uit te lezen.
Volgens de modbus doc's voor dit model zou dit register 30953 moeten zijn, maar daar komt steevast "0" uit. Andere waarden komen perfect binnen. Misschien toch maar eens een mailtje naar SMA sturen...

Yamaha AX-397, Quadral Amun Mk.III, Technics SL-7, DIY PhonoPre, AT-152LP / 4.225kW Heckert Solar / SMA 3.0-1AV-41 / Kia e-Niro 64kWh First Edition

@Wirehead Vreemd.
Heb je wel de laatste firmware erin zitten? Misschien helpt dat nog.
Zo heb ik het in node-red
https://www.mupload.nl/img/6khjq1a.jpg

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Wirehead
  • Registratie: december 2000
  • Laatst online: 08-04 12:24
AUijtdehaag schreef op dinsdag 25 augustus 2020 @ 22:24:
@Wirehead Vreemd.
Heb je wel de laatste firmware erin zitten? Misschien helpt dat nog.
Zo heb ik het in node-red
https://www.mupload.nl/img/6khjq1a.jpg
Yep, identiek. En laatste firmware. Blijft steevast op 0 staan. Ik zal eens een mailtje sturen met de vraag of ze uberhaupt nog temperatuur rapporteren op de nieuwste omvormers.

Yamaha AX-397, Quadral Amun Mk.III, Technics SL-7, DIY PhonoPre, AT-152LP / 4.225kW Heckert Solar / SMA 3.0-1AV-41 / Kia e-Niro 64kWh First Edition


  • Kalentum
  • Registratie: juni 2004
  • Laatst online: 23:06
Wirehead schreef op dinsdag 25 augustus 2020 @ 22:54:
[...]

Yep, identiek. En laatste firmware. Blijft steevast op 0 staan. Ik zal eens een mailtje sturen met de vraag of ze uberhaupt nog temperatuur rapporteren op de nieuwste omvormers.
Welke firmwareversie heb je precies? Het moet 3.10.18.R zijn. Ik heb een SB3.0-1AV-41 902 en lees de temperatuur via modbus uit dus het zou moeten werken.

Ik heb met de firmware die er oorspronkelijk opstond wel wat problemen gehad met missende modbus waarden (bv de dagstand zat er ook niet in) maar met de nieuwe firmware werken alle modbusregisters.

PVoutput


  • Wirehead
  • Registratie: december 2000
  • Laatst online: 08-04 12:24
Kalentum schreef op woensdag 26 augustus 2020 @ 07:48:
[...]


Welke firmwareversie heb je precies? Het moet 3.10.18.R zijn. Ik heb een SB3.0-1AV-41 902 en lees de temperatuur via modbus uit dus het zou moeten werken.

Ik heb met de firmware die er oorspronkelijk opstond wel wat problemen gehad met missende modbus waarden (bv de dagstand zat er ook niet in) maar met de nieuwe firmware werken alle modbusregisters.
Klopt, facepalm momentje.. Nu werkt het. Als er niet wordt omgevormd, dan zegt hij dus inderdaad "0" graden.. beetje absurd, maargoed.. werkt nu!

Yamaha AX-397, Quadral Amun Mk.III, Technics SL-7, DIY PhonoPre, AT-152LP / 4.225kW Heckert Solar / SMA 3.0-1AV-41 / Kia e-Niro 64kWh First Edition


  • Mr.MarQuez
  • Registratie: maart 2008
  • Laatst online: 21:39
Sinds gisteren liggen er bij ons op het dak zonnepanelen in combinatie met een SMA STP10.0-3AV omvormer.
Nu zou ik deze graag willen gaan uitlezen met de modbus tcp optie die hier in het topic voorbij komt.
Heb de code al in node red zitten maar het uitlezen wil nog niet echt lukken.

Volgende heb ik inmiddels gedaan.
  • installateurs account aangemaakt en daarmee de modbus TCP settings ingeschakeld.
  • in de Nodered flow het ip adres aangepast.
Helaas werkt het dan nog niet en komen de volgende foutmeldingen voorbij waar het voornamelijk de eerste betreft.
  • "Error: Client Not Ready To Read At State init"
  • "Modbus Failure On State sending Get More About It By Logging"
  • "PortNotOpenError: Port Not Open"
Verder heb ik via de windows client modbusview TCP het register proberen uit te lezen.
Volgens Wireshark krijg ik op ieder verzoek een antwoord alleen zijn de waardes altijd 65535 wat natuurlijk niet klopt.

Iemand een idee waar dit aan kan liggen?

  • Wirehead
  • Registratie: december 2000
  • Laatst online: 08-04 12:24
Mr.MarQuez schreef op woensdag 26 augustus 2020 @ 11:19:
Sinds gisteren liggen er bij ons op het dak zonnepanelen in combinatie met een SMA STP10.0-3AV omvormer.
Nu zou ik deze graag willen gaan uitlezen met de modbus tcp optie die hier in het topic voorbij komt.
Heb de code al in node red zitten maar het uitlezen wil nog niet echt lukken.

Volgende heb ik inmiddels gedaan.
  • installateurs account aangemaakt en daarmee de modbus TCP settings ingeschakeld.
  • in de Nodered flow het ip adres aangepast.
Helaas werkt het dan nog niet en komen de volgende foutmeldingen voorbij waar het voornamelijk de eerste betreft.
  • "Error: Client Not Ready To Read At State init"
  • "Modbus Failure On State sending Get More About It By Logging"
  • "PortNotOpenError: Port Not Open"
Verder heb ik via de windows client modbusview TCP het register proberen uit te lezen.
Volgens Wireshark krijg ik op ieder verzoek een antwoord alleen zijn de waardes altijd 65535 wat natuurlijk niet klopt.

Iemand een idee waar dit aan kan liggen?
Heb je deze settings correct in de connectie?



Daarna kan je met een modbus-getter de instant Power uitlezen:


En met een functie kan je het nodige converteren (in mijn geval voorbereiden voor influxdb)

Yamaha AX-397, Quadral Amun Mk.III, Technics SL-7, DIY PhonoPre, AT-152LP / 4.225kW Heckert Solar / SMA 3.0-1AV-41 / Kia e-Niro 64kWh First Edition

@Mr.MarQuez
Lukt het met deze wel?
code:
1
[{"id":"e9c000f8.40e0f","type":"influxdb batch","z":"f2924c6f.759de","influxdb":"ab82872b.955f08","precision":"","retentionPolicy":"","name":"","x":920,"y":140,"wires":[]},{"id":"27f9887a.2f9968","type":"debug","z":"f2924c6f.759de","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":890,"y":180,"wires":[]},{"id":"8d936287.c786c","type":"modbustcp-read","z":"f2924c6f.759de","name":"SMA","topic":"","dataType":"HoldingRegister","adr":"30953","quantity":"2","rate":"5","rateUnit":"m","server":"551da89f.ceb938","ieeeType":"off","ieeeBE":"true","x":130,"y":140,"wires":[["4605add9.981eb4"]]},{"id":"4605add9.981eb4","type":"function","z":"f2924c6f.759de","name":"extract buffer data","func":"let InternalTemperature = msg.payload[1] / 10; // 30953\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload.push(\n    {\n\t\tmeasurement: \"energy\",\n\t\tfields: {\n\t\t\tTemperature: InternalTemperature,\n\t\t},\n\t\ttags:{\n\t\t    device: \"SMA\",\n\t\t    direction: \"Zuid\"\n\t\t},\n\t\ttimestamp: new Date()\n\t}\n);\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":430,"y":140,"wires":[["6eb5214a.d8627"]]},{"id":"6eb5214a.d8627","type":"switch","z":"f2924c6f.759de","name":"","property":"payload[0].fields.temperature","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":650,"y":140,"wires":[["27f9887a.2f9968","e9c000f8.40e0f"]]},{"id":"8455515a.473dc","type":"comment","z":"f2924c6f.759de","name":"SMA Zuid","info":"","x":140,"y":100,"wires":[]},{"id":"ab82872b.955f08","type":"influxdb","z":"","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"energy","name":"","usetls":false,"tls":""},{"id":"551da89f.ceb938","type":"modbustcp-server","z":"","name":"SMA 2.5 ZB ","host":"192.168.0.177","port":"502","unit_id":"3","reconnecttimeout":"30"}]


Is gebruik versie 4.1.3 van contrib-modbus (dus geen nieuwere)
code:
1
2
3
4
5
cd .node-red
sudo su
npm uninstall  node-red-contrib-modbus

npm  install node-red-contrib-modbus@4.1.3


En af en toe moet ik in de command line: node-red-restart doen
Blijkbaar bouwt na elke deploy hij een nieuwe verbinding (of iets dergelijks) en dan werkt het ook niet meer, bij veel data.

Zorg wel voor de laatste nieuwe firmware in de SMA.
Ik heb een SMA 8.0 proberen uit te lezen, maar geen temperatuur vanwege oude firmware.

[Voor 4% gewijzigd door AUijtdehaag op 26-08-2020 11:40]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Mr.MarQuez
  • Registratie: maart 2008
  • Laatst online: 21:39
Wirehead schreef op woensdag 26 augustus 2020 @ 11:26:
[...]


Heb je deze settings correct in de connectie?
[Afbeelding]


Daarna kan je met een modbus-getter de instant Power uitlezen:
[Afbeelding]

En met een functie kan je het nodige converteren (in mijn geval voorbereiden voor influxdb)
[Afbeelding]
Deze instelling staan allemaal goed.
AUijtdehaag schreef op woensdag 26 augustus 2020 @ 11:33:
@Mr.MarQuez
Lukt het met deze wel?
code:
1
[{"id":"e9c000f8.40e0f","type":"influxdb batch","z":"f2924c6f.759de","influxdb":"ab82872b.955f08","precision":"","retentionPolicy":"","name":"","x":920,"y":140,"wires":[]},{"id":"27f9887a.2f9968","type":"debug","z":"f2924c6f.759de","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":890,"y":180,"wires":[]},{"id":"8d936287.c786c","type":"modbustcp-read","z":"f2924c6f.759de","name":"SMA","topic":"","dataType":"HoldingRegister","adr":"30953","quantity":"2","rate":"5","rateUnit":"m","server":"551da89f.ceb938","ieeeType":"off","ieeeBE":"true","x":130,"y":140,"wires":[["4605add9.981eb4"]]},{"id":"4605add9.981eb4","type":"function","z":"f2924c6f.759de","name":"extract buffer data","func":"let InternalTemperature = msg.payload[1] / 10; // 30953\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload.push(\n    {\n\t\tmeasurement: \"energy\",\n\t\tfields: {\n\t\t\tTemperature: InternalTemperature,\n\t\t},\n\t\ttags:{\n\t\t    device: \"SMA\",\n\t\t    direction: \"Zuid\"\n\t\t},\n\t\ttimestamp: new Date()\n\t}\n);\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":430,"y":140,"wires":[["6eb5214a.d8627"]]},{"id":"6eb5214a.d8627","type":"switch","z":"f2924c6f.759de","name":"","property":"payload[0].fields.temperature","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":650,"y":140,"wires":[["27f9887a.2f9968","e9c000f8.40e0f"]]},{"id":"8455515a.473dc","type":"comment","z":"f2924c6f.759de","name":"SMA Zuid","info":"","x":140,"y":100,"wires":[]},{"id":"ab82872b.955f08","type":"influxdb","z":"","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"energy","name":"","usetls":false,"tls":""},{"id":"551da89f.ceb938","type":"modbustcp-server","z":"","name":"SMA 2.5 ZB ","host":"192.168.0.177","port":"502","unit_id":"3","reconnecttimeout":"30"}]


Is gebruik versie 4.1.3 van contrib-modbus (dus geen nieuwere)
code:
1
2
3
4
5
cd .node-red
sudo su
npm uninstall  node-red-contrib-modbus

npm  install node-red-contrib-modbus@4.1.3


En af en toe moet ik in de command line: node-red-restart doen
Blijkbaar bouwt na elke deploy hij een nieuwe verbinding (of iets dergelijks) en dan werkt het ook niet meer, bij veel data.

Zorg wel voor de laatste nieuwe firmware in de SMA.
Ik heb een SMA 8.0 proberen uit te lezen, maar geen temperatuur vanwege oude firmware.
Met die code werkt het ook niet, blijft op initiating hangen en krijg naderhand een timeout: "socket error: Error: connect ETIMEDOUT 192.168.10.169:502"

Terwijl IP adres klopt en TCP is ingeschakeld.



Zo te zien heb ik een nieuwere versie geïnstalleerd namelijk node-red-contrib-modbus 5.13.3.
Zit er in de nieuwer versie een bug waardoor deze niet werkt?

Herstart van nodered helpt helaas ook niet ook niet.

SMA heeft nu Firmwareversie: 3.10.8.R

  • Wirehead
  • Registratie: december 2000
  • Laatst online: 08-04 12:24
5.13.3 van node-red-contrib-modbus. Geen issue mbt de verbinding. Misschien even op de omvormer modbus eens opnieuw uit/inschakelen.

Edit: je hebt de omvormer toch op bekabeld ethernet hangen he?

[Voor 20% gewijzigd door Wirehead op 26-08-2020 11:58]

Yamaha AX-397, Quadral Amun Mk.III, Technics SL-7, DIY PhonoPre, AT-152LP / 4.225kW Heckert Solar / SMA 3.0-1AV-41 / Kia e-Niro 64kWh First Edition

@Mr.MarQuez
Die nieuwere versie werkte erg vertragend met uitlezen.
Probeer 4.1.3 eens.

Edit: maar misschien is dat inmiddels verbeterd.

[Voor 22% gewijzigd door AUijtdehaag op 26-08-2020 11:57]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Mr.MarQuez
  • Registratie: maart 2008
  • Laatst online: 21:39
Wirehead schreef op woensdag 26 augustus 2020 @ 11:56:
5.13.3 van node-red-contrib-modbus. Geen issue mbt de verbinding. Misschien even op de omvormer modbus eens opnieuw uit/inschakelen.

Edit: je hebt de omvormer toch op bekabeld ethernet hangen he?
Al meerdere keren gedaan zonder succes.
Inderdaad via ethernet kabel aangesloten.
AUijtdehaag schreef op woensdag 26 augustus 2020 @ 11:56:
@Mr.MarQuez
Die nieuwere versie werkte erg vertragend met uitlezen.
Probeer 4.1.3 eens.
Volgens https://flows.nodered.org/node/node-red-contrib-modbus kan ik niet lager dan 5.xx omdat ik nodered v1.x heb draaien.

[Voor 7% gewijzigd door Mr.MarQuez op 26-08-2020 12:02]

@Mr.MarQuez
SBFspot maar dan?

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Wirehead
  • Registratie: december 2000
  • Laatst online: 08-04 12:24
Heb je node-red in een docker container draaien bvb of.. ?

Yamaha AX-397, Quadral Amun Mk.III, Technics SL-7, DIY PhonoPre, AT-152LP / 4.225kW Heckert Solar / SMA 3.0-1AV-41 / Kia e-Niro 64kWh First Edition


  • Mr.MarQuez
  • Registratie: maart 2008
  • Laatst online: 21:39
Zo snel geven we niet op he :)
Wirehead schreef op woensdag 26 augustus 2020 @ 12:07:
Heb je node-red in een docker container draaien bvb of.. ?
yes.

Zo te zien reageert de SMA niet op icmp omdat ik hem niet kan bereiken van zowel de router als de docker container, dus daar kan ik niet echt mee verder.

Vanaf een windows pc met de applicatie modbusview lijkt het te werken al komen er geen zinnige waarden terug, dus ben ik daar ook niet echt overtuigd van.

  • Wirehead
  • Registratie: december 2000
  • Laatst online: 08-04 12:24
Mr.MarQuez schreef op woensdag 26 augustus 2020 @ 12:13:
[...]

Zo snel geven we niet op he :)


[...]


yes.

Zo te zien reageert de SMA niet op icmp omdat ik hem niet kan bereiken van zowel de router als de docker container, dus daar kan ik niet echt mee verder.

Vanaf een windows pc met de applicatie modbusview lijkt het te werken al komen er geen zinnige waarden terug, dus ben ik daar ook niet echt overtuigd van.
Geef hem eens een fixed IP. Staat netmask enzo correct? Indien verkeerde netmask kan een ander toestel hem niet echt vinden via ARP ;)

Yamaha AX-397, Quadral Amun Mk.III, Technics SL-7, DIY PhonoPre, AT-152LP / 4.225kW Heckert Solar / SMA 3.0-1AV-41 / Kia e-Niro 64kWh First Edition

@Mr.MarQuez
Ik moest home assistant ook zo instellen, om hacs te kunnen installeren.
code:
1
docker run -d --init --network=host --name="home-assistant" --dns=8.8.8.8 -v /home/root/homeassistant/config:/config -v /etc/localtime:/etc/localtime:ro --restart unless-stopped homeassistant/home-assistant:stable

Ik heb het nog niet geprobeerd met nodered en modbus tcp/ip in docker onder ubuntu focal.

Dit is een beetje buiten mijn kennis.....het is net werken
(arp-scan even proberen?)

[Voor 4% gewijzigd door AUijtdehaag op 26-08-2020 12:25]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Mr.MarQuez
  • Registratie: maart 2008
  • Laatst online: 21:39
Wirehead schreef op woensdag 26 augustus 2020 @ 12:21:
[...]


Geef hem eens een fixed IP. Staat netmask enzo correct? Indien verkeerde netmask kan een ander toestel hem niet echt vinden via ARP ;)
Blijkbaar werkt icmp wel, zat niet op de router maar op de ubuntu server waar docker op staat.
Daar kreeg ik dus eerst geen response maar na testen vanaf mijn laptop werkt het nu ook vanaf daar.


En nu krijg ik ook data binnen zeer vreemd dit :X

[Voor 5% gewijzigd door Mr.MarQuez op 26-08-2020 12:27]


  • Wirehead
  • Registratie: december 2000
  • Laatst online: 08-04 12:24
Mr.MarQuez schreef op woensdag 26 augustus 2020 @ 12:25:
[...]


Blijkbaar werkt icmp wel, zat niet op de router maar op de ubuntu server waar docker op staat.
Daar kreeg ik dus eerst geen response maar na testen vanaf mijn laptop werkt het nu ook vanaf daar.
Dus op de ubuntu server kan je hem niet pingen? heb je een uitdraai van ifconfig? je netwerk is 192.168.10.0/24 he? Dan kunnen we misschien even zien waar de boel hapert..

edit: ok - je krijgt nu data binnen. Zeer flaky wel zo te zien. Best toch eens alles op je ubuntu host bekijken.. ;)

[Voor 10% gewijzigd door Wirehead op 26-08-2020 12:50]

Yamaha AX-397, Quadral Amun Mk.III, Technics SL-7, DIY PhonoPre, AT-152LP / 4.225kW Heckert Solar / SMA 3.0-1AV-41 / Kia e-Niro 64kWh First Edition


  • Mr.MarQuez
  • Registratie: maart 2008
  • Laatst online: 21:39
Voor nu een static ip gegeven vanuit de router en nu lijkt het te werken. Straks nog even verder zoeken wat het nu precies was.

  • Tsurany
  • Registratie: juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

AUijtdehaag schreef op woensdag 26 augustus 2020 @ 11:33:
@Mr.MarQuez
En af en toe moet ik in de command line: node-red-restart doen
Blijkbaar bouwt na elke deploy hij een nieuwe verbinding (of iets dergelijks) en dan werkt het ook niet meer, bij veel data.
Heb je een flow restart al geprobeerd? Dat werkt hier ook prima, hoef ik niet heel Node-RED opnieuw op te starten.

SMA SB5.0 + 16x Jinko 310wp OWO + 10x Jinko 310wp WNW |--|--| Daikin 4MXM68N + 1x FTXA50AW + 3x FTXM20N


  • Mr.MarQuez
  • Registratie: maart 2008
  • Laatst online: 21:39
@AUijtdehaag @Wirehead
Bedankt voor het meedenken, het werkt het nog steeds na het toewijzen van een static IP aan de SMA.
Niks kunnen vinden van de exacte oorzaak.

Nu verder met het maken van een hoop grafieken :).

  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
Toch maar weer eens een poging ondernomen om mijn zonnepanelen naar pvoutput te loggen, maar het werkt op de een of andere manier niet...

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
----------------------------------------------------------------------------------------------------------
-- /home/pi/domoticz/scripts/lua/script_device_calculate_consumption.lua
----------------------------------------------------------------------------------------------------------
-- This script collects the values below from Domoticz
--   * The Power and energy values (import and export) from a P1 smartmeter
--   * The Power and energy values from a Solar power inverter
-- It then calculates the consumed power and energy from the values above with the formula's
--   * EnergyConsumption = EnergyGeneration + EnergyImport - EnergyExport
--   * PowerConsumption = PowerGeneration + PowerImport - PowerExport
-- It then updates a virtual device which displays the consumed power and energy in Domoticz
----------------------------------------------------------------------------------------------------------
-- Written by Christ Neeskens (Format5) 2017
-- Based on: http://www.domoticz.com/wiki/Upload_energy_data_to_PVoutput#Installation_instructions_-_Calculating_the_consumption_using_a_Lua_device_script
----------------------------------------------------------------------------------------------------------

 ----------------------------------------------------------------------------------------------------------
 -- Domoticz IDX and names of the needed devices
 ----------------------------------------------------------------------------------------------------------
 local GenerationDeviceName = "Zonnepanelen"         -- Device name of the Generated energy
 local P1MeterDeviceName = "Power"            -- Name of the energy device that shows imported and exported energy
 local ConsumptionIDX = 97                           -- IDX of the energy device that shows calculated Consumption
 local ConsumptionDeviceName = "Calculation"      -- Name of the energy device that shows calculated Consumption

  ----------------------------------------------------------------------------------------------------------
  -- Require parameters
  ----------------------------------------------------------------------------------------------------------
  -- None

   ----------------------------------------------------------------------------------------------------------
   -- Script parameters
   ----------------------------------------------------------------------------------------------------------
   EnergyGeneration = 0        -- in Watt hours
   PowerGeneration = 0         -- in Watts
   EnergyImport = 0            -- in Watt hours
   PowerImport = 0             -- in Watts
   EnergyConsumption = 0       -- in Watt hours
   PowerConsumption = 0        -- in Watts
   EnergyImportLow = 0         -- in Watt hours
   EnergyImportHigh = 0        -- in Watt hours
   EnergyExportLow = 0         -- in Watt hours
   EnergyExportHigh = 0        -- in Watt hours
   Debug = "NO"                -- Turn debugging on ("YES") or off ("NO")

    ----------------------------------------------------------------------------------------------------------
    -- Lua Functions
    ----------------------------------------------------------------------------------------------------------
    function update(device, id, power, energy, index)
        commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy}
        end

         ----------------------------------------------------------------------------------------------------------
         -- CommandArray
         ----------------------------------------------------------------------------------------------------------
         commandArray = {}
             -- Generated
                 PowerGeneration, EnergyGeneration = otherdevices_svalues[GenerationDeviceName]:match("([^;]+);([^;]+)")
                     if Debug=="YES" then
                             print("  ----- PowerGeneration = " .. PowerGeneration .. " W");
                                     print("  ----- EnergyGeneration = " .. EnergyGeneration .. " Wh");
                                         end

                                                 -- Smart Meter P1
                                                     EnergyImportLow, EnergyImportHigh, EnergyExportLow, EnergyExportHigh, PowerImport, PowerExport = otherdevices_svalues[P1MeterDeviceName]:match("([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);([^;]+)")
                                                         EnergyImport = EnergyImportLow + EnergyImportHigh
                                                             EnergyExport = EnergyExportLow + EnergyExportHigh
                                                                 if Debug=="YES" then
                                                                         print("  ----- PowerImport = " .. PowerImport .. " W");
                                                                                 print("  ----- EnergyImportLow = " .. EnergyImportLow .. " Wh");
                                                                                         print("  ----- EnergyImportHigh = " .. EnergyImportHigh .. " Wh");
                                                                                                 print("  ----- EnergyImport = " .. EnergyImport .. " Wh");
                                                                                                         print("  ----- PowerExport = " .. PowerExport .. " W");
                                                                                                                 print("  ----- EnergyExportLow = " .. EnergyExportLow .. " Wh");
                                                                                                                         print("  ----- EnergyExportHigh = " .. EnergyExportHigh .. " Wh");
                                                                                                                                 print("  ----- EnergyExport = " .. EnergyExport .. " Wh");
                                                                                                                                     end

                                                                                                                                          -- Calculate consumption
                                                                                                                                              PowerConsumption = PowerGeneration + PowerImport - PowerExport
                                                                                                                                                  if Debug=="YES" then
                                                                                                                                                          print("  ----- PowerConsumption = " .. PowerConsumption .. " W");
                                                                                                                                                              end
                                                                                                                                                                  EnergyConsumption = EnergyGeneration + EnergyImport - EnergyExport
                                                                                                                                                                      if Debug=="YES" then
                                                                                                                                                                              print("  ----- EnergyConsumption = " .. EnergyConsumption .. " Wh");
                                                                                                                                                                                  end

                                                                                                                                                                                          if tonumber(PowerConsumption) <0  then
                                                                                                                                                                                                  PowerConsumption=92
                                                                                                                                                                                                      end

                                                                                                                                                                                                              -- Update comsumption device in Domoticz
                                                                                                                                                                                                                  if devicechanged[P1MeterDeviceName] then
                                                                                                                                                                                                                          update(ConsumptionDeviceName, ConsumptionIDX, PowerConsumption, EnergyConsumption, 1)
                                                                                                                                                                                                                              end

                                                                                                                                                                                                                              return commandArray


Dit script gebruik ik om de opbrengst te berekenen.



Hier zijn mijn domoticz devices, waarbij 'zonnepanelen' de opbrengst van de zonnepanelen is en 'calculation' idx 97 is (zoals ook aangegeven in het script).

code:
1
2
2020-08-27 16:32:45.471 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_calculate_consumption1.lua: ...var/scripts/lua/script_device_calculate_consumption1.lua:78: attempt to perform arithmetic on a nil value (global 'PowerGeneration')
2020-08-27 16:32:45.525 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_calculate_consumption1.lua: ...var/scripts/lua/script_device_calculate_consumption1.lua:78: attempt to perform arithmetic on a nil value (global 'PowerGeneration')


Domoticz geeft vervolgens de bovenstaande fout. Ergens in regel 78 lijkt het op.

Hoe los ik dit op?

[Voor 105% gewijzigd door Rgerr op 27-08-2020 16:33]

@Rgerr
Er zal wel iets niet uitgelezen worden
in PowerGeneration + PowerImport - PowerExport
is er een waarde die niet bestaand is

Ik krijg de code niet gekopieerd. Wat een irritante manier van onder elkaar zetten.

[Voor 13% gewijzigd door AUijtdehaag op 27-08-2020 16:41]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
AUijtdehaag schreef op donderdag 27 augustus 2020 @ 16:40:
@Rgerr
Er zal wel iets niet uitgelezen worden
in PowerGeneration + PowerImport - PowerExport
is er een waarde die niet bestaand is

Ik krijg de code niet gekopieerd. Wat een irritante manier van onder elkaar zetten.
Ja, dat leek mij ook gezien de nil value. Maar het device is zeker niet leeg.

De code heb ik vanuit de terminal gekopieerd, kopiëren lukt mij prima vanuit de browser overigens.
@Rgerr
Zet debug eens op YES en kijk in je domoticz log waar het mis gaat.

Edit:
Ik heb hier nog een werkende (hoop ik)
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
----------------------------------------------------------------------------------------------------------
-- /home/pi/domoticz/scripts/lua/script_device_calculate_consumption.lua
----------------------------------------------------------------------------------------------------------
-- This script collects the values below from Domoticz
--   * The Power and energy values (import and export) from a P1 smartmeter 
--   * The Power and energy values from a Solar power inverter
-- It then calculates the consumed power and energy from the values above with the formula's
--   * EnergyConsumption = EnergyGeneration + EnergyImport - EnergyExport
--   * PowerConsumption = PowerGeneration + PowerImport - PowerExport
-- It then updates a virtual device which displays the consumed power and energy in Domoticz
----------------------------------------------------------------------------------------------------------
-- Written by Christ Neeskens (Format5) 2017
-- Based on: http://www.domoticz.com/wiki/Upload_energy_data_to_PVoutput#Installation_instructions_-_Calculating_the_consumption_using_a_Lua_device_script
----------------------------------------------------------------------------------------------------------
 
----------------------------------------------------------------------------------------------------------
-- Domoticz IDX and names of the needed devices
----------------------------------------------------------------------------------------------------------
local GenerationDeviceName = "Zonnepanelen"         -- Device name of the Generated energy
local P1MeterDeviceName = "Slimme meter"            -- Name of the energy device that shows imported and exported energy
local ConsumptionIDX = 21                           -- IDX of the energy device that shows calculated Consumption
local ConsumptionDeviceName = "Eigen verbruik"      -- Name of the energy device that shows calculated Consumption
 
----------------------------------------------------------------------------------------------------------
-- Require parameters
----------------------------------------------------------------------------------------------------------
-- None
 
----------------------------------------------------------------------------------------------------------
-- Script parameters
----------------------------------------------------------------------------------------------------------
EnergyGeneration = 0        -- in Watt hours
PowerGeneration = 0         -- in Watts
EnergyImport = 0            -- in Watt hours
PowerImport = 0             -- in Watts
EnergyConsumption = 0       -- in Watt hours
PowerConsumption = 0        -- in Watts
EnergyImportLow = 0         -- in Watt hours
EnergyImportHigh = 0        -- in Watt hours
EnergyExportLow = 0         -- in Watt hours
EnergyExportHigh = 0        -- in Watt hours
Debug = "NO"                -- Turn debugging on ("YES") or off ("NO")
 
----------------------------------------------------------------------------------------------------------
-- Lua Functions
----------------------------------------------------------------------------------------------------------
function update(device, id, power, energy, index)
    commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy}
end 
 
----------------------------------------------------------------------------------------------------------
-- CommandArray
----------------------------------------------------------------------------------------------------------
commandArray = {}
    -- Generated
    PowerGeneration, EnergyGeneration = otherdevices_svalues[GenerationDeviceName]:match("([^;]+);([^;]+)")
    if Debug=="YES" then
        print("  ----- PowerGeneration = " .. PowerGeneration .. " W");
        print("  ----- EnergyGeneration = " .. EnergyGeneration .. " Wh");
    end
    
    -- Smart Meter P1
    EnergyImportLow, EnergyImportHigh, EnergyExportLow, EnergyExportHigh, PowerImport, PowerExport = otherdevices_svalues[P1MeterDeviceName]:match("([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);([^;]+)")
    EnergyImport = EnergyImportLow + EnergyImportHigh
    EnergyExport = EnergyExportLow + EnergyExportHigh
    if Debug=="YES" then
        print("  ----- PowerImport = " .. PowerImport .. " W");
        print("  ----- EnergyImportLow = " .. EnergyImportLow .. " Wh");
        print("  ----- EnergyImportHigh = " .. EnergyImportHigh .. " Wh");
        print("  ----- EnergyImport = " .. EnergyImport .. " Wh");
        print("  ----- PowerExport = " .. PowerExport .. " W");
        print("  ----- EnergyExportLow = " .. EnergyExportLow .. " Wh");
        print("  ----- EnergyExportHigh = " .. EnergyExportHigh .. " Wh");
        print("  ----- EnergyExport = " .. EnergyExport .. " Wh");
    end
 
    -- Calculate consumption
    PowerConsumption = PowerGeneration + PowerImport - PowerExport
    if Debug=="YES" then
        print("  ----- PowerConsumption = " .. PowerConsumption .. " W");
    end
    EnergyConsumption = EnergyGeneration + EnergyImport - EnergyExport
    if Debug=="YES" then
        print("  ----- EnergyConsumption = " .. EnergyConsumption .. " Wh");
    end
    
    if tonumber(PowerConsumption) <0  then
        PowerConsumption=83       
    end 
    
    -- Update comsumption device in Domoticz
    if devicechanged[P1MeterDeviceName] then
        update(ConsumptionDeviceName, ConsumptionIDX, PowerConsumption, EnergyConsumption, 1)
    end

return commandArray

[Voor 100% gewijzigd door AUijtdehaag op 27-08-2020 16:47]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
AUijtdehaag schreef op donderdag 27 augustus 2020 @ 16:44:
@Rgerr
Zet debug eens op YES en kijk in je domoticz log waar het mis gaat.
code:
1
2
2020-08-27 16:46:52.608 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_calculate_consumption1.lua: ...var/scripts/lua/script_device_calculate_consumption1.lua:58: attempt to concatenate a nil value (global 'PowerGeneration')
2020-08-27 16:46:52.664 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_calculate_consumption1.lua: ...var/scripts/lua/script_device_calculate_consumption1.lua:58: attempt to concatenate a nil value (global 'PowerGeneration')


Dit krijg ik bij de logging te zien wanneer debug op "YES" staat.

  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
AUijtdehaag schreef op donderdag 27 augustus 2020 @ 16:44:
@Rgerr
Zet debug eens op YES en kijk in je domoticz log waar het mis gaat.

Edit:
Ik heb hier nog een werkende (hoop ik)
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
----------------------------------------------------------------------------------------------------------
-- /home/pi/domoticz/scripts/lua/script_device_calculate_consumption.lua
----------------------------------------------------------------------------------------------------------
-- This script collects the values below from Domoticz
--   * The Power and energy values (import and export) from a P1 smartmeter 
--   * The Power and energy values from a Solar power inverter
-- It then calculates the consumed power and energy from the values above with the formula's
--   * EnergyConsumption = EnergyGeneration + EnergyImport - EnergyExport
--   * PowerConsumption = PowerGeneration + PowerImport - PowerExport
-- It then updates a virtual device which displays the consumed power and energy in Domoticz
----------------------------------------------------------------------------------------------------------
-- Written by Christ Neeskens (Format5) 2017
-- Based on: http://www.domoticz.com/wiki/Upload_energy_data_to_PVoutput#Installation_instructions_-_Calculating_the_consumption_using_a_Lua_device_script
----------------------------------------------------------------------------------------------------------
 
----------------------------------------------------------------------------------------------------------
-- Domoticz IDX and names of the needed devices
----------------------------------------------------------------------------------------------------------
local GenerationDeviceName = "Zonnepanelen"         -- Device name of the Generated energy
local P1MeterDeviceName = "Slimme meter"            -- Name of the energy device that shows imported and exported energy
local ConsumptionIDX = 21                           -- IDX of the energy device that shows calculated Consumption
local ConsumptionDeviceName = "Eigen verbruik"      -- Name of the energy device that shows calculated Consumption
 
----------------------------------------------------------------------------------------------------------
-- Require parameters
----------------------------------------------------------------------------------------------------------
-- None
 
----------------------------------------------------------------------------------------------------------
-- Script parameters
----------------------------------------------------------------------------------------------------------
EnergyGeneration = 0        -- in Watt hours
PowerGeneration = 0         -- in Watts
EnergyImport = 0            -- in Watt hours
PowerImport = 0             -- in Watts
EnergyConsumption = 0       -- in Watt hours
PowerConsumption = 0        -- in Watts
EnergyImportLow = 0         -- in Watt hours
EnergyImportHigh = 0        -- in Watt hours
EnergyExportLow = 0         -- in Watt hours
EnergyExportHigh = 0        -- in Watt hours
Debug = "NO"                -- Turn debugging on ("YES") or off ("NO")
 
----------------------------------------------------------------------------------------------------------
-- Lua Functions
----------------------------------------------------------------------------------------------------------
function update(device, id, power, energy, index)
    commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy}
end 
 
----------------------------------------------------------------------------------------------------------
-- CommandArray
----------------------------------------------------------------------------------------------------------
commandArray = {}
    -- Generated
    PowerGeneration, EnergyGeneration = otherdevices_svalues[GenerationDeviceName]:match("([^;]+);([^;]+)")
    if Debug=="YES" then
        print("  ----- PowerGeneration = " .. PowerGeneration .. " W");
        print("  ----- EnergyGeneration = " .. EnergyGeneration .. " Wh");
    end
    
    -- Smart Meter P1
    EnergyImportLow, EnergyImportHigh, EnergyExportLow, EnergyExportHigh, PowerImport, PowerExport = otherdevices_svalues[P1MeterDeviceName]:match("([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);([^;]+)")
    EnergyImport = EnergyImportLow + EnergyImportHigh
    EnergyExport = EnergyExportLow + EnergyExportHigh
    if Debug=="YES" then
        print("  ----- PowerImport = " .. PowerImport .. " W");
        print("  ----- EnergyImportLow = " .. EnergyImportLow .. " Wh");
        print("  ----- EnergyImportHigh = " .. EnergyImportHigh .. " Wh");
        print("  ----- EnergyImport = " .. EnergyImport .. " Wh");
        print("  ----- PowerExport = " .. PowerExport .. " W");
        print("  ----- EnergyExportLow = " .. EnergyExportLow .. " Wh");
        print("  ----- EnergyExportHigh = " .. EnergyExportHigh .. " Wh");
        print("  ----- EnergyExport = " .. EnergyExport .. " Wh");
    end
 
    -- Calculate consumption
    PowerConsumption = PowerGeneration + PowerImport - PowerExport
    if Debug=="YES" then
        print("  ----- PowerConsumption = " .. PowerConsumption .. " W");
    end
    EnergyConsumption = EnergyGeneration + EnergyImport - EnergyExport
    if Debug=="YES" then
        print("  ----- EnergyConsumption = " .. EnergyConsumption .. " Wh");
    end
    
    if tonumber(PowerConsumption) <0  then
        PowerConsumption=83       
    end 
    
    -- Update comsumption device in Domoticz
    if devicechanged[P1MeterDeviceName] then
        update(ConsumptionDeviceName, ConsumptionIDX, PowerConsumption, EnergyConsumption, 1)
    end

return commandArray
Heb even een nieuwe .lua aangemaakt met jouw script, daar krijg ik het volgende uit:

code:
1
2
2020-08-27 16:51:29.936 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_calculate_consumption2.lua: ...var/scripts/lua/script_device_calculate_consumption2.lua:112: function arguments expected near 'local'
2020-08-27 16:51:29.990 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_calculate_consumption2.lua: ...var/scripts/lua/script_device_calculate_consumption2.lua:112: function arguments expected near 'local'
@Rgerr Ik zie dat "zonnepanelen" geen goede dummy is.
Die moet zowel de watt weergeven als de kWh teller.

Ik lig er even uit met domoticz, maar je moet daar iets anders voor nemen (elektra: actueel + teller)
Je mist de kWh waarde van vandaag.

Mijn code heeft maar 96 regels. Hoe kom je aan 112 ?

[Voor 18% gewijzigd door AUijtdehaag op 27-08-2020 16:55]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
AUijtdehaag schreef op donderdag 27 augustus 2020 @ 16:52:
@Rgerr Ik zie dat "zonnepanelen" geen goede dummy is.
Die moet zowel de watt weergeven als de kWh teller.

Ik lig er even uit met domoticz, maar je moet daar iets anders voor nemen (elektra: actueel + teller)
Je mist de kWh waarde van vandaag.
'Zonnepanelen' is alleen geen dummy, die komt rechtstreeks uit de P1 meter (als delivery L1).

Had overigens de code niet juist gekopieerd, nu wel. Maar dezelfde melding als voorheen:

code:
1
2
2020-08-27 16:56:32.322 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_calculate_consumption.lua: .../var/scripts/lua/script_device_calculate_consumption.lua:78: attempt to perform arithmetic on a nil value (global 'PowerGeneration')
2020-08-27 16:56:32.378 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_calculate_consumption.lua: .../var/scripts/lua/script_device_calculate_consumption.lua:78: attempt to perform arithmetic on a nil value (global 'PowerGeneration')

[Voor 40% gewijzigd door Rgerr op 27-08-2020 16:56]

@Rgerr En op L1 zitten geen verbruikers dan?
Wat voor omvormer is het? Kun je die niet beter uitlezen?

[Voor 39% gewijzigd door AUijtdehaag op 27-08-2020 16:57]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
Nee, dat is de directe opbrengst van de zonnepanelen. Ik heb ook 'delivery L2', delivery L3' en 'usage' L1 t/m 3.
@Rgerr Gaat nog steeds niet werken zonder kWh stand van de zonnepanelen.
Slimme meter heeft enkel totaal tellers helaas en niet per fase (of eigenlijk gelukkig >:) )

[Voor 39% gewijzigd door AUijtdehaag op 27-08-2020 16:59]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
AUijtdehaag schreef op donderdag 27 augustus 2020 @ 16:58:
@Rgerr Gaat nog steeds niet werken zonder kWh stand van de zonnepanelen.
Slimme meter heeft enkel totaal tellers helaas en niet per fase (of eigenlijk gelukkig >:) )


Is er een script met dummy waarmee ik dat eenvoudig kan berekenen dat je weet?
@Rgerr
Je kan een dummy aanmaken elektra: actueel + teller en dan op calculated computed zetten.
Dan berekend die zelf de kWh erbij.

Of dat nauwkeurig is weet ik niet.

(ff uit mijn hoofd he? Ben niet zo met domoticz meer bezig)

[Voor 5% gewijzigd door AUijtdehaag op 27-08-2020 17:09]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
AUijtdehaag schreef op donderdag 27 augustus 2020 @ 17:02:
@Rgerr
Je kan een dummy aanmaken elektra: actueel + teller en dan op calculated zetten.
Dan berekend die zelf de kWh erbij.

Of dat nauwkeurig is weet ik niet.

(ff uit mijn hoofd he? Ben niet zo met domoticz meer bezig)
Heb je in elk geval goed onthouden, er is vooruitgang. Of in elk geval is er iets gebeurd. :)



Maar klopt het dat de dummy (calculation) hetzelfde weergeeft als de P1 meter?

[Voor 4% gewijzigd door Rgerr op 27-08-2020 17:09]

@Rgerr Die computed dummy moet je voor je zonnepanelen aanmaken?
Ik zie daar nog steeds niks staan in kWh.

Daaruit wordt dan je actuele verbruik berekend
Het is steeds power en energy (watt en kWh) die uitgelezen worden.
Mis er eentje, dan werkt het niet.

[Voor 46% gewijzigd door AUijtdehaag op 27-08-2020 17:19]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
AUijtdehaag schreef op donderdag 27 augustus 2020 @ 17:11:
@Rgerr Die computed dummy moet je voor je zonnepanelen aanmaken?
Ik zie daar nog steeds niks staan in kWh.

Daaruit wordt dan je actuele verbruik berekend
Het is steeds power en energy (watt en kWh) die uitgelezen worden.
Mis er eentje, dan werkt het niet.
Is het dan niet een managed counter? Heb net een elektra actueel + Teller aangemaakt, dat is het voorgaande screenshot.

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • jobr
  • Registratie: januari 2009
  • Laatst online: 18:51
Rgerr schreef op donderdag 27 augustus 2020 @ 16:55:
[...]


'Zonnepanelen' is alleen geen dummy, die komt rechtstreeks uit de P1 meter (als delivery L1).

Had overigens de code niet juist gekopieerd, nu wel. Maar dezelfde melding als voorheen:

code:
1
2
2020-08-27 16:56:32.322 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_calculate_consumption.lua: .../var/scripts/lua/script_device_calculate_consumption.lua:78: attempt to perform arithmetic on a nil value (global 'PowerGeneration')
2020-08-27 16:56:32.378 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_calculate_consumption.lua: .../var/scripts/lua/script_device_calculate_consumption.lua:78: attempt to perform arithmetic on a nil value (global 'PowerGeneration')
Indien nog relevant.

PowerGeneration heeft geen waarde gekregen en daarom die melding.
Ik verwacht dat hier wat mis gaat:
PowerGeneration, EnergyGeneration = otherdevices_svalues[GenerationDeviceName]:match("([^;]+);([^;]+)")

Ik verwacht ook dat dezelfde fout gaat optreden een paar regels verder bij EnergyGeneration

N.B. ik zou een keer overstappen naar dzVentz, Een stuk makkelijker.
@jobr Geen EnergyGeneration he? kWh is missing

Ik heb het ook in dzvents hoor.
Maar dit werkt ook prima. (in dzvents heb ik er een behoorlijke fout inzitten, die ik niet opgelost krijg)

[Voor 59% gewijzigd door AUijtdehaag op 27-08-2020 18:47]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat

Dat ziet er al beter uit.
Let er morgen even op dat de kWh tellerstanden op 0 beginnen
En geen dubbele dummys met de naam zonnepanelen

[Voor 21% gewijzigd door AUijtdehaag op 27-08-2020 19:07]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
AUijtdehaag schreef op donderdag 27 augustus 2020 @ 19:07:
Dat ziet er al beter uit.
Let er morgen even op dat de kWh tellerstanden op 0 beginnen
En geen dubbele dummys met de naam zonnepanelen
Heb de L1 (voorheen ‘zonnepanelen’) van de P1 kabel al hernoemd naar ‘zonnepanelen live, de dummy teller heet nu als enige ‘zonnepanelen’. Maar vanaf morgen zou die dus moeten gaan tellen?
@Rgerr Als de panelen nu uit zijn, is er morgen weer een nieuwe.

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
AUijtdehaag schreef op donderdag 27 augustus 2020 @ 19:10:
@Rgerr Als de panelen nu uit zijn, is er morgen weer een nieuwe.
Dan wacht ik het morgen even af, of het doet wat het moet doen. In elk geval ontzettend bedankt voor de hulp!

  • jobr
  • Registratie: januari 2009
  • Laatst online: 18:51
AUijtdehaag schreef op donderdag 27 augustus 2020 @ 18:46:
Ik heb het ook in dzvents hoor.
Maar dit werkt ook prima. (in dzvents heb ik er een behoorlijke fout inzitten, die ik niet opgelost krijg)
Wat voor fout dan ?
@jobr Niet belangrijk meer. Ik ben over op HA.

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • Rgerr
  • Registratie: juni 2017
  • Laatst online: 23:10
jobr schreef op donderdag 27 augustus 2020 @ 18:18:
[...]


Indien nog relevant.

PowerGeneration heeft geen waarde gekregen en daarom die melding.
Ik verwacht dat hier wat mis gaat:
PowerGeneration, EnergyGeneration = otherdevices_svalues[GenerationDeviceName]:match("([^;]+);([^;]+)")

Ik verwacht ook dat dezelfde fout gaat optreden een paar regels verder bij EnergyGeneration

N.B. ik zou een keer overstappen naar dzVentz, Een stuk makkelijker.
Heb je een dzvents script hiervoor? Probeer ik dat eens.
@Rgerr Werkt het niet dan?
Dan verwacht ik dat je nog iets niet goed hebt staan.

Hier een dzvents script
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
return {

    on = {
        devices = { 
                    9, -- Slimme meter youless of P1
                    47, -- Zonnepanelen
                  }
         },
    logging = {
        level = domoticz.LOG_INFO,
--        level = domoticz.LOG_ERROR,
        marker = "Eigen verbruik"
               },    
    
    execute = function(domoticz, item)
        
        local Smartmeter = domoticz.devices(9)   -- Slimme meter (youless or P1)
        local Generation = domoticz.devices(47)   -- Zonnepanelen
        local Consumption = domoticz.devices(13)  -- Eigen verbruik / calculated value / dummy Elekta kWh + counter
        
        -- Smartmeter
        local EnergyImportLow = Smartmeter.rawData[1]
        local EnergyImportHigh = Smartmeter.rawData[2]
        local EnergyExportLow = Smartmeter.rawData[3]
        local EnergyExportHigh = Smartmeter.rawData[4]
        local PowerImport = Smartmeter.rawData[5]
        local PowerExport = Smartmeter.rawData[6]
        
        -- Generation
        local EnergyGeneration = Generation.rawData[2]
        local PowerGeneration = Generation.rawData[1]

        --Calculate
        local EnergyImport = EnergyImportLow + EnergyImportHigh
        local EnergyExport = EnergyExportLow + EnergyExportHigh
        
        local EnergyConsumption = EnergyGeneration + EnergyImport - EnergyExport
        local PowerConsumption = PowerGeneration + PowerImport - PowerExport

        --domoticz.log('EnergyImportLow ' .. EnergyImportLow .. ' Wh ', domoticz.LOG_INFO)
        --domoticz.log('EnergyImportHigh ' .. EnergyImportHigh .. ' Wh ', domoticz.LOG_INFO)
        --domoticz.log('EnergyExportLow ' .. EnergyExportLow .. ' Wh ', domoticz.LOG_INFO)
        --domoticz.log('EnergyExportHigh ' .. EnergyExportHigh .. ' Wh ', domoticz.LOG_INFO)

        --domoticz.log('PowerImport ' .. PowerImport .. ' W ', domoticz.LOG_INFO)
        --domoticz.log('PowerExport ' .. PowerExport .. ' W ', domoticz.LOG_INFO)
        --domoticz.log('EnergyGeneration ' .. EnergyGeneration .. ' Wh ', domoticz.LOG_INFO)
        --domoticz.log('PowerGeneration ' .. PowerGeneration .. ' W ', domoticz.LOG_INFO)

        --domoticz.log('EnergyConsumption ' .. EnergyConsumption .. ' Wh ', domoticz.LOG_INFO)
        --domoticz.log('PowerConsumption: ' .. PowerConsumption .. ' W ', domoticz.LOG_INFO)
        
        domoticz.openURL('http://127.0.0.1:8087/json.htm?type=command&param=udevice&idx=13'..'&nvalue=0&svalue='..PowerConsumption..';'..EnergyConsumption)  
        --vul zelf hier idx in van dummy Consumption (83) en domoticz port (8095)
        
    end
    
}


Het probleem is dat het verbruik opnieuw begint te tellen als de panelen leveren. Geen idee waarom.

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat

Pagina: 1 ... 43 44 45 Laatste


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True