https://github.com/omoerbeek/e2pv
foutmeldingen zijn er nu uit. volgens mijn worden alle inverters van het 'standaard' system geupdate. moet ze even stuk voor stuk aanklikken dat lukt nu even niet. Maar dat gaat goed volgens mij. De afwijkende 2 inverters op een andere account gaan nog niet goed, worden niet geupdate.
<?php
define('IDCOUNT', 11);
define('APIKEY', 'e5cd4xxxxxxxx2584c35xxxxxxx2a89360e5a41');
define('SYSTEMID', '26415');
define('LIFETIME', 1); // see README.md
define('MODE', 'SPLIT'); // 'AGGREGATE' or 'SPLIT'
define('EXTENDED', 0); // Send state data? Uses donation only feature
// If mode is SPLIT, define the Enecsys ID to PVOutput SystemID mapping for each
// inverter.
$systemid = array(
110098232 => 36604,
110085081 => 36608,
110075855 => 36688,
110075820 => 36689,
110076009 => 36690,
110085303 => 36691,
110085802 => 36692,
110085289 => 36693,
110099900 => 36694,
110100926 => 26350,
110099840 => 26344,
);
// If mode is SPLIT, optionally define the Enecsys ID to APIKEY mappings
// If an id is not found, the default APIKEY from above is used.
$apikey = array(
110100926 => '63427d98df4fxxxxxxxxxx30ba93dxxxxxxe3d13',
110099840 => '63427d98df4xxxxxxxxxxx30ba93xxxxxxxe3d13',
);
// The following inverter ids are ignored (e.g. the neighbours' ones)
$ignored = array(
// NNNNNN,
// ...
);
// Optional MySQL defs, uncomment to enable MySQL inserts, see README.md
//define('MYSQLHOST', 'localhost');
//define('MYSQLUSER', 'myuser');
//define('MYSQLPASSWORD', 'mypw');
//define('MYSQLDB', 'mydbname');
//define('MYSQLPORT', '3306');
?>
https://github.com/omoerbeek/e2pv
Tevens log ik nu ook AC power,current.
http://cbm64.nl/pv/
[ Voor 68% gewijzigd door Dylotic op 20-04-2015 18:37 ]
Marstek venus e v2, pt003. C5 aircrosphev. Enecsys en enphase omvormers.
Dus die power lijkt toch AC power.. Alle afgelopen dagen (9) lijken exact te kloppen. Max 1% afwijking.
[ Voor 20% gewijzigd door Dylotic op 20-04-2015 19:04 ]
kun je die mij ook laten weten? ik ga vavond ook weer even verderDylotic schreef op maandag 20 april 2015 @ 18:30:
nieuwste versie script loopt hier weer!
Tevens log ik nu ook AC power,current.
http://cbm64.nl/pv/
ik denk dat ik toch ook maar eens wat meters aan ga schaffen. zonnepanelen nog niet, maar begin nu wel nieuwsgierig al te worden naar mjin stroomverbruik. haha
https://github.com/omoerbeek/e2pv
De meet methode van plugwise is RMS (Root mean square) dus die van de Enecsys ook..
Volgens mij een van de beste manieren van meten! (Wikipedia: Root mean square)
Heb de ACPower er weer uit gemikt. Echter wel ACCurrent behouden. Dit gezien ik denk dat de powerNLMaca schreef op maandag 20 april 2015 @ 19:12:
[...]
kun je die mij ook laten weten? ik ga vavond ook weer even verder
ik denk dat ik toch ook maar eens wat meters aan ga schaffen. zonnepanelen nog niet, maar begin nu wel nieuwsgierig al te worden naar mjin stroomverbruik. haha
die nu uit het script komt al AC is. Dan zou DC power nog hoger uit moeten vallen!
Voor de AC current heb ik deze toegevoegd.
1
| $accurrent = $row['dcpower'] / $row['acvolt']; |
En denk ik nu deze ook toe te voegen.
dcpower =(((1.0 - Efficiency) +1.0) * poweruitscript)
Verder heb ik de layout beetje naar mijn smaak gezet. `verder heb ik niets veranderd.
[ Voor 24% gewijzigd door Dylotic op 20-04-2015 20:15 ]
edit: ik ziie al gegevens binnen komen......... toppie !!
[ Voor 26% gewijzigd door hendrik99 op 20-04-2015 20:27 . Reden: aanvullende informatie ]
Ik zie daar bij sommige systemen spanningen van 245 Volt , waar is dit op gebaseerd ?
De output kan naar mijn mening nooit meer zijn als de netspanning.
Zijn de inverter uitgangs spanningen. Door de spanning hoger als het net te maken voed je terug in19roland70 schreef op maandag 20 april 2015 @ 21:31:
De spanningen die worden doorgegeven aan PVoutput welke spanningen zijn dat?
Ik zie daar bij sommige systemen spanningen van 245 Volt , waar is dit op gebaseerd ?
De output kan naar mijn mening nooit meer zijn als de netspanning.
het net.
Valt me wel op dat er tussen de totalen een groot verschil zit met de totalen van de enecsys site.
Tenminste tussen de 6 omvormers die er als eerste lagen.
De 3 die er later bij zijn gekomen kloppen wel
AC voltage direct van de inverter, zonder verdere bewerking. Als daar rare getallen uitkomen, ligt dat aan Enecsys, weinig aan te doen.19roland70 schreef op maandag 20 april 2015 @ 21:31:
De spanningen die worden doorgegeven aan PVoutput welke spanningen zijn dat?
Ik zie daar bij sommige systemen spanningen van 245 Volt , waar is dit op gebaseerd ?
De output kan naar mijn mening nooit meer zijn als de netspanning.
https://github.com/omoerbeek/e2pv
Mogelijk moet je LIFETIME of 0 zetten. Sommige inverters geven verkeerde waardes voor de lifetime kWh. Dat komt dan voor als het vermogen dicht bij het max vermogen ligt. Symptoom is dat de "average" power duidelijk lager ligt dan "power" bij de Live grafiek. Je zien als het ware een dip in "power".sjnelle schreef op maandag 20 april 2015 @ 22:15:
NLmaca thanx voor code. Het dashboard is erg cool.
Valt me wel op dat er tussen de totalen een groot verschil zit met de totalen van de enecsys site.
Tenminste tussen de 6 omvormers die er als eerste lagen.
De 3 die er later bij zijn gekomen kloppen wel
https://github.com/omoerbeek/e2pv
Het een systeem met 7 convertors goed aan de praat met aggregate mode.
Wil overgaan van aggregate naar split. Heb de config.php aangepast als hieronder.
(in PV output heb ik een parent systeem aangemaakt en 7 aanvullende systemen die 'm gaan vullen)
<?php
define('IDCOUNT', 7);
define('APIKEY', 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780');
define('SYSTEMID', '36643');
define('LIFETIME', 1); // see README.md
define('MODE', 'Split'); // 'AGGREGATE' or 'SPLIT'
define('EXTENDED', 0); // Send state data? Uses donation only feature
// If mode is SPLIT, define the Enecsys ID to PVOutput SystemID mapping for each
// inverter.
$systemid = array(
110108541 => 36847,
110106926 => 36848,
110104978 => 36849,
110105391 => 36850,
110106830 => 36851,
110106815 => 36852,
110067011 => 36853
);
// If mode is SPLIT, optionally define the Enecsys ID to APIKEY mappings
// If an id is not found, the default APIKEY from above is used.
$apikey = array(
110108541 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110106926 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110104978 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110105391 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110106830 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110106815 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110067011 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780'
);
// The following inverter ids are ignored (e.g. the neighbours' ones)
//$ignored = array(
// NNNNNNNNN,
// ...
//);
// Optional MySQL defs, uncomment to enable MySQL inserts, see README.md
//define('MYSQLHOST', 'localhost');
//define('MYSQLUSER', 'myuser');
//define('MYSQLPASSWORD', 'mypw');
//define('MYSQLDB', 'mydbname');
//define('MYSQLPORT', '3306');
?>
In de Logfile krijg ik de melding "20150421-00:02:09 MODE should be 'SPLIT' or 'AGGREGATE'"
Ik ben er dus nog niet helemaal.
Wie wil met het laatste zetje in de goede richting geven aub.?
Klopt het overigens dat alle (sub)systemen met dezelfde api-key werken?
per inverter:
mysql result omzetten naar json en deze vervolgens in een grafiek laden. eerste result werkend. alleen geen zon momenteel
Gebruik 'SPLIT' (hoofdletters).gjbakker schreef op dinsdag 21 april 2015 @ 00:15:
raspberry pi / php5
In de Logfile krijg ik de melding "20150421-00:02:09 MODE should be 'SPLIT' or 'AGGREGATE'"
Ik ben er dus nog niet helemaal.
Wie wil met het laatste zetje in de goede richting geven aub.?
Klopt het overigens dat alle (sub)systemen met dezelfde api-key werken?
Alle systemen gebruiken dezelfde apikey (account dus) tenzij je dat anders definieert. Zie README.
BTW, in de meest recente versie van het script moet je bij PVOutput dus niet een parent relatie opgeven.
https://github.com/omoerbeek/e2pv
Data komt binnen. Parent relatie verwijderd.
Ben nog een beginneling met Unix gebseerde systemen (tot vorige week nog een onbeschreven blad zelfs).
Was vannacht "blind" voor Case-sensitiviteit.
Kan nu de systemen van collega's en vrienden gaan inrichten!
Nice!NLMaca schreef op dinsdag 21 april 2015 @ 03:11:
teaser:
per inverter:
mysql result omzetten naar json en deze vervolgens in een grafiek laden. eerste result werkend. alleen geen zon momenteel
[afbeelding]
Ik heb een aantal reports dat ACPower (= DCPower * Efficiency) beter de gemeten opbrengst benadert dan DCPower. Ikzelf zie dat DCPower goed overeenkomt met de "Average" die PVOutput berekent aan de hand van de lifeKWh en tijd. Dylotic heeft het nagemeten en ziet ook dat de huidige power waarde overeenkomt.
Ik krijg het vermoeden dat er minstens twee versies van de inverter (software) in omloop zijn, de ene rapporteert bruto power, de andere netto...
Toen de Enecsys site nog werkte was de minimale power die ik zag altijd 6W per inverter. En dat is ook de waarde die ik nu zie... dat komt dus overeen.
https://github.com/omoerbeek/e2pv
Je hoeft $apikey niet te vullen als ze toch allemaal naar de default APIKEY gaan.gjbakker schreef op dinsdag 21 april 2015 @ 00:15:
raspberry pi / php5
// If mode is SPLIT, optionally define the Enecsys ID to APIKEY mappings
// If an id is not found, the default APIKEY from above is used.
$apikey = array(
110108541 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110106926 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110104978 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110105391 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110106830 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110106815 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780',
110067011 => 'a5d9de36exxxxxxxxxxxxxxx121b1d99e3179780'
);
https://github.com/omoerbeek/e2pv
werd in verwarring gebracht door een post op het forum.
Maar deze had twee separate PV-accounts. En dus ook twee API-keys.
Gevalletje "baat het niet....."
Zou idd best kunnen dat er meerdere firmwares zijn. Maybe afhankelijk met serie nummer. Echter hieromoerbeek schreef op dinsdag 21 april 2015 @ 07:56:
OK, ben wat in dubio mbt de power waardes die verzonden worden naar PVOutput.
Ik heb een aantal reports dat ACPower (= DCPower * Efficiency) beter de gemeten opbrengst benadert dan DCPower. Ikzelf zie dat DCPower goed overeenkomt met de "Average" die PVOutput berekent aan de hand van de lifeKWh en tijd. Dylotic heeft het nagemeten en ziet ook dat de huidige power waarde overeenkomt.
Ik krijg het vermoeden dat er minstens twee versies van de inverter (software) in omloop zijn, de ene rapporteert bruto power, de andere netto...
Toen de Enecsys site nog werkte was de minimale power die ik zag altijd 6W per inverter. En dat is ook de waarde die ik nu zie... dat komt dus overeen.
komt zeker huidige Power perfect overeen met de 220AC kant. Misschien zelfs nog wel 1% te laag..
maar dat lijkt me verwaarloosbaar
Zou rete handig zijn als we wat engineerings documenten van enecsys zouden kunnen bemachtigen.
Ik ben ook het spoor beister. Als je de math doet aan de DC kant. Dus DCVolts * DCAmps = DCPower
klopt de uitkomst perfect met de gerapporteerde power. Toch komt hier die DCPower exact overeen met
de ACPower gemeten met mijn plugwise (True RMS). Dit zou niet mogenlijk mogen zijn gezien je altijd
verliezen hebt (zie eff.) Dus de repporting lijkt goed. Toch is het tegenstrijdig!
[ Voor 19% gewijzigd door Dylotic op 21-04-2015 09:33 ]
DCPower en DCAmps (=DCCurrent) worden gerapporteerd. Mijn script berekent DCVolts:
1
2
3
4
5
6
7
8
9
| $v = unpack('VIDDec/c18dummy/CState/nDCCurrent/nDCPower/' . 'nEfficiency/cACFreq/nACVolt/cTemperature/nWh/nkWh', $bin); $id = $v['IDDec']; ... $v['DCCurrent'] *= 0.025; $v['Efficiency'] *= 0.001; $LifeWh = $v['kWh'] * 1000 + $v['Wh']; $ACpower = $v['DCPower'] * $v['Efficiency']; $DCVolt = $v['DCPower'] / $v['DCCurrent']; |
De waardes in de $v array zijn direct van de inverter. $ACPower en $DCVolt worden berekend.
Strict genomen $LifeWh ook, maar dat is een simpele samenstelling van Wh en kWh.
https://github.com/omoerbeek/e2pv
$DCPower gaat naar PVO en SQL?omoerbeek schreef op dinsdag 21 april 2015 @ 09:46:
Dat DCVolts * DCAmps = DCPower is niet zo gek...
DCPower en DCAmps (=DCCurrent) worden gerapporteerd. Mijn script berekent DCVolts:
PHP:
1 2 3 4 5 6 7 8 9 $v = unpack('VIDDec/c18dummy/CState/nDCCurrent/nDCPower/' . 'nEfficiency/cACFreq/nACVolt/cTemperature/nWh/nkWh', $bin); $id = $v['IDDec']; ... $v['DCCurrent'] *= 0.025; $v['Efficiency'] *= 0.001; $LifeWh = $v['kWh'] * 1000 + $v['Wh']; $ACpower = $v['DCPower'] * $v['Efficiency']; $DCVolt = $v['DCPower'] / $v['DCCurrent'];
De waardes in de $v array zijn direct van de inverter. $ACPower en $DCVolt worden berekend.
Strict genomen $LifeWh ook, maar dat is een simpele samenstelling van Wh en kWh.
En daar weer de som van van voor alle inverters (bij aggregeren).
[ Voor 28% gewijzigd door omoerbeek op 21-04-2015 11:43 ]
https://github.com/omoerbeek/e2pv
http://www.pvoutput.org/i...234&sid=36776&dt=20150420
( Rond 2200u heb ik me modem + gateway overigens uitgezet, dus er had wellicht nog meer data kunnen staan)
Terwijl de youless na 20.20u niets meer heeft gemeten
http://www.pvoutput.org/i...545&sid=20437&dt=20150420
Hoe moet ik dit interpreteren?
[ Voor 12% gewijzigd door pielle007 op 21-04-2015 12:02 ]
Verder ben ik gewoon doorgeefluik.. ik geef door wat ik binnenkrijg....
Het is wel verstandig om de laatste versie van het script te draaien.
Wat een mogelijkheid zou zijn is dat de GW oude data doorgeeft die hij nog niet eerder kwijt kon. Op de enecsys site staat een vaag verhaaltje daarover.
Moet even kijken hoe ik dat zou kunnen detecteren.
https://github.com/omoerbeek/e2pv
Time zone staat goed inderdaad bij Pvoutput.omoerbeek schreef op dinsdag 21 april 2015 @ 12:15:
Heb je de timezone van je systeem goed staan bij PVOutput?
Verder ben ik gewoon doorgeefluik.. ik geef door wat ik binnenkrijg....
Het is wel verstandig om de laatste versie van het script te draaien.
Wat een mogelijkheid zou zijn is dat de GW oude data doorgeeft die hij nog niet eerder kwijt kon. Op de enecsys site staat een vaag verhaaltje daarover.
Moet even kijken hoe ik dat zou kunnen detecteren.
Gateway die nog data vasthoudt zou kunnen...vaag idd
edit 16:31u
Lees zojuist dat meerdere tweakers dit euvel hebben (waarschijnlijk foutje in pvoutput zelf):
toxict in "Jouw productie, afgelopen maand...ofzo"
[ Voor 12% gewijzigd door pielle007 op 21-04-2015 16:32 ]

Alles in kWh!
Het kan zijn dat ik hier en daar even het script af heb gehad. Zal resultaat van vandaag ook tonen.
Script heeft vandaag hele dag zonder onderbreken gedraaid.
Hier lijkt het er dus op dat de Power uit de omvormers de AC power is?!
edit: vandaag Pvo 12.75 tegen plugwise 12.84 = -0.09
[ Voor 69% gewijzigd door Dylotic op 21-04-2015 23:51 ]
Ziet er erg netjes uit! ik vind de afwijkingen verwaarloosbaar.Dylotic schreef op dinsdag 21 april 2015 @ 18:36:
Hier een vergelijking van Otto's script (AGGREGATE/LIFTIME=0) en mijn Plugwise (12-04 tot 19-04):
[afbeelding]
Alles in kWh!
Het kan zijn dat ik hier en daar even het script af heb gehad. Zal resultaat van vandaag ook tonen.
Script heeft vandaag hele dag zonder onderbreken gedraaid.
Hier lijkt het er dus op dat de Power uit de omvormers de AC power is?!
Enecsys by Tweakers - PVoutput
Verwijderd
Allereest alle lof en dank voor dit fraaie werk. Ik heb met een Raspberry Pi nu een regelmatige loggin van mijn 14 inverters. Dank voor het scripten en de goede uitleg hierbij!
Nog wel een vraagje, als dat mag.
Heb een dipje in mijn power zo halverwege de dag, ondanks instellen Lifetime="0" in config.php. Je ziet halverwege de dag dat de generated power en average power uit elkaar gaan lopen, dippen zeg maar. Zo krijg ik het idee dat er een te weinig aan totalen wordt geregistreerd.
Iemand nog een suggestie wellicht?
Zie ook, voor de grafisch geïnteresseerden:
https://www.dropbox.com/s/lhmgvi1h27x7rsg/chart.jpeg?dl=0
Of zie ook: PvOuput AnnaZon Nijmegen
[ Voor 13% gewijzigd door Verwijderd op 21-04-2015 21:44 ]
Weet je zeker dat lifetime op de juiste manier staat ingesteld?Verwijderd schreef op dinsdag 21 april 2015 @ 21:24:
Beste heren, (neem ik maar aan...)
Allereest alle lof en dank voor dit fraaie werk. Ik heb met een Raspberry Pi nu een regelmatige loggin van mijn 14 inverters. Dank voor het scripten en de goede uitleg hierbij!
Nog wel een vraagje, als dat mag.
Heb een dipje in mijn power zo halverwege de dag, ondanks instellen Lifetime="0" in config.php. Je ziet halverwege de dag dat de generated power en average power uit elkaar gaan lopen, dippen zeg maar. Zo krijg ik het idee dat er een te weinig aan totalen wordt geregistreerd.
Iemand nog een suggestie wellicht?
Want normaal moet bij lifetime "0" de power en de average gelijk lopen.
Kijk maar bij mijn grafiek: http://pvoutput.org/intraday.jsp?id=39835&sid=36392
[ Voor 4% gewijzigd door virtua001 op 21-04-2015 21:33 ]
Enecsys by Tweakers - PVoutput
Verwijderd
Staat er toch wel echt ben ik bang. Hoe link je die grafiek hier, lukt me niet makkelijk, dan kan ik het je laten zien! Dank voor je snelle reactie! Heb het nu ook aangepast in e2pv.php in het begin, wellicht dat dat werkt!virtua001 schreef op dinsdag 21 april 2015 @ 21:31:
[...]
Weet je zeker dat lifetime op de juiste manier staat ingesteld?
Want normaal moet bij lifetime "0" de power en de average gelijk lopen.
Kijk maar bij mijn grafiek: http://pvoutput.org/intraday.jsp?id=39835&sid=36392
[ Voor 7% gewijzigd door Verwijderd op 21-04-2015 22:05 ]
Zit daar geen foutje in de dataverwerking?
PS let niet op de temperatuur, dat is mijn zonneboiler...
[ Voor 7% gewijzigd door duinsel op 21-04-2015 23:55 ]
In het php bestand moet je niets veranderen maar wel in de config. Let wel op dat je de config precies veranderd zoals het er staat, er zijn al meer mensen in de mist gegaan met de hoofdletter gevoeligheid.Verwijderd schreef op dinsdag 21 april 2015 @ 21:35:
[...]
Staat er toch wel echt ben ik bang. Hoe link je die grafiek hier, lukt me niet makkelijk, dan kan ik het je laten zien! Dank voor je snelle reactie! Heb het nu ook aangepast in e2pv.php in het begin, wellicht dat dat werkt!
De link doe je gewoon copy en pasten uit de adresbalk van pvoutput.
Enecsys by Tweakers - PVoutput
inderdaad, jou spanning blijft redelijk gelijk. Terwijl die van mij aan het begin en aan het eind van de dag inzakt.duinsel schreef op dinsdag 21 april 2015 @ 23:54:
Ik zie bij veel mensen die het PHP script gebruiken een dip in de AC spanning bij hele lage vermogens. Ik zie/zag dat nooit met 'mijn' script, en het zou ook gek zijn dat de netspaning instort.
Zit daar geen foutje in de dataverwerking?
PS let niet op de temperatuur, dat is mijn zonneboiler...
Misschien een verschillende manier van verwerking in de inverters, want wat mij opvalt is dat jij mono inverters hebt terwijl de meesten van ons duo inverters hebben.
Volgens mij geeft omoerbeek zijn script, de data van de AC spanning gewoon onbewerkt door. Dat zou dus zeggen dat deze data vanuit de inverters komt en niet een fout is in het script.
Correct me if i'm wrong?
Enecsys by Tweakers - PVoutput
het is LIFETIME met hoofdletters...Verwijderd schreef op dinsdag 21 april 2015 @ 21:24:
Beste heren, (neem ik maar aan...)
Allereest alle lof en dank voor dit fraaie werk. Ik heb met een Raspberry Pi nu een regelmatige loggin van mijn 14 inverters. Dank voor het scripten en de goede uitleg hierbij!
Nog wel een vraagje, als dat mag.
Heb een dipje in mijn power zo halverwege de dag, ondanks instellen Lifetime="0" in config.php. Je ziet halverwege de dag dat de generated power en average power uit elkaar gaan lopen, dippen zeg maar. Zo krijg ik het idee dat er een te weinig aan totalen wordt geregistreerd.
Iemand nog een suggestie wellicht?
Zie ook, voor de grafisch geïnteresseerden:
https://www.dropbox.com/s/lhmgvi1h27x7rsg/chart.jpeg?dl=0
Of zie ook: PvOuput AnnaZon Nijmegen
Zal misschien wat extra checks maken om dit soort fouten te vangen.
[ Voor 3% gewijzigd door omoerbeek op 22-04-2015 06:56 ]
https://github.com/omoerbeek/e2pv
De spanning die ik doorgeef is het gemiddelde van de laats doorgekregen spanning van de inverters. Als aan het eind van de dag sommige inverters aan het "afslaan" zijn zakt de gemiddelde spanning dus.virtua001 schreef op woensdag 22 april 2015 @ 00:56:
[...]
inderdaad, jou spanning blijft redelijk gelijk. Terwijl die van mij aan het begin en aan het eind van de dag inzakt.
Misschien een verschillende manier van verwerking in de inverters, want wat mij opvalt is dat jij mono inverters hebt terwijl de meesten van ons duo inverters hebben.
Volgens mij geeft omoerbeek zijn script, de data van de AC spanning gewoon onbewerkt door. Dat zou dus zeggen dat deze data vanuit de inverters komt en niet een fout is in het script.
Correct me if i'm wrong?
https://github.com/omoerbeek/e2pv
Verwijderd
Had het hier getiept zonder op de caps te letten. In config.php staat het gewoon met hoofdletters. Dus benbang dat het daar niet aan liggen kan...omoerbeek schreef op woensdag 22 april 2015 @ 06:54:
[...]
het is LIFETIME met hoofdletters...
Zal misschien wat extra checks maken om dit soort fouten te vangen.
Dank voor jullie meedenken en reactie!
zie:
<?php
define('IDCOUNT', 14);
define('APIKEY', 'xxx');
define('SYSTEMID', ’xxx’);
define('LIFETIME', 0); // see README.md
define('MODE', 'AGGREGATE'); // 'AGGREGATE' or 'SPLIT'
define('EXTENDED', 1); // Send state data? Uses donation only feature
// If mode is SPLIT, define the Enecsys ID to PVOutput SystemID mapping for each
// inverter.
//$systemid = array(
// NNNNNNNNN => NNNNNN,
// NNNNNNNNN => NNNNNN,
// ...
//);
// If mode is SPLIT, optionally define the Enecsys ID to APIKEY mappings
// If an id is not found, the default APIKEY from above is used.
//$apikey = array(
// NNNNNNNNN => 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh',
// NNNNNNNNN => 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh',
//);
// The following inverter ids are ignored (e.g. the neighbours' ones)
$ignored = array(
// NNNNNNNNN,
// ...
);
// Optional MySQL defs, uncomment to enable MySQL inserts, see README.md
//define('MYSQLHOST', 'localhost');
//define('MYSQLUSER', 'myuser');
//define('MYSQLPASSWORD', 'mypw');
//define('MYSQLDB', 'mydbname');
//define('MYSQLPORT', '3306');
?>
https://github.com/omoerbeek/e2pv
Verwijderd
bedoel je die regels die in het log bestand worden vastgelegd en dan de regel die doorgestuurd wordt naar PVOutput? Kun je dan het meeste met een regel waar het zo dipt?
Oh, dat verklaart het inderdaad.omoerbeek schreef op woensdag 22 april 2015 @ 06:59:
[...]
De spanning die ik doorgeef is het gemiddelde van de laats doorgekregen spanning van de inverters. Als aan het eind van de dag sommige inverters aan het "afslaan" zijn zakt de gemiddelde spanning dus.
Ik ben zelf nog wat aan het verder prutsen in Perl, daar heb ik dat probleem opgelost door het maximum te rapporteren ipv het gemiddelde. Zo kun je uitschieters zien in V (of temp) zonder die rare effecten aan de rand van de dag.
Nog beter zou zijn om uitgeschakelde inverters te negeren in de berekening, maar dat moet ik nog implementeren.
Ik zal mijn brouwsel hier tzt wel weer posten.
Ja, die regels plus context dus.Verwijderd schreef op woensdag 22 april 2015 @ 08:20:
Beste omoerbeek,
bedoel je die regels die in het log bestand worden vastgelegd en dan de regel die doorgestuurd wordt naar PVOutput? Kun je dan het meeste met een regel waar het zo dipt?
Maakt nu niet zoveel uit van wanneer. Ik wil eerst weten wat je werkelijke LIFETIME mode is.
https://github.com/omoerbeek/e2pv
Precies, met die gedachten heb ik ook al zitten spelen.duinsel schreef op woensdag 22 april 2015 @ 08:27:
[...]
Oh, dat verklaart het inderdaad.
Ik ben zelf nog wat aan het verder prutsen in Perl, daar heb ik dat probleem opgelost door het maximum te rapporteren ipv het gemiddelde. Zo kun je uitschieters zien in V (of temp) zonder die rare effecten aan de rand van de dag.
Nog beter zou zijn om uitgeschakelde inverters te negeren in de berekening, maar dat moet ik nog implementeren.
Ik zal mijn brouwsel hier tzt wel weer posten.
Ik moet je trouwens nog bedanken voor nou uitzoekwerk dat tot het perl scri[pt heeft geleid. Daardoor kon ik de decodering in mijn script snel voor mekaar krijgen. Uiteindelijk denk ik wel dat ik een robuustere methode heb, die geen padding met 'A's nodig heeft en die de mogelijkheden van unpack goed benut.
https://github.com/omoerbeek/e2pv
Thanks!omoerbeek schreef op woensdag 22 april 2015 @ 08:56:
[...]
Precies, met die gedachten heb ik ook al zitten spelen.
Ik moet je trouwens nog bedanken voor nou uitzoekwerk dat tot het perl scri[pt heeft geleid. Daardoor kon ik de decodering in mijn script snel voor mekaar krijgen. Uiteindelijk denk ik wel dat ik een robuustere methode heb, die geen padding met 'A's nodig heeft en die de mogelijkheden van unpack goed benut.
Ik heb dat soort dingen een beetje 'op de tast' geimplementeerd zonder degelijke achtergrond in programmeren tot het werkte. En toen het werkte er niet veel energie meer ingestoken om het mooi te maken. Ik wilde vooral snappen hoe eea werkte op dat moment, een leuke puzzel als het ware.
Ik zal eens kijken of ik unpack kan gebruiken in Perl, lijkt me zeker fraai. En het aftappen van de gateway traffic is ook veel eleganter, dat heb ik nu lopen binnen Perl.
Jouw implementatie is nu duidelijk veel meer volwassen, maar ik rommel nog even eigenwijs in Perl ter Leeringe ende Vermaeck :-) . Plus dat ik wat zaken wil toevoegen zoals temperaturen van mijn zonnecollector.
[ Voor 11% gewijzigd door limpie_ton op 22-04-2015 10:38 ]
Marstek venus e v2, pt003. C5 aircrosphev. Enecsys en enphase omvormers.
https://github.com/omoerbeek/e2pv
[ Voor 42% gewijzigd door limpie_ton op 22-04-2015 11:00 ]
Marstek venus e v2, pt003. C5 aircrosphev. Enecsys en enphase omvormers.
ALs je de terminal output niet opslaat verdwijnt dat gewoon. By default stuur ik alleen dingen door naar PVOutput.limpie_ton schreef op woensdag 22 april 2015 @ 10:45:
Oh, bedankt. Ik zal nog eens alles doornemen. Ik dacht dat je het altijd via de terminal op moest starten en wist niet dat het ook op een andere manier kan/kon. Om eerlijk te zijn was ik al blij dat het zo gelukt was. Maar dan blijft nog de vraag of het ergens neer geschreven wordt of niet. Gaat mijn HD langzaam aan vollopen wanneer het script draait of is er niets aan de hand.
https://github.com/omoerbeek/e2pv
Oke, dat wilde ik graag weten. Bedanktomoerbeek schreef op woensdag 22 april 2015 @ 12:07:
[...]
ALs je de terminal output niet opslaat verdwijnt dat gewoon. By default stuur ik alleen dingen door naar PVOutput.
Marstek venus e v2, pt003. C5 aircrosphev. Enecsys en enphase omvormers.
Uiteindelijk zal er wel zo iets komen. Zoiets als een image voor een rasp. Met interface via webbrowser.Verwijderd schreef op woensdag 22 april 2015 @ 17:57:
beste Tweakers
is er ook een oplossing voor mensen die geen verstand van scripts hebben?
Maar het is voor een leek ook wel te doen hoor. Beetje stapjes volgen!
Loop tegen het zelfde probleem aan. Ik begon met goede moed maar dat hield al heel snel op. Je komt er als leek echt niet doorheen. Je mist alle kennis. Is het misschien een optie dat iemand (dmv screen recording) alle stappen van de installatie een x opneemt? Ook wanneer er een update van t script is bv en je wilt deze doorvoeren. Nu moet ik zeulen en maar hopen bij iemand in de hoop dat ik geholpen wordt.Verwijderd schreef op woensdag 22 april 2015 @ 17:57:
beste Tweakers
is er ook een oplossing voor mensen die geen verstand van scripts hebben?
Verwijderd
20150422-19:29:00 => PVOutput (A) v2=267W v5=22.4C v6=215.8V
20150422-19:29:00 v7=14 v8=14 v9=0
20150422-19:29:01 POST failed, check your APIKEY=0575286c7fc71f6dxx7beab903eef6680aa3f738 and SYSTEMID=’36290’
dit is de output, al komt er nu ineens niets meer aan bij PvOutput. pfff ingewikkeld allemaal. Hoe toch geen accolades oud weg te halen in de config.php? Of is het de Api Key stoornis die je beschrijft in je laatste versie? dank voor jullie meedenken!
hey een beetje tweakers mentaliteit kan geen kwaadVerwijderd schreef op woensdag 22 april 2015 @ 19:36:
pfff ingewikkeld allemaal.
Anyway, je draait in LIFETIME=0 mode, anders was er een v1 waarde meegepost.
Paste ff je exacte config.php, of mail 'm maar naar otto at drijf dot net eigenlijk. Er zit zo te zien een quoting fout in.
https://github.com/omoerbeek/e2pv
Verwijderd

Let wel, dit voorbeeld is gebaseerd op mijn eigen database, maar met wat simpele aanpassingen kan de array gevuld worden vanuit de moerbeek database (geen tijd voor gehad om dit even om te schrijven).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
| <meta http-equiv="refresh" content="10"> <?PHP /* My grid layout 100055460 100055314 100055334 100055388 100043401 100055408 100055282 100055400 110005466 100055331 100055332 100043433 */ $layout = array ("100055460" => array ("x" => '001', "y" => "001", "watt" => "0"), "100055314" => array ("x" => '062', "y" => "001", "watt" => "0"), "100055334" => array ("x" => '124', "y" => "001", "watt" => "0"), "100055388" => array ("x" => '186', "y" => "001", "watt" => "0"), "100043401" => array ("x" => '062', "y" => "115", "watt" => "0"), "100055408" => array ("x" => '124', "y" => "115", "watt" => "0"), "100055282" => array ("x" => '186', "y" => "115", "watt" => "0"), "100055400" => array ("x" => '124', "y" => "230", "watt" => "0"), "110005466" => array ("x" => '186', "y" => "230", "watt" => "0"), "100055331" => array ("x" => '001', "y" => "370", "watt" => "0"), "100055332" => array ("x" => '062', "y" => "370", "watt" => "0"), "100043433" => array ("x" => '124', "y" => "370", "watt" => "0") ); $totalCurrentOutput = 0; $db_link = mysqli_connect("localhost", DBUSER, PASSWORD, DATABASENAME); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } /* dit deel heeft aanpassing nodig tbv omoerbeek database: vul met laatste DC of AC output */ $SQL = "SELECT * FROM tbl_CurrentPower ORDER BY InverterID"; if ($result = mysqli_query($db_link, $SQL)) { while ( $db_field = mysqli_fetch_assoc($result) ) { $a=$db_field['InverterID']; $layout[$a]['watt'] = $db_field['CurrentOutput']; $totalCurrentOutput += $db_field['CurrentOutput']; } } /* close result set */ mysqli_free_result($result); /* close connection */ mysqli_close($db_link); /* Generate client code */ printf(" <!DOCTYPE html> <canvas id=\"canvasGrid\" width=\"244\" height=\"480\" style=\"border:0px solid #000000;\"> Your browser does not support the HTML5 canvas tag.</canvas> <script> var c = document.getElementById(\"canvasGrid\"); var ctx = c.getContext(\"2d\"); function paint(id,x,y,width,height,watt) { ctx.fillRect(x,y+16,width, height-22); ctx.lineWidth=2; ctx.strokeStyle=\"#000000\"; ctx.strokeRect(x,y,width, height-6); ctx.strokeStyle=\"#808080\"; for (j = 0; j < 7; j++) { for (i = 0; i < 4; i++) { ctx.lineWidth=1; ctx.strokeRect(2+x+(i*13),16+y+(j*13), 13, 13); } } ctx.fillStyle= \"#000000\"; ctx.font=\"bold 9px Arial\"; ctx.fillText(id,x+1,y+12); ctx.fillStyle= \"#ffffff\"; ctx.font=\"bold 16px Arial\"; ctx.fillText(watt,x+(width/2)-14,y+11+(height/2)); }; "); /* change value 250 to the max possible output of your panel */ foreach ($layout as $i => $t) { printf ("ctx.fillStyle= \"hsl(%d,%d%%, %d%%)\";", 180, (100/250)*$layout[$i]['watt'], 10+(90/250)*$layout[$i]['watt']); printf ("paint (%d, %d, %d, %d, %d, %d);", $i, $layout[$i]['x'], $layout[$i]['y'], 56, 114, $layout[$i]['watt']); } printf ("</script>"); printf ("<br><br>Total Current Output Power: <strong>%.3f</strong> kWh", $totalCurrentOutput/1000); ?> |
[ Voor 5% gewijzigd door Verwijderd op 23-04-2015 17:39 . Reden: voorbeeld toegevoeg ]
Verwijderd
you got mail! dank alvast voor je tijd!omoerbeek schreef op woensdag 22 april 2015 @ 19:51:
[...]
hey een beetje tweakers mentaliteit kan geen kwaad![]()
Anyway, je draait in LIFETIME=0 mode, anders was er een v1 waarde meegepost.
Paste ff je exacte config.php, of mail 'm maar naar otto at drijf dot net eigenlijk. Er zit zo te zien een quoting fout in.
https://github.com/omoerbeek/e2pv
Is het ook een optie om de configuratie in een echte .ini file te doen in plaats van in een verkapte php file? Voor mijn eigen perl script heb ik dat ook zo gedaan. Het voordeel is dat mensen die zich wat oncomfortabel voelen bij programmeren of scripts aanpassen er minder snel fouten gemaakt worden. Je script is nog niet eens wereldberoemd maar als je het forum hier doorleest zie je al een paar voorbeelden van fouten in de configuratie door quotes of hoofd/kleine letters.omoerbeek schreef op woensdag 22 april 2015 @ 20:18:
Was dus een geval van z.g. curly quotes ipv rechte enkele quotes. Sommige editors zijn "behulpzaam".
Met dingen in een .ini kun je er omheen programmeren en de meest voor de hand liggende fouten voorkomen.
... en gaat over tot de orde van de dag
Verwijderd
Ongekende steun van omoerbeek! Veel dankomoerbeek schreef op woensdag 22 april 2015 @ 20:18:
Was dus een geval van z.g. curly quotes ipv rechte enkele quotes. Sommige editors zijn "behulpzaam".
stel je vraag zou ik zeggen. al doende leert men.Verwijderd schreef op woensdag 22 april 2015 @ 17:57:
beste Tweakers
is er ook een oplossing voor mensen die geen verstand van scripts hebben?
De simpelste oplossingen zijn met aloaha (niet gratis)Verwijderd schreef op woensdag 22 april 2015 @ 17:57:
beste Tweakers
is er ook een oplossing voor mensen die geen verstand van scripts hebben?
http://www.dataservices.solar/
Of misschien met dit windows programaatje
http://forum.solar-electr.../17597-enecsys-monitoring
of even doorbijten met scripts in Perl of PHP.
Of even wachten tot er een kant en klaar recept wordt geschreven. Alle software verandert nu nog met de dag zo'n beetje.
- Wat extra config checks
- Mogelijkheid om de AC data te versturen (te enabled met define('AC', 1))
- Bug in counting non-zero inverters gefixt
- Voltage wordt nu alleen berekend over de inverters die >0 power leveren
https://github.com/omoerbeek/e2pv
Moet ik even over nadenken. Ik denk dat je ook in een ini file fouten kan maken. De laatste versie heeft iig wat meer config checks erin zitten.P_Tingen schreef op woensdag 22 april 2015 @ 20:26:
[...]
Is het ook een optie om de configuratie in een echte .ini file te doen in plaats van in een verkapte php file? Voor mijn eigen perl script heb ik dat ook zo gedaan. Het voordeel is dat mensen die zich wat oncomfortabel voelen bij programmeren of scripts aanpassen er minder snel fouten gemaakt worden. Je script is nog niet eens wereldberoemd maar als je het forum hier doorleest zie je al een paar voorbeelden van fouten in de configuratie door quotes of hoofd/kleine letters.
Met dingen in een .ini kun je er omheen programmeren en de meest voor de hand liggende fouten voorkomen.
https://github.com/omoerbeek/e2pv
Voor Perl zijn er modules die in 1x een config ini file kunnen inlezen. Je kan daarna de settings refereren met een functie:omoerbeek schreef op woensdag 22 april 2015 @ 21:26:
[...]
Moet ik even over nadenken. Ik denk dat je ook in een ini file fouten kan maken. De laatste versie heeft iig wat meer config checks erin zitten.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| use Config::Simple('-lc'); # -lc means ignore case
$Config = new Config::Simple('enecsys.ini');
# get info from config file
$Apikey = $Config->param("pvoutput.apikey");
$SystemId = $Config->param("pvoutput.systemid");
$Gateway = $Config->param("gateway.address");
$SleepTime = $Config->param("general.sleeptime");
$Correction = $Config->param("general.correction");
$Interval = $Config->param("pvoutput.interval");
# Check values
if (!$Interval) { $Interval = 300; } # minimal nr of seconds between outputs to pvoutput
if (!$SleepTime) { $SleepTime = 10; } # nr of seconds to sleep after succesful output
if (!$Correction) { $Correction = 1.0; } # correction for energy loss during transport |
Misschien is er ook zoiets voor PHP?
... en gaat over tot de orde van de dag
Er is een alternatief wat deze richting gaat. Dat heb ik al gemeld in dit topic:Dylotic schreef op woensdag 22 april 2015 @ 18:40:
[...]
Uiteindelijk zal er wel zo iets komen. Zoiets als een image voor een rasp. Met interface via webbrowser.
Maar het is voor een leek ook wel te doen hoor. Beetje stapjes volgen!
http://gathering.tweakers.net/forum/view_message/44084425
De 'Volksmeter' gebruik ik om mijn slimme meter uit te lezen.
Mijn ervaring tot nu: het programma kan tegelijkertijd ook prima gebruikt worden voor het uit uitlezen van de Enecsys gateway, het opslaan van de gegegevens en het uitlezen via de webbrowser. Zowel het totaal van je installatie als per inverter is te monitoren. Een extra handigheid is daarbij dat je ook zichtbaar kunt maken wat je eigen gebruik van de zonnestroom is en wat je totaalverbruik aan stroom is.
De gebruik van de 'Volksmeter' voor het uitlezen van de Enecsys gateway heb ik getest met een aangepaste script van duinsel.
Voor een meer definitieve oplossing ben ik het script van omoerbeek aan het aanpassen voor gebruik met het Volksmeter programma.
Het Volksmeter project is oorsponkelijk Duits: http://volkszaehler.org/
Mocht Duits een probleem zijn dan biedt Google je vertaalhulp:
http://translate.google.c...aehler.org%2F&sl=de&tl=nl
Een image voor de rasp is er ook al!
http://translate.google.c...pberry_pi_image&sandbox=1
Unable to connect
Firefox can't establish a connection to the server at monitor.enecsys.net.
Met het certificate zag ik de bui al hangen en heb ik mijn historische data eraf getrokken. Voor anderen zal dat nu wellicht verloren zijn helaas. Dag Enecsys...
[ Voor 6% gewijzigd door duinsel op 22-04-2015 21:46 ]
Ja, zoiets is er. Maar de vraag voor mij is of het gaat helpen....P_Tingen schreef op woensdag 22 april 2015 @ 21:36:
Misschien is er ook zoiets voor PHP?
https://github.com/omoerbeek/e2pv
Wel in het aantal supportverzoeken denk ik. Zeker als er meer mensen je script gaan gebruiken is het voor jezelf handig dat het robuust is.omoerbeek schreef op woensdag 22 april 2015 @ 22:13:
[...]
Ja, zoiets is er. Maar de vraag voor mij is of het gaat helpen....
... en gaat over tot de orde van de dag
ik kwam deze vandaag voor het eerst tegen in de e2pv.log
enige wat ik de 21e gedaan had was de lifetime aangepast. op pvoutput geen rare dingen.
zegt jou dit iets?
1
2
3
4
5
| 110085734 DC= 0W 0.00V 0.05A AC= 57V 0.00W E=0.00 T=14 S=1 L=516.412kWh 20150422-20:42:20 Unexpected length 83 skip... 20150422-20:42:22 Unexpected length 83 skip... 20150422-20:42:28 Unexpected length 83 skip... 20150422-20:42:36 Unexpected length 83 skip... |
ps: ik heb nog niet je laatste versie erop staan. wel de versie hiervoor
[ Voor 7% gewijzigd door NLMaca op 22-04-2015 22:36 ]
De code weet ik niet zo, maar ik weet wel dat de inverters een ander soort (langere) datagrammen verzenden bij hele lage power. Ik vermoed als ze net op het randje aan en uit springen, misschien een aanmelding oid? We snappen deze strings niet zo, maar herkennen ze op lengte van de string, dat zal hier aan de hand zijn.NLMaca schreef op woensdag 22 april 2015 @ 22:34:
zegt jou dit iets?
[code]
110085734 DC= 0W 0.00V 0.05A AC= 57V 0.00W E=0.00 T=14 S=1 L=516.412kWh
20150422-20:42:20 Unexpected length 83 skip...
Thx voor de response duinsel.duinsel schreef op woensdag 22 april 2015 @ 22:40:
[...]
De code weet ik niet zo, maar ik weet wel dat de inverters een ander soort (langere) datagrammen verzenden bij hele lage power. Ik vermoed als ze net op het randje aan en uit springen, misschien een aanmelding oid? We snappen deze strings niet zo, maar herkennen ze op lengte van de string, dat zal hier aan de hand zijn.
heb t script inmiddels gepatched naar de laatste versie. ik zal die meldingen eens gaan bijhouden
Ik had ze aangezet bij het speuren naar een communicatieprobleem. Dat is nu klaar en opgelost. De inverters geven inderdaad soms wat rare/lange strings bij weinig licht. Deze lange sitars worden genegeerd.
https://github.com/omoerbeek/e2pv
Verwijderd
- op de gateway zijn ip adres ingevoerd
- op zijn modem de port 5040 geforward naar NAS ip
- in het script ook mijn enecsys omvormers bijgesloten
Probleem is dat enkel zijn omvormers worden herkend. Mijn omvormers worden dus niet herkend. Heeft iemand een idee waar het mis gaat en of hef überhaupt mogelijk is? Is er ook een oplossing?
De code is in staat om maximaal 1 gateway af te handelen. Meerdere gateways zal niet gaan, sorry.Verwijderd schreef op woensdag 22 april 2015 @ 23:45:
Ik heb het script volledig draaien bij een vriend van mij. Script draait via zijn NAS. Nu ben ik aan het testen om ook mijn zonnepanelen via zijn NAS te laten lopen. Inmiddels heb ik:
- op de gateway zijn ip adres ingevoerd
- op zijn modem de port 5040 geforward naar NAS ip
- in het script ook mijn enecsys omvormers bijgesloten
Probleem is dat enkel zijn omvormers worden herkend. Mijn omvormers worden dus niet herkend. Heeft iemand een idee waar het mis gaat en of hef überhaupt mogelijk is? Is er ook een oplossing?
Als je wil experimenteren kan je wel twee instanties van het script draaien. De tweede moet dan wel een alternatieve poort gebruiken. Kan allen in in de code aanpassen, zoek naar 5040 en verander die bv in 5041.
https://github.com/omoerbeek/e2pv
Verwijderd
Bedankt voor de reactie. Ik heb dit zojuist uitgeprobeerd maar krijg de melding "socket_bind: Address already in use". Enig idee?omoerbeek schreef op donderdag 23 april 2015 @ 06:53:
[...]
De code is in staat om maximaal 1 gateway af te handelen. Meerdere gateways zal niet gaan, sorry.
Als je wil experimenteren kan je wel twee instanties van het script draaien. De tweede moet dan wel een alternatieve poort gebruiken. Kan allen in in de code aanpassen, zoek naar 5040 en verander die bv in 5041.
Voor de duidelijkheid: de ene draai je dus met 5040, de ander met 5041. Om dit te laten werken moet je dus een kopie van script maken en dan de kopie wijzigen. Omdat je ook verschillende config.php wil gebruiken, is het het handigst een aparte directory aan te maken voor de 2e versie.Verwijderd schreef op donderdag 23 april 2015 @ 12:47:
[...]
Bedankt voor de reactie. Ik heb dit zojuist uitgeprobeerd maar krijg de melding "socket_bind: Address already in use". Enig idee?
pfff auto correct
[ Voor 16% gewijzigd door omoerbeek op 23-04-2015 13:10 ]
https://github.com/omoerbeek/e2pv
Verwijderd
Inderdaad zo heb ik het nu gedaan. Zal alles nog een keer nalopen.omoerbeek schreef op donderdag 23 april 2015 @ 12:49:
[...]
Voor de duidelijkheid: de ene draai je dus met 5040, de ander met 5041. Om dit te laten werken moet je dus een kopie van script maken en dan de kopie wijzigen. Omdat je ook verschillende config.php wil gebruiken, is het het handigst meen aparte directie aan te maken voor de 2e versie.
Ik neem toch aan dat het script alleen data doorstuurt naar PVOutput van inverters die in de config staan?omoerbeek schreef op donderdag 23 april 2015 @ 13:02:
Ow, en let wel op: het script accepteer data van elke bron. Als je het script draait op een publiek toegankelijk ip/poort, verwacht dan dat iemand gaat spelen met je data....
... en gaat over tot de orde van de dag
Nee, want by default hoef je de inverters niet te listen (in SPLIT mode wel). Je kan wel specifieke inverters negeren.P_Tingen schreef op donderdag 23 april 2015 @ 13:32:
[...]
Ik neem toch aan dat het script alleen data doorstuurt naar PVOutput van inverters die in de config staan?
https://github.com/omoerbeek/e2pv
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
| ; Algemene sectie IdCount=N APIKEY=hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh SYSTEMID=NNNNNN LIFETIME=true MODE=AGGREGATE EXTENDED=false AC= 0 [mapping] systemid[NNNNNNNNN] = XXXXXX systemid[MMMMMMMMM] = YYYYYY apikey[NNNNNNNNN] = hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh apikey[MMMMMMMMM] = hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ignored[] = NNNNNNNNNNN ; commentaar [mysql] MYSQLHOST=localhost MYSQLUSER=myuser MYSQLPASSWORD=mypw MYSQLDB=mydbname MYSQLPORT=3306 |
[ Voor 6% gewijzigd door omoerbeek op 23-04-2015 14:09 ]
https://github.com/omoerbeek/e2pv
Kleur veranderd met de output hoogte.
In de head sectie toegevoegd:
<style>
body { color: black;}
td { color: white ;}
</style>
bij
//output for each inverter
if ($row['dcpower'] < "50") {echo"<td bgcolor='#FF0000'><table>"; }
elseif ($row['dcpower'] < "90") {echo"<td bgcolor='#CCCCFF'><table>"; }
elseif ($row['dcpower'] < "110") {echo"<td bgcolor='#9999FF'><table>"; }
elseif ($row['dcpower'] < "130") {echo"<td bgcolor='#6666FF'><table>"; }
elseif ($row['dcpower'] < "150") {echo"<td bgcolor='#3333FF'><table>"; }
elseif ($row['dcpower'] < "170") {echo"<td bgcolor='#0000FF'><table>"; }
else {echo"<td bgcolor='#0000CC'><table>"; }
[ Voor 4% gewijzigd door jandoedel99 op 23-04-2015 16:38 ]
Verwijderd

Zodra ik wat concreets heb, zal ik het posten.
Wel even muggeziften: kWh is een maat voor energie, niet vermogen.
Vermogen (Engels power) meet je in Watts. Een bepaald vermogen gedurende een bepaalde tijd levert energie, gemeten in kWh (kilo Watt uur)
https://github.com/omoerbeek/e2pv
Als we kunnen testen dan horen wij het graag.
... en gaat over tot de orde van de dag
Verwijderd
Error 7 occurred at Open/Create/Replace File in Write Spreadsheet String.vi->Write To Spreadsheet File (string).vi->Lee_enecsys.vi
Possible reason(s):
LabVIEW: File not found. The file might have been moved or deleted, or the file path might be incorrectly formatted for the operating system. For example, use \ as path separators on Windows, : on Mac OS X, and / on Linux. Verify that the path is correct using the command prompt or file explorer.
C:\temp\2015_04_23_192.168.2.1.dat
Verwijderd
Is er wel al iets van een stappen plan voor niet scripts mensen.duinsel schreef op woensdag 22 april 2015 @ 21:14:
[...]
De simpelste oplossingen zijn met aloaha (niet gratis)
http://www.dataservices.solar/
Of misschien met dit windows programaatje
http://forum.solar-electr.../17597-enecsys-monitoring
of even doorbijten met scripts in Perl of PHP.
Of even wachten tot er een kant en klaar recept wordt geschreven. Alle software verandert nu nog met de dag zo'n beetje.
Ik heb wel een PI liggen hier, maar zie nu zoveel voorbij komen dat ik eerlijk gezegd geen idee heb waar te beginnen
Daarmee heb ik het aan de praat gekregen. Mijn (commandline) linux kennis is niet echt groot, een beetje weten hoe dat werkt scheelt wel. Ik heb zelf nog niet het MySQL deel gedaan, alleen het PHP stuk.
Verwijderd schreef op donderdag 23 april 2015 @ 20:14:
Ik heb het oude programma van labVieuw...op mijn pc geinstalleerd, werkt wel maar krijg error 7 melding
Error 7 occurred at Open/Create/Replace File in Write Spreadsheet String.vi->Write To Spreadsheet File (string).vi->Lee_enecsys.vi
Possible reason(s):
LabVIEW: File not found. The file might have been moved or deleted, or the file path might be incorrectly formatted for the operating system. For example, use \ as path separators on Windows, : on Mac OS X, and / on Linux. Verify that the path is correct using the command prompt or file explorer.
C:\temp\2015_04_23_192.168.2.1.dat
Op de eerste pagina van het topic.Verwijderd schreef op donderdag 23 april 2015 @ 20:33:
[...]
Is er wel al iets van een stappen plan voor niet scripts mensen.
Ik heb wel een PI liggen hier, maar zie nu zoveel voorbij komen dat ik eerlijk gezegd geen idee heb waar te beginnen
tijd is even een issue. Ik hoop dit weekend een nagenoeg kant en klare pi image aan te kunnen bieden ter download. ben nog bezig met de docu om een paar command regels te maken die je uit moet voeren om het compleet teaken, zodat het voor de leek een nagenoeg plug en play actie wordt.Verwijderd schreef op donderdag 23 april 2015 @ 20:33:
[...]
Is er wel al iets van een stappen plan voor niet scripts mensen.
Ik heb wel een PI liggen hier, maar zie nu zoveel voorbij komen dat ik eerlijk gezegd geen idee heb waar te beginnen
1image met alleen pvoutput en logopruiming.
2e image incl locale webserver. Maar daar moet ik nog een logopruiming script voor de db voor maken
Edit; en dashboard hoop ik ook weer wat te kunnen updaten
[ Voor 14% gewijzigd door NLMaca op 24-04-2015 09:24 ]
Bedankt!
Bedankt!
Verwijderd
Heb een aantal keren getest maar krijg het maar niet draaiende. Krijg de melding "socket_bind: Address already in use". Lijkt wel of script geen externe gateway accepteert ofzo. Heb je nog een suggestie?Verwijderd schreef op donderdag 23 april 2015 @ 13:07:
[...]
Inderdaad zo heb ik het nu gedaan. Zal alles nog een keer nalopen.
aandachtspuntje:
De rapporteer knop is niet hetzelfde als de quote knop: let er op dat je op de goede drukt!