Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@andrerij De function waarde() stript geen decimalen als je een 0 als tweede parameter opgeeft en neem aan dat dit wel de bedoeling is zoals bv bij het vermogen op ieder paneel?
Ik heb dat gefixt door deze regel te veranderen:
code:
1
        if (d == 0 && p+1 == s.length) { s=s.slice(0,p);}
in
code:
1
        if (d == 0 && p+1 <= s.length) { s=s.slice(0,p);}

Jos

Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
Hoi @jvdzande,

Ik heb jou https://github.com/jvanderzande/zonnepanelen/tree/domoticz ook even gedownload en op mijn RPI geinstalleerd.
Alleen krijg ik het achtergrond plaatje niet gewijzigd in mijn eigen en kan ik ook de zonnepanelen box niet aangepast krijgen. Ook niet na het legen van mijn cache in Chrome en ook in Internet Explorer lijkt hierin niks te veranderen.

Enig idee?

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
MaikelK. schreef op dinsdag 26 maart 2019 @ 13:10:
Alleen krijg ik het achtergrond plaatje niet gewijzigd in mijn eigen
Dat zou gewoon moeten werken dmv config.php aan te passen. Het kan inderdaad ook door een cache komen aan de server zijde, maar dat kan je zien dmv de Dev console te openen (F12) en even naar de source te kijken voor:
code:
1
2
3
4
5
6
7
<body>
    <div class='mainpage'>
        <div class='container' id='container'>
            <div Class='box_inverter' id='box_inverter'>
                <div class="imageOver">
                    <img src="./img/zonnesysteem-electra-hd.gif" alt=""  style="position:absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index: -100;"/>
                </div>

op de laatste regel zien je het plaatje dat wordt gebruikt. Zoals gezegd: Dit wordt ingevuld door het Server-side PHP deel van zonnepanelen-electra.php.
MaikelK. schreef op dinsdag 26 maart 2019 @ 13:10:
en kan ik ook de zonnepanelen box niet aangepast krijgen.
De panelen layout voor mijn versie maakt gebruik van css/zonnepanelen-electra.css, dus zal je de informatie betreft de panelen even moeten kopiëren van zonnepanelen.css.

Jos

Acties:
  • 0 Henk 'm!

Verwijderd

Hallo, ik woon in de VS hem net 2 Solaedge inverters met 2 LG Chem batterijen geinstalleerd.

Als ik :
select timestamp, hex (inv_id), e_day from telemetry_inverter
-> ;
+------------+--------------+----------+
| timestamp | hex (inv_id) | e_day |
+------------+--------------+----------+
| 1553435998 | 7F16DC8B | 1223.02 |

Doe, zie ik maar 1 inverter. Hoe kan ik zien of er twee inverters in de database zitten?

Ik kan nergens vinden wat de definitie's zijn van de_day en e_day (ik denk de_day Wh per 5 minuten, en e_day de gesommeerde Wh van die dag).

Ik ben ook benieuwd hoe ik informatie over de batterijen in de SQL database kan krijgen.

Verder heb ik 42 panelen en weet niet hoe ik Andre's php moet aanpassen, kan dat wel?

Overigens, heb ik het geheel op een oude mac gezet met Ubuntu 18.04. Dat gaf mij moeilijkheden omdat 18.04 is overgestapt op netplan en de instructies niet werken. Uiteindelijk hetb ik in Netplan.ini aangegeven dat network manager moet worden gebruikt. Dan werkt het wel.

Verder heb ik twee smart meters van Eversource gekregen, die ben ik van plan uit te lezen met SDR. Dan heb ik het echte Wh verbruik en solar. Ik heb ook de Iotawatt ingezet om details van mijn verbruik te krijgen. Solar wordt daar ook op gezien. Er wordt elke seconde gemeten, en ik zie nog weleens gekke dips die ik niet zie bij Solaredge of se-logger. Ik zal later wel een plaatje geven, heeft iemand anders dat ook wel eens gezien?

Acties:
  • 0 Henk 'm!

  • mistral2
  • Registratie: November 2002
  • Laatst online: 08:22
Hallo Janusa, ik heb intern een versie draaien die geen limiet heeft op het aantal panelen. Die zal ik binnenkort op github zetten en dan kan Andre het overnemen als hij het ok vindt...

Je query zou alle inverters terug moeten geven. Als je maar 1 regel ziet, zit er dus maar data van 1 inverter in.

Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
jvdzande schreef op dinsdag 26 maart 2019 @ 16:39:
[...]
Dat zou gewoon moeten werken dmv config.php aan te passen. Het kan inderdaad ook door een cache komen aan de server zijde, maar dat kan je zien dmv de Dev console te openen (F12) en even naar de source te kijken voor:
code:
1
2
3
4
5
6
7
<body>
    <div class='mainpage'>
        <div class='container' id='container'>
            <div Class='box_inverter' id='box_inverter'>
                <div class="imageOver">
                    <img src="./img/zonnesysteem-electra-hd.gif" alt=""  style="position:absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index: -100;"/>
                </div>

op de laatste regel zien je het plaatje dat wordt gebruikt. Zoals gezegd: Dit wordt ingevuld door het Server-side PHP deel van zonnepanelen-electra.php.


[...]
De panelen layout voor mijn versie maakt gebruik van css/zonnepanelen-electra.css, dus zal je de informatie betreft de panelen even moeten kopiëren van zonnepanelen.css.

Jos
Hoi Jos,

De achtergrond is nog niet overgenomen, er staat nu dit in F12 mode.
code:
1
2
3
4
5
6
7
<body>
    <div class='mainpage'>
        <div class='container' id='container'>
            <div Class='box_inverter' id='box_inverter'>
                <div class="imageOver">
                    <img src="./img/zonnesysteem-electra.gif" alt=""  style="position:absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index: -100;"/>
                </div>

De zonnepanelen box is aangepast, echter nu overflowt de onderste chart.
Afbeeldingslocatie: https://i.imgur.com/yy2ZV94.jpg

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@MaikelK.,
Kan je mij even jouw gehele website bestanden in een zip file aan mij emailen zodat ik even goed kan kijken en testen?

Jos

Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
@jvdzande

Ha Jos, als ik met jouw site over de inverter een mouseover doe dan zie ik vele parameters waaronder "V-DC" is het mogelijk om hier ook "I-DC" aan toe te voegen? Dat is er wel voor S-AC (jij noemt het Stroom schat ik in?) Formeel in de wetten der natuurkunde is het I.

EDIT: ik denk dat de I waarde niet in de DB zit na wat onderzoek...

[ Voor 10% gewijzigd door stormfly op 29-03-2019 10:47 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Hallo Mistral2,

Dat zou heel fijn zijn als ik de versie met meer panelen kan gebruiken.

Wat gek dat er maar 1 inverter gezien wordt, ik zie namelijk wel alle 42 optimizers verschijnen in de database! Komt dat omdat 1 van de twee een slave is van de andere? Ik heb ook een RS485 fout op de slave inverter. Misschien moet ik die open maken en opnieuw instellen. Dat moet toch omdat de batterijen nog niet zijn aangesloten.
Wat vreemd is, is dat ik op de monitoring site van Solaredge in het begin ook maar 1 inverter zag, toen een tijde 2. Echter, ik zal al een paar dagen alleen maar het vermogen, geen info meer over de inverters of de optimizers, of dag,week, maandwaardes voor de Wh. Heel vreemd.

Jan

Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
jvdzande schreef op vrijdag 29 maart 2019 @ 10:00:
@MaikelK.,
Kan je mij even jouw gehele website bestanden in een zip file aan mij emailen zodat ik even goed kan kijken en testen?

Jos
Waar kan ik dit naartoe mailen?

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
Verwijderd schreef op vrijdag 29 maart 2019 @ 13:28:
Hallo Mistral2,

Dat zou heel fijn zijn als ik de versie met meer panelen kan gebruiken.

Wat gek dat er maar 1 inverter gezien wordt, ik zie namelijk wel alle 42 optimizers verschijnen in de database! Komt dat omdat 1 van de twee een slave is van de andere? Ik heb ook een RS485 fout op de slave inverter. Misschien moet ik die open maken en opnieuw instellen. Dat moet toch omdat de batterijen nog niet zijn aangesloten.
Wat vreemd is, is dat ik op de monitoring site van Solaredge in het begin ook maar 1 inverter zag, toen een tijde 2. Echter, ik zal al een paar dagen alleen maar het vermogen, geen info meer over de inverters of de optimizers, of dag,week, maandwaardes voor de Wh. Heel vreemd.

Jan
Jan heb jij een publieke link in het SE portal (monitoring.solaredge.com) waarin ook de batterij status zichtbaar is? Zoals ik het begreep heeft SE een complete monitored battery oplossing, ik ben wel benieuwd naar de data.

Als alles aangesloten is zou het fijn zijn als je wat kunt delen?

Acties:
  • 0 Henk 'm!

  • andrerij
  • Registratie: April 2017
  • Laatst online: 17-09 12:47
Verwijderd schreef op donderdag 28 maart 2019 @ 21:01:
Hallo, ik woon in de VS hem net 2 Solaedge inverters met 2 LG Chem batterijen geinstalleerd.

Als ik :
select timestamp, hex (inv_id), e_day from telemetry_inverter
-> ;
+------------+--------------+----------+
| timestamp | hex (inv_id) | e_day |
+------------+--------------+----------+
| 1553435998 | 7F16DC8B | 1223.02 |

Doe, zie ik maar 1 inverter. Hoe kan ik zien of er twee inverters in de database zitten?

Ik kan nergens vinden wat de definitie's zijn van de_day en e_day (ik denk de_day Wh per 5 minuten, en e_day de gesommeerde Wh van die dag).

Ik ben ook benieuwd hoe ik informatie over de batterijen in de SQL database kan krijgen.

Verder heb ik 42 panelen en weet niet hoe ik Andre's php moet aanpassen, kan dat wel?

Overigens, heb ik het geheel op een oude mac gezet met Ubuntu 18.04. Dat gaf mij moeilijkheden omdat 18.04 is overgestapt op netplan en de instructies niet werken. Uiteindelijk hetb ik in Netplan.ini aangegeven dat network manager moet worden gebruikt. Dan werkt het wel.

Verder heb ik twee smart meters van Eversource gekregen, die ben ik van plan uit te lezen met SDR. Dan heb ik het echte Wh verbruik en solar. Ik heb ook de Iotawatt ingezet om details van mijn verbruik te krijgen. Solar wordt daar ook op gezien. Er wordt elke seconde gemeten, en ik zie nog weleens gekke dips die ik niet zie bij Solaredge of se-logger. Ik zal later wel een plaatje geven, heeft iemand anders dat ook wel eens gezien?
Ik heb het maximale aantal verwijderd. In de zonnepanelen.css moet het juiste aantal panelen worden gezet. Veder heb ik een aantal wijzigingen van andere overgenomen.

Indien men wijzigingen in GitHup voorstelt, graag de actuele file gebruiken zodat de laatste doorgevoerde wijzigen niet ongedaan worden gemaakt.

De laatste versie kan gedownload worden van GitHub.

Acties:
  • +1 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Even een update van mijn kant betreft de Zonnepanelen-Electra.php versie:
Vandaag een nieuwe versie beschikbaar gemaakt en deze bevat de volgende aanpassingen van de laatste weken:
  • Added PVGis prediction of solar energie to the Month Graph and Inverter hover text box.
  • Showing SolarPanel efficiency for each panel in the hover-over textbox and the total of all panels efficiency in the hover-over box of the inverter.
  • Refresh the page when the date has changes to ensure it shows the "new today" in the morning when the browser had the website already open.
  • Update format tooltip Vermogen and Energie charts and sort the values High to low and show today in bold.
  • Added Vandaag/Maand/Jaar generated Solar energy to the Hover textbox for the Converter.
  • Added Vandaag/Maand/Jaar information to P1_Meter Hover textbox.
  • Added Vandaag/Maand/Jaar Energy usage to the Huis Hover textbox.
  • Several bug fixes.
  • Merged all general changes made in Zonnepanelen.php.
Deze screen capture van Github docs geeft een goede indruk van alle opties:
Afbeeldingslocatie: https://github.com/amrij/zonnepanelen/raw/domoticz/docs/zonnepanelen-electra_LT_new_thumb.jpg?raw=true

Jos

[ Voor 6% gewijzigd door jvdzande op 08-04-2019 09:28 . Reden: link aangepast ]


Acties:
  • 0 Henk 'm!

  • Aegle
  • Registratie: November 2013
  • Laatst online: 23:11
@andrerij en @jvdzande, jullie zijn goed bezig met de websites! Draaien hier prima en snel.

Een paar jaar terug heeft een mede-tweaker ook eens website gebouwd, gebasseerd op de database van @Jerrythafast. Hierin staat een tabelletje met piekwaarden. Zie screenshot. Is het mogelijk deze data ook in jullie websites in te bouwen? Zou het voor mij (bijna) compleet maken!

Afbeeldingslocatie: https://tweakers.net/ext/f/tGtXruJ08g85ZczxxvtE9Lam/full.png

[ Voor 5% gewijzigd door Aegle op 01-04-2019 16:26 ]

33 x ET Solar 270Wp = 8910Wp @ SMA Sunny TriPower STP 8000TL-20 Live: PVOutput


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Piek Power en Piek temperatuur staan al standaard op de beide sites, alleen de tijd niet. 8)

Jos

Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
@jvdzande nog bedankt voor de hulp via de PB!

Zal morgen denk ik even de nieuwste versie proberen!

Moet er voor PVGis nog wat ingevoerd worden trouwens?

[ Voor 21% gewijzigd door MaikelK. op 01-04-2019 21:36 ]

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
MaikelK. schreef op maandag 1 april 2019 @ 20:32:
@jvdzande
Moet er voor PVGis nog wat ingevoerd worden trouwens?
jep, in config.php zit variable $pvgis waar de waarde voor iedere maand van het jaar ingevuld moet worden. Alleen als die variable aanwezig is zal de info verschijnen.

Jos

Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
jvdzande schreef op maandag 1 april 2019 @ 22:56:
[...]
jep, in config.php zit variable $pvgis waar de waarde voor iedere maand van het jaar ingevuld moet worden. Alleen als die variable aanwezig is zal de info verschijnen.

Jos
Oke deze moet dus via PVGis verkregen worden? Dan zal ik me daar eens in verdiepen hoe dat ook alweer precies werkt 7(8)7

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
MaikelK. schreef op dinsdag 2 april 2019 @ 08:12:
[...]


Oke deze moet dus via PVGis verkregen worden? Dan zal ik me daar eens in verdiepen hoe dat ook alweer precies werkt 7(8)7
Ik ben zelf meer fan van de SolareEdge design.exe file (wie heeft de installer nog op zijn pc?) Die geeft een iets realistischer beeld.

De PV guru's weten dat PVGIS aan de voorzichtige kant zit en lage opbrengsten teruggeeft. Je kan dit finetunnen door de systemloss te verlagen.

Acties:
  • +1 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
MaikelK. schreef op dinsdag 2 april 2019 @ 08:12:
[...]
Oke deze moet dus via PVGis verkregen worden? Dan zal ik me daar eens in verdiepen hoe dat ook alweer precies werkt 7(8)7
Gewoon even naar deze website gaan, de gegevens invullen en dan krijg je een voorspelling per maand:
http://re.jrc.ec.europa.eu/pvg_tools/en/tools.html ;)

Jos

Acties:
  • +1 Henk 'm!

  • Rouske
  • Registratie: Juli 2007
  • Laatst online: 08:14
stormfly schreef op dinsdag 2 april 2019 @ 08:29:
[...]
Ik ben zelf meer fan van de SolareEdge design.exe file (wie heeft de installer nog op zijn pc?) Die geeft een iets realistischer beeld.

De PV guru's weten dat PVGIS aan de voorzichtige kant zit en lage opbrengsten teruggeeft. Je kan dit finetunnen door de systemloss te verlagen.
Ook de tool van SolarEdge is aan de voorzichtige kant :P
Maar mocht je em willen hebben laat maar weten via DM (SolarEdge Site Designer 2.3.11).

In mijn situatie, zie onderschrift:
SE designer zegt 3826kWh/j
PVGIS zegt 3966kWh/j (met de standaard 14% LOSS) -> gebruik ik in PVOutput

Maar daar zijn we volgens PVOutput afgelopen jaar zeer ruim overheen gegaan, totaal 4323kWh
En als ik naar de SolarEdge portal kijk dan zou het zelfs 4447kWh zijn...

Acties:
  • 0 Henk 'm!

  • spok9
  • Registratie: November 2000
  • Laatst online: 18-09 22:19

spok9

Groen...

@Jerrythafast ik krijg de volgende foutmelding:
code:
1
2
3
4
5
Reading from /opt/se-logger/solaredge-20190306233002.pcap
Traceback (most recent call last):
  File "find-key-in-pcap.py", line 75, in <module>
    data = f.read()
MemoryError

Enig idee wat er mis gaat?

Zolang ik het zelf geloof is het goed toch?


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Heb je misschien een erg groot bestand gekregen met de capture, maw veel data verkeer over die poort?

Acties:
  • 0 Henk 'm!

  • spok9
  • Registratie: November 2000
  • Laatst online: 18-09 22:19

spok9

Groen...

Je hebt gelijk! De eerste pcap bestanden waren zelfs tot 400MB... Gek, want de logger krijgt alleen het verkeer van de omvormer.

Anyway, key gevonden :)

Zolang ik het zelf geloof is het goed toch?


Acties:
  • 0 Henk 'm!

  • Kecin
  • Registratie: Juli 2004
  • Niet online

Kecin

Je keek.

tvp

I am not a number, I am a free man! Geld over? Check m'n V&A


Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
spok9 schreef op dinsdag 2 april 2019 @ 22:02:
Je hebt gelijk! De eerste pcap bestanden waren zelfs tot 400MB... Gek, want de logger krijgt alleen het verkeer van de omvormer.

Anyway, key gevonden :)
Als je een MAC filter toepast op het MAC adres van je omvormer blijven je files heel klein.

Ik doe dit trouwens wel met een router met port mirroring! Als het goed is is deze info ook toegevoegd aan de post van Jerry.

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • djjvb
  • Registratie: Mei 2008
  • Laatst online: 15-09 11:50
Hier even een beginners vraagje... Ik merk een tijdsverschil van 2 uur tussen het .pcap bestand en de tijd van o.a. het herstarten. Dat maakt alleen dat het bestand van bijvoorbeeld vandaag(vannacht) 4-4, gelogd wordt als 3-4 22:30

Nu zal dit te maken hebben met UTC en CET. Mijn Pi staat ingesteld op CET. Hoe kan ik dit gelijk krijgen op CET? (want anders is het natuurlijk Pi op UTC zetten) Of kan dat niet qua solar edge?
En vroeg me af of dit dan nog wat effect heeft op databases en bijvoorbeeld het vergelijk met de P1 uitlezen qua timestamp.

[ Voor 5% gewijzigd door djjvb op 04-04-2019 10:52 ]


Acties:
  • +1 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
djjvb schreef op donderdag 4 april 2019 @ 10:51:
Nu zal dit te maken hebben met UTC en CET. Mijn Pi staat ingesteld op CET. Hoe kan ik dit gelijk krijgen op CET? (want anders is het natuurlijk Pi op UTC zetten) Of kan dat niet qua solar edge?
in script "se-logger-service.sh" zitten deze 3 regels:
code:
1
2
3
/usr/bin/stdbuf -i0 -o0 -e0 /usr/sbin/tcpdump -i $INTERFACE -U -w - ${FILTER} 2>> ${CAPTDIR}tcpdump.log | \
    tee $CAPTDIR$PREFIX`date -u +%Y%m%d%H%M%S`.pcap | \
    /usr/bin/python -u ${CAPTDIR}liveupdate.py - 2>> ${CAPTDIR}liveupdate.log
Dit deel zorgt voor de datum in de bestandsnaam: date -u +%Y%m%d%H%M%S
en kan je aanpassen naar: date +%Y%m%d%H%M%S om de raspberrypi datum&tijd te gebruiken.
djjvb schreef op donderdag 4 april 2019 @ 10:51:
En vroeg me af of dit dan nog wat effect heeft op databases en bijvoorbeeld het vergelijk met de P1 uitlezen qua timestamp.
Dit wordt alleen gebruikt voor de bestandsnaam.

Jos

Acties:
  • 0 Henk 'm!

  • Poudie
  • Registratie: December 2013
  • Laatst online: 14-03 14:38
Vandaag werd bij mij eindelijk de PV installatie geplaatst en ik ben al paar weken aan het voorbereiden met behulp van de duidelijk en uitgebreide uitleg.

Opstelling gemaakt met een hub en een Raspberry Pi 3 als logger. Deze logt al dagen mijn netwerkverkeer van de apparatuur op de HUB, waaronder mijn test pc'tje die ik eraan had gehangen.

Nu is dus vandaag mijn solaredge geplaatst en ik zie geregeld HTTPS verkeer van de Solaredge omvormer naar de cloud omgeving.
Echter hoe ga ik nu het verkeer uitlezen? Het lijkt allemaal HTTPS verkeer en dus al versleuteld.

De scripts zien geen verkeer van de SolarEdge wat ze kunnen gebruiken.
Iemand tips? Of is de API tegenwoordig uitgebreid genoeg?

Acties:
  • +1 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@Poudie, Hoe weet je dat het https verkeer is? Er gaat binaire data tussen de SolarEdge en de Cloud en deze wordt constant door het liveupdate.py script verwerkt en naar jouw SQL server verstuurd als je alles correct hebt geïnstalleerd. Het liveupdate.log bevat informatie in het geval er zaken gebeuren in het script zoals foutmeldingen.

Jos

Acties:
  • 0 Henk 'm!

  • djjvb
  • Registratie: Mei 2008
  • Laatst online: 15-09 11:50
jvdzande schreef op donderdag 4 april 2019 @ 16:42:
[...]

in script "se-logger-service.sh" zitten deze 3 regels:
code:
1
2
3
/usr/bin/stdbuf -i0 -o0 -e0 /usr/sbin/tcpdump -i $INTERFACE -U -w - ${FILTER} 2>> ${CAPTDIR}tcpdump.log | \
    tee $CAPTDIR$PREFIX`date -u +%Y%m%d%H%M%S`.pcap | \
    /usr/bin/python -u ${CAPTDIR}liveupdate.py - 2>> ${CAPTDIR}liveupdate.log
Dit deel zorgt voor de datum in de bestandsnaam: date -u +%Y%m%d%H%M%S
en kan je aanpassen naar: date +%Y%m%d%H%M%S om de raspberrypi datum&tijd te gebruiken.
Dank! Dit heeft het opgelost na een stop en start van de service!

Acties:
  • 0 Henk 'm!

  • Poudie
  • Registratie: December 2013
  • Laatst online: 14-03 14:38
jvdzande schreef op donderdag 4 april 2019 @ 19:23:
@Poudie, Hoe weet je dat het https verkeer is? Er gaat binaire data tussen de SolarEdge en de Cloud en deze wordt constant door het liveupdate.py script verwerkt en naar jouw SQL server verstuurd als je alles correct hebt geïnstalleerd. Het liveupdate.log bevat informatie in het geval er zaken gebeuren in het script zoals foutmeldingen.

Jos
Ik heb de pcap file even ingeladen in Wireshark en zie https verkeer vanaf de Solar omvormer naar een cloud adres.

Helaas geven de scripts aan dat er geen Solar info in zit. :(

SQL blijft leeg en geen fouten in de live update log. :(

Misschien omdat het nieuwe type omvormer is? Zonder display :(

Acties:
  • 0 Henk 'm!
Poudie schreef op donderdag 4 april 2019 @ 20:58:
[...]


Ik heb de pcap file even ingeladen in Wireshark en zie https verkeer vanaf de Solar omvormer naar een cloud adres.

Helaas geven de scripts aan dat er geen Solar info in zit. :(

SQL blijft leeg en geen fouten in de live update log. :(

Misschien omdat het nieuwe type omvormer is? Zonder display :(
Aha, jij hebt de eer om de eerste te zijn met zo'n omvormer! Ik las op GitHub dat die omvormers zelfs lokaal uit te lezen zijn zonder internetverbinding, via een ingebouwde webserver. Dat lijkt echter via HTTP te gaan, niet HTTPS. Dus er zijn zeker mogelijkheden!

Ik neem aan dat deze ook nog gewoon data naar het oude SolarEdge monitoring portaal stuurt? Ik ben wel erg nieuwsgierig naar een PCAP van het gebabbel van jouw omvormer nu! :9~ Misschien kan ik vinden waarom se-logger er geen data uit kan vissen.

Acties:
  • 0 Henk 'm!

  • Poudie
  • Registratie: December 2013
  • Laatst online: 14-03 14:38
Jerrythafast schreef op donderdag 4 april 2019 @ 21:03:
[...]

Aha, jij hebt de eer om de eerste te zijn met zo'n omvormer! Ik las op GitHub dat die omvormers zelfs lokaal uit te lezen zijn zonder internetverbinding, via een ingebouwde webserver. Dat lijkt echter via HTTP te gaan, niet HTTPS. Dus er zijn zeker mogelijkheden!

Ik neem aan dat deze ook nog gewoon data naar het oude SolarEdge monitoring portaal stuurt? Ik ben wel erg nieuwsgierig naar een PCAP van het gebabbel van jouw omvormer nu! :9~ Misschien kan ik vinden waarom se-logger er geen data uit kan vissen.
Die kan ik je uiteraard aanleveren! Geen probleem, stuur me even je mail adres per PM. Dan zal ik die naar je mailen.

En inderdaad! Er zit gewoon een webinterface in! Helemaal niet gecheckt. Alleen even zien of ik er iets in kan uitlezen.

Acties:
  • 0 Henk 'm!
@Poudie Ik heb al even snel gekeken en het lijkt erop dat je gelijk hebt... Hij legt contact met prodssl.solaredge.com en daarna zit er een slot op. Lijkt erop dat ze het aloude encryptie-advies ("don't roll your own") dan nu toch eindelijk ter harte hebben genomen. De lokale webinterface gaat wel helemaal plaintext, dus ik zie een projectje aankomen om die te gaan scrapen... :D

Het leuke is dat er ook allemaal fancy-looking PowerControl functies in de lokale API lijken te zitten, dus misschien dat SolarEdge omvormers nog wel eens tweakbare objecten kunnen gaan worden >:)

[ Voor 20% gewijzigd door Jerrythafast op 04-04-2019 22:07 ]


Acties:
  • 0 Henk 'm!

  • djjvb
  • Registratie: Mei 2008
  • Laatst online: 15-09 11:50
Inmiddels is de installatie van de panelen geslaagd en draait. Nog even een klein vraagje, nav Mac filter.

Heb het volgende bij het stukje staan uit de se-logger-service.sh:

# SETTINGS
INTERFACE=eth0
FILTER=tcp and ether host 00:XX:XX:XX:XX:XX
CAPTDIR=/opt/se-logger/
PREFIX=solaredge-

Uiteraard met het Mac adres van de omvormer. Alleen heb ik na de herstart tot nu... zeg dus een uurtje of 11, bijna 21,5MB aan .pcap bestand. Is dit teveel? (Ik werk via de port mirroring optie)
En in het tcpdump log bestand staat geen error, maar eventueel ook geen verwijzing naar het mac adres.

Zo ja, wat gaat er mis met het filter? Moet het tussen haakjes? Zou het src moeten zijn ipv host?
Ik heb het gisteren doorgevoerd, waarmee ik dacht dat de wijziging vandaag werken, ivm de herstart vannacht.

Acties:
  • 0 Henk 'm!
djjvb schreef op zaterdag 6 april 2019 @ 11:55:
Inmiddels is de installatie van de panelen geslaagd en draait. Nog even een klein vraagje, nav Mac filter.

Heb het volgende bij het stukje staan uit de se-logger-service.sh:

# SETTINGS
INTERFACE=eth0
FILTER=tcp and ether host 00:XX:XX:XX:XX:XX
CAPTDIR=/opt/se-logger/
PREFIX=solaredge-

Uiteraard met het Mac adres van de omvormer. Alleen heb ik na de herstart tot nu... zeg dus een uurtje of 11, bijna 21,5MB aan .pcap bestand. Is dit teveel? (Ik werk via de port mirroring optie)
En in het tcpdump log bestand staat geen error, maar eventueel ook geen verwijzing naar het mac adres.

Zo ja, wat gaat er mis met het filter? Moet het tussen haakjes? Zou het src moeten zijn ipv host?
Ik heb het gisteren doorgevoerd, waarmee ik dacht dat de wijziging vandaag werken, ivm de herstart vannacht.
Probeer het zo:
Bash:
1
2
3
4
5
# SETTINGS
INTERFACE=eth0
FILTER="tcp and ether host 00:XX:XX:XX:XX:XX"
CAPTDIR=/opt/se-logger/
PREFIX=solaredge-

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@Jerrythafast ,
Er zit volgens mij een klein foutje in se-logger-service.sh. Deze regel geeft een foutmelding als ik het bash bestand van de commandline draai:
code:
1
while [ `date -u +%Y` == "1970" ]
foutmelding:
code:
1
filter-test-se-logger.sh: 35: [: 2019: unexpected operator
. Deze versie geeft geen foutmelding en werkt:
code:
1
while [ `date -u +%Y` -eq "1970" ]

Jos

Acties:
  • 0 Henk 'm!
jvdzande schreef op zaterdag 6 april 2019 @ 14:47:
@Jerrythafast ,
Er zit volgens mij een klein foutje in se-logger-service.sh. Deze regel geeft een foutmelding als ik het bash bestand van de commandline draai:
code:
1
while [ `date -u +%Y` == "1970" ]
foutmelding:
code:
1
filter-test-se-logger.sh: 35: [: 2019: unexpected operator
. Deze versie geeft geen foutmelding en werkt:
code:
1
while [ `date -u +%Y` -eq "1970" ]

Jos
Het lijkt erop dat het script niet met Bash maar met Sh wordt gedraaid, dan krijg je die error. Jouw oplossing is inderdaad een correcte en Bash-compatible remedie.

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Het lijkt erop dat het script niet met Bash maar met Sh wordt gedraaid, dan krijg je die error.
Ah ja, dat had ik even moeten controleren maar was automatisch met sh aan het testen. :)

Jos

Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
@andrerij @jvdzande Ik heb vandaag 4 panalen bij geplaatst op de Garage. Nu werkt de historische functie niet meer, de kalender laat alleen de waarde van vandaag zien.

De data staat nog wel in de DB zie ik via een andere SE website. Hebben jullie zin hier eens naar te kijken? Zou het te maken kunnen hebben met de nieuwe functie waarbij hij zelf bepaald tot hoever de site terug kan kijken?

Er zijn ook 4 nieuwe optimizers bij gekomen vandaag...dan zou hij de oudste waarde van het moment van optimizers toevoegen moeten selecteren. Het lijkt nu de meest recente (datum) waarde te zijn?

[ Voor 13% gewijzigd door stormfly op 06-04-2019 21:58 ]


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@stormfly , stuur me even je aangepaste bestanden, dan kijk ik even. Ik heb jouw site nog staan en heb nog toegang. ;)

Ik heb even een dump van je sqldatabase nodig want denk dat dit stukje code in zonnepanelen.php niet goed gaat als ik het goed begrijp:
code:
1
2
3
4
5
        $mysqli = new mysqli($host, $user, $passwd, $db, $port);
        $query = sprintf("SELECT `timestamp` FROM `telemetry_optimizers` LIMIT 1");
        $result = $mysqli->query($query);
        $row = mysqli_fetch_assoc($result);
        $begin = gmdate("Y-m-d",$row['timestamp']);

Jos

[ Voor 63% gewijzigd door jvdzande op 06-04-2019 23:11 ]


Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
jvdzande schreef op zaterdag 6 april 2019 @ 23:04:
@stormfly , stuur me even je aangepaste bestanden, dan kijk ik even. Ik heb jouw site nog staan en heb nog toegang. ;)

Ik heb even een dump van je sqldatabase nodig want denk dat dit stukje code in zonnepanelen.php niet goed gaat als ik het goed begrijp:
code:
1
2
3
4
5
        $mysqli = new mysqli($host, $user, $passwd, $db, $port);
        $query = sprintf("SELECT `timestamp` FROM `telemetry_optimizers` LIMIT 1");
        $result = $mysqli->query($query);
        $row = mysqli_fetch_assoc($result);
        $begin = gmdate("Y-m-d",$row['timestamp']);

Jos
Ha Jos dank voor je inzet, ik heb de gevraagde zaken naar je toe gestuurd per email. De site is jouw site, daar zitten geen extra specifieke aanpassingen in.

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@andrerij ,
Als je deze regel:
code:
1
 $query = sprintf("SELECT `timestamp` FROM `telemetry_optimizers` LIMIT 1");
veranderd naar
code:
1
 $query = "SELECT `timestamp` FROM `telemetry_optimizers` ORDER BY timestamp LIMIT 1";
dan wordt het probleem van @stormfly gefixed.
De issue is dat de tabel als primaire index op-id heeft wat er in dit geval voor zorgt dat de verkeerde datum wordt gevonden omdat een van de nieuwe optimizers het laagste nummer heeft.

Jos

Acties:
  • 0 Henk 'm!

  • andrerij
  • Registratie: April 2017
  • Laatst online: 17-09 12:47
jvdzande schreef op zondag 7 april 2019 @ 17:59:
@andrerij ,
Als je deze regel:
code:
1
 $query = sprintf("SELECT `timestamp` FROM `telemetry_optimizers` LIMIT 1");
veranderd naar
code:
1
 $query = "SELECT `timestamp` FROM `telemetry_optimizers` ORDER BY timestamp LIMIT 1";
dan wordt het probleem van @stormfly gefixed.
De issue is dat de tabel als primaire index op-id heeft wat er in dit geval voor zorgt dat de verkeerde datum wordt gevonden omdat een van de nieuwe optimizers het laagste nummer heeft.

Jos
Ik heb het aangepast en tevens de aanpassingen van mirakels verwerkt.

André

De laatste versie kan gedownload worden van GitHub.

[ Voor 6% gewijzigd door andrerij op 24-04-2019 21:46 ]


Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
jvdzande schreef op zondag 7 april 2019 @ 17:59:
@andrerij ,
Als je deze regel:
code:
1
 $query = sprintf("SELECT `timestamp` FROM `telemetry_optimizers` LIMIT 1");
veranderd naar
code:
1
 $query = "SELECT `timestamp` FROM `telemetry_optimizers` ORDER BY timestamp LIMIT 1";
dan wordt het probleem van @stormfly gefixed.
De issue is dat de tabel als primaire index op-id heeft wat er in dit geval voor zorgt dat de verkeerde datum wordt gevonden omdat een van de nieuwe optimizers het laagste nummer heeft.

Jos
Tnx voor jullie tijd @andrerij en @jvdzande Het ziet er inderdaad beter uit nu! Nog een nieuw schoonheidsfoutje gemeld aan Jos over de email, ook in relatie tot het toevoegen van de nieuwe panelen.

Acties:
  • 0 Henk 'm!
Waarom zo moeilijk? ;)
MySQL:
1
SELECT MIN(timestamp) FROM telemetry_optimizers;


Het is zelfs voor MySQL nog makkelijker ook. De SELECT met ORDER BY en LIMIT 1 gebruikt de index, dat is over het algemeen het hoogst haalbare. Maar de optie met MIN() is zowaar nog eenvoudiger:
mysql> EXPLAIN SELECT timestamp FROM telemetry_optimizers ORDER BY timestamp LIMIT 1;
+----+-------------+----------------------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
| id | select_type | table                | partitions | type  | possible_keys | key     | key_len | ref  | rows | filtered | Extra       |
+----+-------------+----------------------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | telemetry_optimizers | NULL       | index | NULL          | PRIMARY | 8       | NULL |    1 |   100.00 | Using index |
+----+-------------+----------------------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
1 row in set, 1 warning (0.01 sec)

mysql> EXPLAIN SELECT MIN(timestamp) FROM telemetry_optimizers;
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+------------------------------+
| id | select_type | table | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra                        |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+------------------------------+
|  1 | SIMPLE      | NULL  | NULL       | NULL | NULL          | NULL | NULL    | NULL | NULL |     NULL | Select tables optimized away |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+------------------------------+
1 row in set, 1 warning (0.01 sec)

[ Voor 94% gewijzigd door Jerrythafast op 07-04-2019 21:16 ]


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Ik had verwacht dat de MIN() alle records moet lezen waar het andere request de index gebruikt en alleen maar 1 record leest.... maar jouw versie is wel lekker simpel. :)

live-server-data-zon.php heeft trouwens dezelfde statement, dus is ook fout. Dat is @stormfly zijn andere probleem. Ik zal de aanpassing in github maken.

Jos

Acties:
  • 0 Henk 'm!
Dat hij zelfs de index niet meer nodig heeft had ik ook niet verwacht. Uiteraard moet hij voor MIN() op een kolom zónder index wel een complete scan doen van de tabel, maar dat geldt dan evengoed voor ORDER BY.

Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
jvdzande schreef op zondag 7 april 2019 @ 21:21:
Ik had verwacht dat de MIN() alle records moet lezen waar het andere request de index gebruikt en alleen maar 1 record leest.... maar jouw versie is wel lekker simpel. :)

live-server-data-zon.php heeft trouwens dezelfde statement, dus is ook fout. Dat is @stormfly zijn andere probleem. Ik zal de aanpassing in github maken.

Jos
Het ziet er goed uit @jvdzande @andrerij Nieuwe panelen zijn nu gewoon donker in de historie. Zouden jullie nog naar een macOS bug kunnen kijken?

De maan is geïnverteerdd op safari maar ook de tekst naast de maan is niet de waarheid. Dit is denk ik wel na te bootsen met het wijzigen van je useragent? Is dat op te lossen voor de mac gebruikers onder ons? (me)

Afbeeldingslocatie: https://static.afbeeldinguploaden.nl/1904/543290/Mrox9qFS.png
Windows de waarheid (screenshot via RDP is niet super scherp.

Afbeeldingslocatie: https://static.afbeeldinguploaden.nl/1904/543291/LPA0Gi8j.png
MacOS afwijkend


Afbeeldingslocatie: https://static.afbeeldinguploaden.nl/1904/543285/9C845zya.png

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
We hebben de zonnepanelen-electra in de originele GitHub beschikbaar gemaakt, dus bestaat mijn versie niet meer: https://github.com/amrij/zonnepanelen/tree/domoticz
EDIT: nu beschikbaar in de https://github.com/amrij/zonnepanelen/
stormfly schreef op maandag 8 april 2019 @ 07:52:
[...]Zouden jullie nog naar een macOS bug kunnen kijken?
De maan is geïnverteerdd op safari maar ook de tekst naast de maan is niet de waarheid. Dit is denk ik wel na te bootsen met het wijzigen van je useragent? Is dat op te lossen voor de mac gebruikers onder ons? (me)
Ik geen optie dit te testen, dus hopelijk kan iemand in de browser in debug mode kijken wat er precies gebeurd in de function zonmaan().

Jos

[ Voor 4% gewijzigd door jvdzande op 14-04-2019 22:45 ]


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@stormfly , Kan het zijn dat het alleen een probleem is voor vandaag en dat de maanstand goed is wanneer je teruggaat in de tijd?

Jos

Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
jvdzande schreef op maandag 8 april 2019 @ 11:24:
@stormfly , Kan het zijn dat het alleen een probleem is voor vandaag en dat de maanstand goed is wanneer je teruggaat in de tijd?

Jos
Jos ik krijg het ook niet gesimuleerd vanuit Chrome (met UserAgent beinvloeding) ik zal het vanavond even testen op de Mac.

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
stormfly schreef op maandag 8 april 2019 @ 07:52:
[...]
Het ziet er goed uit @jvdzande @andrerij Nieuwe panelen zijn nu gewoon donker in de historie. Zouden jullie nog naar een macOS bug kunnen kijken?

De maan is geïnverteerdd op safari maar ook de tekst naast de maan is niet de waarheid. Dit is denk ik wel na te bootsen met het wijzigen van je useragent? Is dat op te lossen voor de mac gebruikers onder ons? (me)
@andrerij , Het lijkt erop dat deze regels het probleem veroorzaken bij een MAC want als ik ze comment gaat het goed bij @stormfly. Waarschijnlijk geeft die browser een ander formaat terug, maar zie jij enig probleem deze regels weg te halen in zonnepanelen.php line 590:?[code] if (datum1 < tomorrow) {
datumz = Date();
}{/code]

Jos

Acties:
  • 0 Henk 'm!

  • Nelus82
  • Registratie: April 2014
  • Laatst online: 16-09 19:31
Ik heb mijn bedrade logger vervangen voor een wifi logger zonder problemen (bij de installatie).

Wanneer ik nu de gegevens bekijk bij PVoutput zie ik dat de power, temperatuur en voltage wel veranderd, maar de gegevens die berekend moeten worden staan allemaal op 0. Komt dit omdat de database helemaal leeg is en wordt dit automatisch weer aangevuld bij een nieuwe dag?

Afbeeldingslocatie: https://tweakers.net/ext/f/OC247n64B20DnBesdROHUuwm/thumb.png

Acties:
  • 0 Henk 'm!

  • andrerij
  • Registratie: April 2017
  • Laatst online: 17-09 12:47
jvdzande schreef op dinsdag 9 april 2019 @ 14:08:
[...]

@andrerij , Het lijkt erop dat deze regels het probleem veroorzaken bij een MAC want als ik ze comment gaat het goed bij @stormfly. Waarschijnlijk geeft die browser een ander formaat terug, maar zie jij enig probleem deze regels weg te halen in zonnepanelen.php line 590:?[code] if (datum1 < tomorrow) {
datumz = Date();
}{/code]

Jos
Indien ik de regels weglaat dan krijg ik:
Afbeeldingslocatie: https://tweakers.net/ext/f/W8CmiTqLAXksVJghWUbfIy1h/full.jpg

maar het moet zijn:
Afbeeldingslocatie: https://tweakers.net/ext/f/wPyj9bbHsHvNaONhjUf5FJSY/full.jpg

@stormfly kun je de code veranderen in:
code:
1
2
3
        if (datum1 < tomorrow) {
            datumz = '<?php (new DateTime(sprintf("today %s",date("Y-m-d H:i:s", time()))))->getTimestamp(); ?>';
        }


André

Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
andrerij schreef op dinsdag 9 april 2019 @ 15:43:
[...]

Indien ik de regels weglaat dan krijg ik:
[Afbeelding]

maar het moet zijn:
[Afbeelding]

@stormfly kun je de code veranderen in:
code:
1
2
3
        if (datum1 < tomorrow) {
            datumz = '<?php (new DateTime(sprintf("today %s",date("Y-m-d H:i:s", time()))))->getTimestamp(); ?>';
        }



André
Hoi André het blijft op 13% staan met de nieuwe code. Zowel windows als MacOS.

Acties:
  • 0 Henk 'm!

  • Gadgets
  • Registratie: Juni 2006
  • Laatst online: 17-09 21:21
Ik heb nu een tweede set panelen en een tweede omvormer. Nu heb ik 2 sites in de Solaredge app. Ik zou graag één site hebben met twee omvormers. Mijn installateur weet niet hoe dit moet. Ik heb zijn inlog en als iemand me kan vertellen hoe het moet kan ik het aanpassen. Iemand die dit weet?

Acties:
  • 0 Henk 'm!

  • andrerij
  • Registratie: April 2017
  • Laatst online: 17-09 12:47
stormfly schreef op dinsdag 9 april 2019 @ 20:56:
[...]


Hoi André het blijft op 13% staan met de nieuwe code. Zowel windows als MacOS.
Dat het in Windows op 13% blijft staan is vreemd. Bij mij werkt dit wel.
Kun je me de aanpassing toesturen om te controleren of het juist is aangepast?

André

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@andrerij ,
Als ik dat statement gebruikt ziet code in browser debug er als volgt uit:
code:
1
2
3
4
        if (datum1 < tomorrow) {
            //datumz = Date();
            datumz = '';
        }
...dus denk dat je dit bedoelde: '<?php echo (new DateTime..... ? maar dan werkt het niet want krijg je een timestamp.

Maar het lijkt erop dat deze oplossing wel werkt omdat het de eindtijd van de dag door geeft ipv 00:00:00
code:
1
2
3
4
5
6
        var inv4Data = $.ajax({
            url: "maanfase.php",
            dataType: "json",
            type: 'GET',
            data: { "date" : (datumz.replace("00:00:00", "23:59:00")) },
            async: false,
en die "if ()" weer verwijderd.
Zo denk ik dat ook de stand van de vorige dagen goed wordt weergegeven.

Jos

[ Voor 3% gewijzigd door jvdzande op 09-04-2019 23:19 ]


Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
andrerij schreef op dinsdag 9 april 2019 @ 22:46:
[...]


Dat het in Windows op 13% blijft staan is vreemd. Bij mij werkt dit wel.
Kun je me de aanpassing toesturen om te controleren of het juist is aangepast?

André
Andre ik denk dat ik een accolade verkeerd staan, windows is nu naar 20% verschoven en macOS blijft op 17%.

Hieroder de code welke volgens mij goed moet zijn qua haken.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function zonmaan(){
        if (date2 >= date3){
            document.getElementById("NextDay").disabled = true;
        }else{
            document.getElementById("NextDay").disabled = false;
        }
        if (date2 <= "2016-01-01"){
            document.getElementById("PrevDay").disabled = true;
        }
        if (datum1 < tomorrow) {
            datumz = '<?php (new DateTime(sprintf("today %s",date("Y-m-d H:i:s", time()))))->getTimestamp(); ?>';
        }
        var inv4Data = $.ajax({
            url: "maanfase.php",
            dataType: "json",
            type: 'GET',
            data: { "date" : datumz },
            async: false,
        }).responseText;

Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
jvdzande schreef op dinsdag 9 april 2019 @ 23:13:
@andrerij ,
Als ik dat statement gebruikt ziet code in browser debug er als volgt uit:
code:
1
2
3
4
        if (datum1 < tomorrow) {
            //datumz = Date();
            datumz = '';
        }
...dus denk dat je dit bedoelde: '<?php echo (new DateTime..... ? maar dan werkt het niet want krijg je een timestamp.

Maar het lijkt erop dat deze oplossing wel werkt omdat het de eindtijd van de dag door geeft ipv 00:00:00
code:
1
2
3
4
5
6
        var inv4Data = $.ajax({
            url: "maanfase.php",
            dataType: "json",
            type: 'GET',
            data: { "date" : (datumz.replace("00:00:00", "23:59:00")) },
            async: false,
en die "if ()" weer verwijderd.
Zo denk ik dat ook de stand van de vorige dagen goed wordt weergegeven.

Jos
Jos ik heb e.a. samengevoegd, was dat jouw intentie? Het e.a. loopt ook tegen een caching issue aan, het gedrag is anders als ik het in een nieuwe TAB open in Safari. Laat ik dit even aan kijken, het lijkt met een nieuwe TAB nu goed te gaan.

@jvdzande @andrerij er is een speciale php opmaak voor codeblokken, "code" vervangen door "php" en de functies worden beter leesbaar afgebeeld hier op GoT.

PHP:
1
2
3
4
5
6
7
8
9
10
        if (datum1 < tomorrow) {
            //datumz = Date();
            datumz = '';
        }
        var inv4Data = $.ajax({
            url: "maanfase.php",
            dataType: "json",
            type: 'GET',
            data: { "date" : (datumz.replace("00:00:00", "23:59:00")) },
            async: false,

Acties:
  • 0 Henk 'm!
Houden jullie er rekening mee dat PHP server-side draait en JavaScript client-side? Zo te zien zijn jullie nu een PHP date in een stukje JavaScript aan het hacken. Afhankelijk van hoe je beide hebt geconfigureerd gaat dat op zijn muil als iemand in een andere tijdzone zit dan de server. Dit gaat alleen lekker werken met unix timestamps of wanneer alles in UTC gebeurt.

[ Voor 12% gewijzigd door Jerrythafast op 10-04-2019 08:07 ]


Acties:
  • 0 Henk 'm!

  • andrerij
  • Registratie: April 2017
  • Laatst online: 17-09 12:47
stormfly schreef op woensdag 10 april 2019 @ 07:37:
[...]


Jos ik heb e.a. samengevoegd, was dat jouw intentie? Het e.a. loopt ook tegen een caching issue aan, het gedrag is anders als ik het in een nieuwe TAB open in Safari. Laat ik dit even aan kijken, het lijkt met een nieuwe TAB nu goed te gaan.

@jvdzande @andrerij er is een speciale php opmaak voor codeblokken, "code" vervangen door "php" en de functies worden beter leesbaar afgebeeld hier op GoT.

PHP:
1
2
3
4
5
6
7
8
9
10
        if (datum1 < tomorrow) {
            //datumz = Date();
            datumz = '';
        }
        var inv4Data = $.ajax({
            url: "maanfase.php",
            dataType: "json",
            type: 'GET',
            data: { "date" : (datumz.replace("00:00:00", "23:59:00")) },
            async: false,
De onderstaande oplossing werkt bij mij ook.
code:
1
2
3
        if (datum1 < tomorrow) {
            datumz = '<?php echo date("d-m-Y H:i:s",time()); ?>';
        }


De functie moet de actuele tijd krijgen.
In de door jullie voorgestelde oplossing krijg je niet de actuele stand.

André

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Die werkt inderdaad ook op mijn iPad, maar zoals @Jerrythafast al aangaf is dit een serverside stukje code die dus niet update tenzij je een refresh doet. De auto update in js zal dus niets uithalen.

Jos

Acties:
  • 0 Henk 'm!

  • andrerij
  • Registratie: April 2017
  • Laatst online: 17-09 12:47
jvdzande schreef op woensdag 10 april 2019 @ 10:09:
Die werkt inderdaad ook op mijn iPad, maar zoals @Jerrythafast al aangaf is dit een serverside stukje code die dus niet update tenzij je een refresh doet. De auto update in js zal dus niets uithalen.

Jos
Jos
Kun je het volgende ook proberen?
code:
1
2
3
        if (datum1 < tomorrow) {
            datumz = Date("yyyy-MM-dd HH:mm:ss");
        }


André

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
andrerij schreef op woensdag 10 april 2019 @ 11:06:
[...]

Jos
Kun je het volgende ook proberen?
code:
1
2
3
        if (datum1 < tomorrow) {
            datumz = Date("yyyy-MM-dd HH:mm:ss");
        }


André
Dan ben je weer terug bij af. Cut&Paste van Chrome Debugger:
code:
1
2
3
4
        if (datum1 < tomorrow) {
            datumz = Date("yyyy-MM-dd HH:mm:ss");
        }
        var curdate = datumz;   [i]curdate = "Wed Apr 10 2019 11:55:52 GMT+0200 (Midden-Europese zomertijd)"[/i]

Hij neemt dus niet het format wat jij opgeeft. maar hetzelfde format als met Date().

Jos

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Misschien is dit een goede oplossing. het vervangt de tijd in datumz en zal dus voor alle geselecteerde data's de maanstand laten zijn voor de huidige tijd:
code:
1
2
3
4
5
6
7
8
9
        var curtime = new Date();
        var curdate = datumz.replace("00:00:00", `${curtime.getHours()}:${curtime.getMinutes()}:${curtime.getSeconds()}`);
        var inv4Data = $.ajax({
            url: "maanfase.php",
            dataType: "json",
            type: 'GET',
            data: { "date" : curdate },
            async: false,
        }).responseText;

Jos

Acties:
  • 0 Henk 'm!

  • Kecin
  • Registratie: Juli 2004
  • Niet online

Kecin

Je keek.

Ik zie de codes voor Domoticz steeds voorbij komen. Het valt me op dat iedereen een P1 kabel gebruikt, of is dat niet noodzakelijk? Ik heb er (nog) geen. En welke is aan te raden bij dit script?
Zelf zou ik het liefst Domoticz draaien op mijn ESXI server, deze staat echter niet in de meterkast. Iemand een handig idee om de data van P1 op het netwerk te krijgen :)?

I am not a number, I am a free man! Geld over? Check m'n V&A


Acties:
  • +1 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Kecin schreef op woensdag 10 april 2019 @ 16:26:
Ik zie de codes voor Domoticz steeds voorbij komen. Het valt me op dat iedereen een P1 kabel gebruikt, of is dat niet noodzakelijk? Ik heb er (nog) geen. En welke is aan te raden bij dit script?
Zelf zou ik het liefst Domoticz draaien op mijn ESXI server, deze staat echter niet in de meterkast. Iemand een handig idee om de data van P1 op het netwerk te krijgen :)?
Ik gebruik deze setup in de Meterkast: http://www.esp8266thingies.nl/wp/
Het is een Wemos ESP8266 met een speciale pcb om aan de P1-meter aan te sluiten en in Domoticz is die geconfigureerd als "P1-WiFi-Gateway", maar de code die beschikbaar is gemaakt werkt met Domoticz/DSMR en ook een extra tabel in de SolarEdge SQL database die je dan natuurlijk wel zelf even moet vullen.

Jos

Acties:
  • 0 Henk 'm!

  • Kecin
  • Registratie: Juli 2004
  • Niet online

Kecin

Je keek.

jvdzande schreef op woensdag 10 april 2019 @ 16:32:
[...]

Ik gebruik deze setup in de Meterkast: http://www.esp8266thingies.nl/wp/
Het is een Wemos ESP8266 met een speciale pcb om aan de P1-meter aan te sluiten en in Domoticz is die geconfigureerd als "P1-WiFi-Gateway", maar de code die beschikbaar is gemaakt werkt met Domoticz/DSMR en ook een extra tabel in de SolarEdge SQL database die je dan natuurlijk wel zelf even moet vullen.

Jos
Duidelijk verhaal! Ik zie daar ook de mogelijkheid om te bestellen, helemaal mooi. Ik denk dat ik dat nog even ga doen. Eigenlijk jammer dat die alleen wifi doet, had graag een RJ45 (met POE helemaal fantastisch) variant gezien :).
Mocht je de eigenaar zijn van de site, wil je me dan een PB sturen?

De SolarEdge DB is dan een ander verhaal, maar het lijkt me dat die 2 wel te koppelen zijn :). In iedergeval als device. Zou een leuke extra zijn naast PVOutput.

[ Voor 5% gewijzigd door Kecin op 10-04-2019 16:38 ]

I am not a number, I am a free man! Geld over? Check m'n V&A


Acties:
  • 0 Henk 'm!

  • andrerij
  • Registratie: April 2017
  • Laatst online: 17-09 12:47
jvdzande schreef op woensdag 10 april 2019 @ 16:24:
Misschien is dit een goede oplossing. het vervangt de tijd in datumz en zal dus voor alle geselecteerde data's de maanstand laten zijn voor de huidige tijd:
code:
1
2
3
4
5
6
7
8
9
        var curtime = new Date();
        var curdate = datumz.replace("00:00:00", `${curtime.getHours()}:${curtime.getMinutes()}:${curtime.getSeconds()}`);
        var inv4Data = $.ajax({
            url: "maanfase.php",
            dataType: "json",
            type: 'GET',
            data: { "date" : curdate },
            async: false,
        }).responseText;

Jos
Het is uiteindelijk toch makkelijker dan gedacht.
de code:
code:
1
2
3
        if (datum1 < tomorrow) {
            datumz = "";
        }

werkt ook omdat dan in maanfase.php de actuele tijd wordt gebruikt.

André

Acties:
  • +1 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Kecin schreef op woensdag 10 april 2019 @ 16:37:
[...]
De SolarEdge DB is dan een ander verhaal, maar het lijkt me dat die 2 wel te koppelen zijn :). In iedergeval als device. Zou een leuke extra zijn naast PVOutput.
Ik weet niet of ik je begrijp. Je hebt met de huidige beschikbare scripts de keuze om de P1_Meter informatie uit een van deze opties te halen op dit moment: Domoticz of DSMR of extra tabel in SolarEdge QSL DB. Als je een andere bron zou willen gebruiken dan zal je zelf een extra script moeten maken.

Dus als je zowel Domoticz als DSMR nog niet hebt, kan je ook gewoon een optie als diegene die ik gebruik aansluiten op je P1_Meter en dmv een script de gegevens ophalen en in de aparte tabel zetten.

opties...keuzes .... altijd lastig wat nu weer de juiste is ;)

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
andrerij schreef op woensdag 10 april 2019 @ 16:45:
[...]

Het is uiteindelijk toch makkelijker dan gedacht.
de code:
code:
1
2
3
        if (datum1 < tomorrow) {
            datumz = "";
        }

werkt ook omdat dan in maanfase.php de actuele tijd wordt gebruikt.

André
Correct, met als enige "nadeel" dat het 00:00:00 als tijd gebruikt voor de "vorige" dagen en gaat de maanstand wel een grote stap terug.... maar is wat mij betreft ook prima want vind het niet het meest belangrijke onderdeel. :-)

PS: Ik gebruik datumz ook bij het ophalen van de P1 info dus will die eigenlijk niet aanpassen.

Jos

[ Voor 8% gewijzigd door jvdzande op 10-04-2019 16:50 ]


Acties:
  • 0 Henk 'm!

  • andrerij
  • Registratie: April 2017
  • Laatst online: 17-09 12:47
jvdzande schreef op woensdag 10 april 2019 @ 16:49:
[...]

Correct, met als enige "nadeel" dat het 00:00:00 als tijd gebruikt voor de "vorige" dagen en gaat de maanstand wel een grote stap terug.... maar is wat mij betreft ook prima want vind het niet het meest belangrijke onderdeel. :-)

PS: Ik gebruik datumz ook bij het ophalen van de P1 info dus will die eigenlijk niet aanpassen.

Jos
Jos,

Indien je niet de beginstand van de "vorige" dagen wil hebben maar de eindstand dan kun je inderdaad je toevoeging
code:
1
            data: { "date" : (datumz.replace("00:00:00", "23:59:00")) },

gebruiken of elke tussenliggende tijd.

André.

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
andrerij schreef op woensdag 10 april 2019 @ 17:10:
[...]
Indien je niet de beginstand van de "vorige" dagen wil hebben maar de eindstand dan kun je inderdaad je toevoeging
code:
1
            data: { "date" : (datumz.replace("00:00:00", "23:59:00")) },

gebruiken of elke tussenliggende tijd.
Die regel gaat niet want dan is "vandaag" weer verkeerd. ;)
Ik vind deze wel een mooie oplossing:
code:
1
            data: { "date" : datumz.replace("00:00:00", `${(new Date()).getHours()}:00:00`) },
Die geeft de maanstand voor de geselecteerde dag op het huidige hele uur. Mooi toch? 8)

Jos

Acties:
  • 0 Henk 'm!

  • Kecin
  • Registratie: Juli 2004
  • Niet online

Kecin

Je keek.

jvdzande schreef op woensdag 10 april 2019 @ 16:45:
[...]
Ik weet niet of ik je begrijp. Je hebt met de huidige beschikbare scripts de keuze om de P1_Meter informatie uit een van deze opties te halen op dit moment: Domoticz of DSMR of extra tabel in SolarEdge QSL DB. Als je een andere bron zou willen gebruiken dan zal je zelf een extra script moeten maken.

Dus als je zowel Domoticz als DSMR nog niet hebt, kan je ook gewoon een optie als diegene die ik gebruik aansluiten op je P1_Meter en dmv een script de gegevens ophalen en in de aparte tabel zetten.

opties...keuzes .... altijd lastig wat nu weer de juiste is ;)
Maar stel; ik bestel het apparaat uit jouw link, dan kan ik gemakkelijk dit in Domoticz toevoegen als P1 verbruik (stroom + gas). Vervolgens kan ik via een ander script mijn Solaredge info ophalen en uiteindelijk 2 grafieken samenvoegen? Of kijk ik dan te kort door de bocht? :D

I am not a number, I am a free man! Geld over? Check m'n V&A


Acties:
  • +1 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Kecin schreef op woensdag 10 april 2019 @ 18:56:
[...]

Maar stel; ik bestel het apparaat uit jouw link, dan kan ik gemakkelijk dit in Domoticz toevoegen als P1 verbruik (stroom + gas). Vervolgens kan ik via een ander script mijn Solaredge info ophalen en uiteindelijk 2 grafieken samenvoegen? Of kijk ik dan te kort door de bocht? :D
Dit is correct..... Met die oplossing heb je een microcomputer die de data in Domoticz kan dumpen, maar je kan het ook in andere systemen dumpen. ESPEasy, de software die gebruikt wordt, is een algemeen beschikbaar en heeft ook een webinterface waar je de data gewoon kan ophalen om op een andere manier te verwerken. Als je Domoticz al hebt wordt het heel eenvoudig, want dan is het koppelen eenvoudig en de zonnepanelen-electra.php heeft standaard support ingebouwd voor een Domoticz P1-meter Device, om daar de gegevens op te halen nodig voor de grafieken en data.

Jos

Acties:
  • 0 Henk 'm!

  • emzed
  • Registratie: Juli 2000
  • Laatst online: 17-09 16:58

emzed

*

Ik krijg de monitoringsite niet aan de praat. Volgens mij heb ik de config.php goed staan, maar krijg een leeg scherm in de monitor:
Afbeeldingslocatie: https://i.imgur.com/Crcfqpu.png


code:
1
2
3
4
5
6
 // gegevens voor het openen van de database
$host = '192.168.0.60'; // IP adres waar de database staat (standaard localhost of 127.0.0.1)
$port = '3306'; // poort database (standaard 3306)
$user = 'pi'; // gebruiker
$passwd = '************'; // paswoord gebruiker
$db = 'solaredge'; // database naam

Het password van de db is wel correct, ik heb dit gecheckt door met die user een paar MySQL statements uit te voeren op de command line.

en dan verderop staat dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// gegevens van het zonnepanelensysteem
$inverter = 1; // 1 voor enkel fase en 3 voor 3 fase inverter
$naam = "SolarEdge SE3680H"; //naam van de inverter
$aantal = 11; // aantal zonnepanelen dat in database is opgenoen
$PVGtxt = "Eigen";                                           // Tekst waar de schatting vandaan komt bv: "PVGis"
$PVGis = [93,123,278,401,432,401,401,339,278,216,93,62];  // schatting opbrengst iedere maand voor de installatie
// optimizer id en positie paneel, de richting van de panelen Vertikaal = 0, Horizontaal = 1
// het serienummer en het vermogen van het paneel
//$op_id[id optimizer][inverter.string.paneelnummer][richting][id paneel][vermogen paneel]
$op_id[1] = ['13C8A55F', '1.1.1',1,'1D',315];
$op_id[2] = ['13C9323B', '1.1.2',1,'27',315];
$op_id[3] = ['13C76CD5', '1.1.3',1,'39',315];
$op_id[4] = ['13C73D63', '1.1.4',1,'B8',315];
$op_id[5] = ['13C8D310', '1.1.5',1,'BD',315];
$op_id[6] = ['13C904E6', '1.1.6',1,'B4',315];
$op_id[7] = ['13C87FAD', '1.1.7',1,'8D',315];
$op_id[8] = ['13C76ED5', '1.1.8',1,'0B',315];
$op_id[9] = ['13C77A3A', '1.1.9',1,'EC',315];
$op_id[10] = ['13C76F8F', '1.1.10',1,'D3',315];
$op_id[11] = ['13C8E939', '1.1.11',1,'FA',315];
$op_id[12] = ['0', '1.1.12',1,'a'];
$op_id[13] = ['0', '1.1.13',1,'a'];

etc....

De codes 11C8E55F 1D ... komen van de 2D stickers van de optimizers.

Aan zonnepanelen.css heb ik nog niet veel veranderd. Want ik ga ervanuit dat als die niet goed staat, er gewoon een niet kloppend plaatje staat van mijn layout. Maar nu heb ik helemaal niets.

Wat kan er mis zijn?

Acties:
  • +1 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@emzed ,
Je kunt even in Chrome Debug mode gaan door F12 te doen en dan kijken of er fout meldingen staan in de Console tab.
Om SQL te checken kan je even deze url openen: zonnepanelen/live-server-data-zon.php en kijken waar hij mee terug komt.

Jos

[ Voor 3% gewijzigd door jvdzande op 11-04-2019 20:58 ]


Acties:
  • 0 Henk 'm!

  • emzed
  • Registratie: Juli 2000
  • Laatst online: 17-09 16:58

emzed

*

@jvdzande zonnepanelen/live-server-data-zon.php komt terug met een leeg scherm.

Ik gebruik Chrome inderdaad. F12 debugging geeft inderdaad een melding:

code:
1
2
3
4
5
6
7
8
9
Uncaught TypeError: Cannot read property '0' of undefined
    at paneel (zonnepanelen.php:445)
    at drawChart (zonnepanelen.php:274)
    at Object.google.a.c.xc (loader.js:152)
    at Object.google.a.c.Oa (loader.js:152)
    at f (loader.js:149)
    at Object.google.l.m.kj (loader.js:229)
    at Object.google.l.m.ce (loader.js:229)
    at loader.js:228

Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Je hebt dus een probleem met het ophalen van de SQL data.
Kan je ook op de server waar de zonnepanelen.php script staat zelf het zonnepanelen/live-server-data-zon.php script draaien om te zien wat de foutmeldingen zijn op de server?

Jos

Acties:
  • 0 Henk 'm!

  • emzed
  • Registratie: Juli 2000
  • Laatst online: 17-09 16:58

emzed

*

Bedankt. In de browser krijg ik een volledig leeg scherm. Maar kan ik de pagina ook vanaf command line testen?

Sorry, ik heb het

pi@raspberrypi:/var/www/html/zonnepanelen $ php live-server-data-zon.php
PHP Notice:  Undefined index: date in /var/www/html/zonnepanelen/live-server-data-zon.php on line 26
PHP Warning:  mysqli::__construct(): (HY000/2002): Connection refused in /var/www/html/zonnepanelen/live-server-data                               -zon.php on line 46
PHP Warning:  mysqli::query(): Couldn't fetch mysqli in /var/www/html/zonnepanelen/live-server-data-zon.php on line                                51
PHP Warning:  mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /var/www/html/zonnepanelen                               /live-server-data-zon.php on line 52
PHP Warning:  mysqli::query(): Couldn't fetch mysqli in /var/www/html/zonnepanelen/live-server-data-zon.php on line                                77
PHP Warning:  mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /var/www/html/zonnepanelen                               /live-server-data-zon.php on line 82
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  Division by zero in /var/www/html/zonnepanelen/live-server-data-zon.php on line 109
PHP Warning:  mysqli::query(): Couldn't fetch mysqli in /var/www/html/zonnepanelen/live-server-data-zon.php on line                                128
PHP Warning:  mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /var/www/html/zonnepanelen                               /live-server-data-zon.php on line 129
PHP Warning:  mysqli::query(): Couldn't fetch mysqli in /var/www/html/zonnepanelen/live-server-data-zon.php on line                                142
PHP Warning:  mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in /var/www/html/zonnepanelen                               /live-server-data-zon.php on line 143
PHP Notice:  Undefined index:  in /var/www/html/zonnepanelen/live-server-data-zon.php on line 147
PHP Warning:  main(): Couldn't fetch mysqli in /var/www/html/zonnepanelen/live-server-data-zon.php on line 182
PHP Warning:  mysqli::kill(): Couldn't fetch mysqli in /var/www/html/zonnepanelen/live-server-data-zon.php on line 1                               83
PHP Warning:  mysqli::close(): Couldn't fetch mysqli in /var/www/html/zonnepanelen/live-server-data-zon.php on line                                184

[ Voor 93% gewijzigd door emzed op 11-04-2019 21:27 ]


Acties:
  • 0 Henk 'm!

  • emzed
  • Registratie: Juli 2000
  • Laatst online: 17-09 16:58

emzed

*

Yes hij doet het!!! :) :) :) Ik heb in config.php simpelweg het IP adres aangepast naar
code:
1
$host = 'localhost';


Prachtig @jvdzande !!!

Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
@andrerij ik heb denk ik even iets gemist, maar wat voegen de volgende zaken toe uit de config.php: [id paneel][vermogen paneel]??

Sorry haha

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • stormfly
  • Registratie: Juli 2001
  • Laatst online: 08:15
MaikelK. schreef op donderdag 11 april 2019 @ 22:42:
@andrerij ik heb denk ik even iets gemist, maar wat voegen de volgende zaken toe uit de config.php: [id paneel][vermogen paneel]??

Sorry haha
ID is het weergegeven nummer schat ik in, en het wattage wordt gebruikt om de efficiëntie (kw/wp) te berekenen als je mouse-overt.

SE kan diverse windrichtingen aan, waardoor de efficiëntie per paneel te bekijken is, maar ook voor het hele systeem door een mouse-over op de inverter.

Acties:
  • 0 Henk 'm!

  • andrerij
  • Registratie: April 2017
  • Laatst online: 17-09 12:47
MaikelK. schreef op donderdag 11 april 2019 @ 22:42:
@andrerij ik heb denk ik even iets gemist, maar wat voegen de volgende zaken toe uit de config.php: [id paneel][vermogen paneel]??

Sorry haha
Het serienummer is in dit forum gevraagd en is alleen administratief. Dit kan gevonden worden op het zonnepaneel zelf. Zie onderstaand voorbeeld.

Afbeeldingslocatie: https://tweakers.net/ext/f/xcqBzJqWnVkZjSTtvBm8ggDO/full.jpg

Het vermogen van het paneel is het opgegeven PiekWatt vermogen van het paneel.
Hiermee kan een genormaliseerde efficiëntie worden berekend.
Dit wordt weergegeven in het popup scherm van de panelen en de inverter.
Het gezamenlijke PiekWatt vermogen wordt ook bij PVOutput gebruikt om de efficiëntie van de sites te vergelijken.

André

Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
Ah id-paneel is dus serienummer! Duidelijk.

Wordt de efficiency van het hele systeem ook weer gegeven dus, dan zal ik weer eens upgraden!

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
Even een update betreft de Zonnepanelen website:
Vanaf nu zijn de domoticz branch met daarin de zonnepanelen-electra.php website en de originele Master van @andrerij samengevoegd in de Master branch op Github waardoor zaken weer allemaal bij elkaar staan op een plek.
De readme op de github pagina is aangepast en geeft aan wat te veranderen en hoe de juiste versie te kiezen.
https://github.com/amrij/zonnepanelen/tree/master

Jos

Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
Goedemorgen @jvdzande en @andrerij

Ik heb een update gedaan naar de nieuwste versie en ik zie nu het volgende op mijn telefoon, het scherm is niet vullend meer?
Afbeeldingslocatie: https://i.imgur.com/xOJ3ey4.png

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@MaikelK. , Vreemd want ik heb het nog even hier gechecked en bij mij werkt het prima.
Je hebt wel jouw versie van zonnepanelen-electra.css gemerged met de huidige MASTER branch versie?

Jos

Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
jvdzande schreef op maandag 15 april 2019 @ 11:20:
@MaikelK. , Vreemd want ik heb het nog even hier gechecked en bij mij werkt het prima.
Je hebt wel jouw versie van zonnepanelen-electra.css gemerged met de huidige MASTER branch versie?

Jos
Ik heb de hele Github opnieuw gedownload en al mijn settings overgenomen. Dus panelen etc. Enige wat ik veranderd heb is de box zonnepanelen en de zonnepanelen 1 tm 33.

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
@MaikelK. , Ik heb het gevonden en er is een update beschikbaar van zonnepanelen-electra.php in Github.
Je hoeft alleen maar dit ene bestand te kopiëren.
Jos

Acties:
  • 0 Henk 'm!

  • MaikelK.
  • Registratie: Maart 2013
  • Laatst online: 16-05 13:04
Fixed it!

Wat is die nieuwe waarde als je over de maand heen hoovert? PVGis MTD? Het was eerder een mooi vloeiende lijn en nu stopt de lijn laag en staat er recht omhoog nog een lijntje?

SolarEdge SE3500HD met 12x LG320N1K-A5 waarvan 6x ZO en 6x NW


Acties:
  • 0 Henk 'm!

  • jvdzande
  • Registratie: November 2015
  • Laatst online: 28-08 14:43
MTD staat voor Maand-"todate" en JTD voor Jaar-"todate". Dit is de waarde vanaf 1 januari t/m de geselecteerde dag. Misschien weet iemand een goeie afkorting in het Nederlands? :)

Jos

Acties:
  • 0 Henk 'm!

  • bartjeehv
  • Registratie: November 2010
  • Laatst online: 04-01-2024
Jerrythafast schreef op donderdag 4 april 2019 @ 22:05:
@Poudie Ik heb al even snel gekeken en het lijkt erop dat je gelijk hebt... Hij legt contact met prodssl.solaredge.com en daarna zit er een slot op. Lijkt erop dat ze het aloude encryptie-advies ("don't roll your own") dan nu toch eindelijk ter harte hebben genomen. De lokale webinterface gaat wel helemaal plaintext, dus ik zie een projectje aankomen om die te gaan scrapen... :D

Het leuke is dat er ook allemaal fancy-looking PowerControl functies in de lokale API lijken te zitten, dus misschien dat SolarEdge omvormers nog wel eens tweakbare objecten kunnen gaan worden >:)
Ik sluit komend weekeind ook een nieuw type omvormer aan. Heeft het dan al zin iets te monitoren? Of heeft dat geen zin en is het hopen op het kunnen uitlezen via de lokale web interface?

Ik heb (heel) weinig met scripten, maar als ik toch iets kan testen/kan helpen dan doe ik dat graag!

Acties:
  • 0 Henk 'm!

  • Poudie
  • Registratie: December 2013
  • Laatst online: 14-03 14:38
Jerrythafast schreef op donderdag 4 april 2019 @ 22:05:
@Poudie Ik heb al even snel gekeken en het lijkt erop dat je gelijk hebt... Hij legt contact met prodssl.solaredge.com en daarna zit er een slot op. Lijkt erop dat ze het aloude encryptie-advies ("don't roll your own") dan nu toch eindelijk ter harte hebben genomen. De lokale webinterface gaat wel helemaal plaintext, dus ik zie een projectje aankomen om die te gaan scrapen... :D

Het leuke is dat er ook allemaal fancy-looking PowerControl functies in de lokale API lijken te zitten, dus misschien dat SolarEdge omvormers nog wel eens tweakbare objecten kunnen gaan worden >:)
Dank voor de hulp!
De API van de omvormer zelf was ik inderdaad al aan het uitpluizen. Had al uitgevonden dat de webinterface op de omvormer zelf tegen de API praat en die levert info terug in protobuff van Google.

Gelukkig heeft er al iemand een python module geschreven die de API kan uitlezen en al wat info eruit haalt.
Ik moet deze nog even aanvullen en uitbreiden zodat de info weer in SQL komt.
Het is ook nog niet helemaal duidelijk of ik per optimizer de opbrengst kan uitlezen, maar lijkt wel iets meer in te zitten.

Aan de ene kant jammer dat ik het niet kan afvangen, anderzijds is een API wel weer ideaal natuurlijk :).

Mocht ik meer info hebben dan post ik het uiteraard!

Acties:
  • 0 Henk 'm!

  • Poudie
  • Registratie: December 2013
  • Laatst online: 14-03 14:38
bartjeehv schreef op maandag 15 april 2019 @ 23:07:
[...]


Ik sluit komend weekeind ook een nieuw type omvormer aan. Heeft het dan al zin iets te monitoren? Of heeft dat geen zin en is het hopen op het kunnen uitlezen via de lokale web interface?

Ik heb (heel) weinig met scripten, maar als ik toch iets kan testen/kan helpen dan doe ik dat graag!
Stuur me even een DM als je hulp nodig hebt. Mogelijk kunnen we iets voor elkaar betekenen.

Acties:
  • 0 Henk 'm!

  • KiefDelicious
  • Registratie: Januari 2009
  • Laatst online: 09:12
andrerij schreef op dinsdag 8 mei 2018 @ 17:07:
[...]

Hierbij de aangepaste
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
db_user = "dbuser"
db_pass = "dbpassword"
db_name = "solaredge"
db_host = "localhost"
db_port = 3306
db_host1 = "192.168.1.78"
db_port1 = 3307

.....................

class DBManager:
  def __init__(self, user, passwd, db, host ,port, retries=5):
    self.retries = retries
    while retries:
      try:
        self.conn = MySQLdb.connect(user=user, passwd=passwd, db=db, host=host, port=port)
        self.cursor = self.conn.cursor()
        retries = 0
      except MySQLdb.Error as e:
        retries -= 1
        if not retries:
          raise
        eprint("Warning: Could not connect to database: %s; retrying..." % e)
        time.sleep(1)

......................

# Connect to database and get last 0503 message.
db = DBManager(db_user, db_pass, db_name, db_host, db_port)
if db_host1 > "":
  db1 = DBManager(db_user, db_pass, db_name, db_host1, db_port1)

........................

  for hdr, msg in parser.get_messages(byteiterator):
    if hdr[6] == 0x0503:
      eprint("Setting new 0503 key")
      db.execute("UPDATE live_update SET last_0503 = %s", (msg,))
      db.commit()
      if db_host1 > "":
        db1.execute("UPDATE live_update SET last_0503 = %s", (msg,))
        db1.commit()
    if hdr[6] != 0x0500:
      continue
    updated = False
    for telem in parse0500(msg):
      if "op_id" in telem:
        db.execute(
          "INSERT IGNORE INTO telemetry_optimizers "
          "(op_id, timestamp, uptime, v_in, v_out, i_in, e_day, temperature) VALUES "
          "(%(op_id)s, %(timestamp)s, %(uptime)s, %(v_in)s, %(v_out)s, %(i_in)s, %(e_day)s, %(temperature)s)",
          telem)
        if db_host1 > "":
          db1.execute(
            "INSERT IGNORE INTO telemetry_optimizers "
            "(op_id, timestamp, uptime, v_in, v_out, i_in, e_day, temperature) VALUES "
            "(%(op_id)s, %(timestamp)s, %(uptime)s, %(v_in)s, %(v_out)s, %(i_in)s, %(e_day)s, %(temperature)s)",
            telem)
        updated = True
      elif "v_ac" in telem:
        db.execute(
          "INSERT IGNORE INTO telemetry_inverter "
          "(inv_id, timestamp, temperature, e_day, de_day, v_ac, i_ac, frequency, v_dc, e_total, i_rcd, mode, p_active, p_apparent, p_reactive) VALUES "
          "(%(inv_id)s, %(timestamp)s, %(temperature)s, %(e_day)s, %(de_day)s, %(v_ac)s, %(i_ac)s, %(frequency)s, %(v_dc)s, %(e_total)s, %(i_rcd)s, %(mode)s, %(p_active)s, %(p_apparent)s, %(p_reactive)s)",
          telem)
        if db_host1 > "":
         db1.execute(
            "INSERT IGNORE INTO telemetry_inverter "
            "(inv_id, timestamp, temperature, e_day, de_day, v_ac, i_ac, frequency, v_dc, e_total, i_rcd, mode, p_active, p_apparent, p_reactive) VALUES "
            "(%(inv_id)s, %(timestamp)s, %(temperature)s, %(e_day)s, %(de_day)s, %(v_ac)s, %(i_ac)s, %(frequency)s, %(v_dc)s, %(e_total)s, %(i_rcd)s, %(mode)s, %(p_active)s, %(p_apparent)s, %(p_reactive)s)",
            telem)
        updated = True
      elif "v_ac1" in telem:
        db.execute(
          "INSERT IGNORE INTO telemetry_inverter_3phase "
          "(inv_id, timestamp, temperature, e_day, de_day, v_ac1, v_ac2, v_ac3, i_ac1, i_ac2, i_ac3, frequency1, frequency2, frequency3, v_dc, e_total, i_rcd, mode, v_1to2, v_2to3, v_3to1, p_active1, p_active2, p_active3, p_apparent1, p_apparent2, p_apparent3, p_reactive1, p_reactive2, p_reactive3) VALUES "
          "(%(inv_id)s, %(timestamp)s, %(temperature)s, %(e_day)s, %(de_day)s, %(v_ac1)s, %(v_ac2)s, %(v_ac3)s, %(i_ac1)s, %(i_ac2)s, %(i_ac3)s, %(frequency1)s, %(frequency2)s, %(frequency3)s, %(v_dc)s, %(e_total)s, %(i_rcd)s, %(mode)s, %(v_1to2)s, %(v_2to3)s, %(v_3to1)s, %(p_active1)s, %(p_active2)s, %(p_active3)s, %(p_apparent1)s, %(p_apparent2)s, %(p_apparent3)s, %(p_reactive1)s, %(p_reactive2)s, %(p_reactive3)s)",
          telem)
        if db_host1 > "":
          db1.execute(
            "INSERT IGNORE INTO telemetry_inverter_3phase "
            "(inv_id, timestamp, temperature, e_day, de_day, v_ac1, v_ac2, v_ac3, i_ac1, i_ac2, i_ac3, frequency1, frequency2, frequency3, v_dc, e_total, i_rcd, mode, v_1to2, v_2to3, v_3to1, p_active1, p_active2, p_active3, p_apparent1, p_apparent2, p_apparent3, p_reactive1, p_reactive2, p_reactive3) VALUES "
            "(%(inv_id)s, %(timestamp)s, %(temperature)s, %(e_day)s, %(de_day)s, %(v_ac1)s, %(v_ac2)s, %(v_ac3)s, %(i_ac1)s, %(i_ac2)s, %(i_ac3)s, %(frequency1)s, %(frequency2)s, %(frequency3)s, %(v_dc)s, %(e_total)s, %(i_rcd)s, %(mode)s, %(v_1to2)s, %(v_2to3)s, %(v_3to1)s, %(p_active1)s, %(p_active2)s, %(p_active3)s, %(p_apparent1)s, %(p_apparent2)s, %(p_apparent3)s, %(p_reactive1)s, %(p_reactive2)s, %(p_reactive3)s)",
            telem)
        updated = True
    if updated:
      db.execute("UPDATE live_update SET last_telemetry = %s", (int(time.time()),))
      db.commit()
      if db_host1 > "":
        db1.execute("UPDATE live_update SET last_telemetry = %s", (int(time.time()),))
        db1.commit()
  f.close()


Ik heb db_port toegevoegd omdat op mijn NAS zowel Mariadb5 als Mariadb10 draait. Ik gebruik voor de solar_edge database Mariadb10 en deze heeft port 3307 in plaats van de standaard port.

De gebruiker in de database is op beide systemen gelijk.
Hoi, ik heb na denk 1 jaar lang geen onderhoud te plegen aan de raspberry en applicatie (draait nog steeds prima) vandaag De SE-Logger succesvol geupdate naar de laatste versie vanuit de Github. Nu dacht ik, ik wil eigenlijk wel mijn locale SQL DB in sync hebben met een DB op mijn NAS (eerst nog uitzoeken hoe ik de huidige db kopieer)

Daarvoor zag ik deze post. Echter is het verschil in config zo groot dat ik liever niet klakkeloos de versie uit de gequote post kopieer. Ik gebruik nu deze versie van liveupdate.py: https://github.com/Jerryt...t/se-logger/liveupdate.py

En in de versie van Andrerij staat veel minder code. Kan iemand mij op weg helpen? (uiteraard setting naar config file verplaatsen is de kleinste moeite)

(daarnaast wil ik mijn NAS wel eens een rebootje geven, hoe gaat se-logger daarmee om?)

Acties:
  • 0 Henk 'm!

  • andrerij
  • Registratie: April 2017
  • Laatst online: 17-09 12:47
KiefDelicious schreef op dinsdag 16 april 2019 @ 19:03:
[...]


Hoi, ik heb na denk 1 jaar lang geen onderhoud te plegen aan de raspberry en applicatie (draait nog steeds prima) vandaag De SE-Logger succesvol geupdate naar de laatste versie vanuit de Github. Nu dacht ik, ik wil eigenlijk wel mijn locale SQL DB in sync hebben met een DB op mijn NAS (eerst nog uitzoeken hoe ik de huidige db kopieer)

Daarvoor zag ik deze post. Echter is het verschil in config zo groot dat ik liever niet klakkeloos de versie uit de gequote post kopieer. Ik gebruik nu deze versie van liveupdate.py: https://github.com/Jerryt...t/se-logger/liveupdate.py

En in de versie van Andrerij staat veel minder code. Kan iemand mij op weg helpen? (uiteraard setting naar config file verplaatsen is de kleinste moeite)

(daarnaast wil ik mijn NAS wel eens een rebootje geven, hoe gaat se-logger daarmee om?)
In de post staan alleen de gedeeltes die aangepast moete worden.
De aanpassingen voor het gebruik van twee db's is nog hetzelfde.
Er zal echter wel een aanpassing moeten komen i.v.m. de config file.
De code hiervoor is:
code:
1
from config import db_user, db_pass, db_name, db_host, db_port, db_host1, db_port1, inverter_private_key

db_host1 en db_port1 moeten dan in de config file worden toegevoegd.
Pagina: 1 ... 14 ... 28 Laatste

Let op:
Dit topic is bedoeld voor discussies rondom het zelf uitlezen van solaredge omvormers, dus buiten de standaard monitoring.
Voor algemene solaredge vragen is er Het grote SolarEdge topic