Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
@laurensbroumels

Check met
netstat -na | grep LISTEN
of er mischief al iets draait op poort 5041.

De foutmelding (van het OS) betekent: je kan niet luisteren op de poort, want er is al iets dat luistert op de poort.

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

Verwijderd

Beste Tweakers,

Omdat wij hier thuis ook Enecsys hebben, en nu het monitoring systeem helemaal offline is heb ik een dashboard gemaakt met de volgende gegevens:

1) Overzichten per jaar, maand, dag en overzicht actuele gegevens (met laatst bijgewerkte datum / tijdstip)
2) Downloaden alle paneeldata in CSV / Excel-formaat
3) Interactieve dakindeling met overzicht van vermogen in kW (dak is door de gebruiker verschuif- en ondeelbaar zodat dakindeling gemaakt kan worden)
4) Grafieken met overzicht van huidig vermogen per paneel
5) Namen toekennen aan panelen / inventers
6) Gemiddelden over de drie laatste maanden
7) Per paneel / inverter het maximale vermogen in kunnen stellen

Het draait op een Ubuntu VPS in een datacenter in Frankrijk. Het script zodanig aangepast zodat er meerdere connecties beschikbaar zijn op 1 port en op de ene server. We hebben er nu twee gateways op draaien.

Jullie kunnen een voorbeeld bekijken op www.sunpanels.eu. Gebruikersnaam is "henrie" en wachtwoord "henrie" (hetzelfde). Moet het natuurlijk wel mooi weer zijn, anders zie je weinig ;-).

Interesse in een account? Neem even contact op. Uiteraard is alles "as-is", er worden geen garanties geleverd dat servers online blijven o.i.d.. Dit zijn allemaal nog prototypes.

Groet!
Erik van Heck

Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
@erikvanheck als je het hebt over "het script" bedoel je dan mijn script?

Zo ja, als jij al meerdere gateways ondersteunt, kan je dan een diff sturen? Scheelt mij weer werk.

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

Verwijderd

@omoerbeek het script wat op de eerste pagina te downloaden is van Github. Denk dat 'ie van jou is inderdaad.

Wat ik veranderd heb, is dat na elke keer een pakketje aan data te hebben ontvangen (in de loop) het systeem de verbinding weer verbreekt. Op die manier kan het systeem in 1 proces meerdere gateways ontvangen (het duurt wel iets langer voordat alle data dan binnen is).

Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
Verwijderd schreef op zaterdag 25 april 2015 @ 12:22:
@omoerbeek het script wat op de eerste pagina te downloaden is van Github. Denk dat 'ie van jou is inderdaad.

Wat ik veranderd heb, is dat na elke keer een pakketje aan data te hebben ontvangen (in de loop) het systeem de verbinding weer verbreekt. Op die manier kan het systeem in 1 proces meerdere gateways ontvangen (het duurt wel iets langer voordat alle data dan binnen is).
mijn copyright staat erin, dus....

anwyay, dat is technisch gezien niet de mooiste oplossing naar mijn mening. Ikzelf was van plan een variant te maken die een "fork" doet en per gateway een proces maakt. Aan de andere kant, als het werkt...

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
Verwijderd schreef op zaterdag 25 april 2015 @ 11:48:
Beste Tweakers,

Omdat wij hier thuis ook Enecsys hebben, en nu het monitoring systeem helemaal offline is heb ik een dashboard gemaakt met de volgende gegevens:

1) Overzichten per jaar, maand, dag en overzicht actuele gegevens (met laatst bijgewerkte datum / tijdstip)
2) Downloaden alle paneeldata in CSV / Excel-formaat
3) Interactieve dakindeling met overzicht van vermogen in kW (dak is door de gebruiker verschuif- en ondeelbaar zodat dakindeling gemaakt kan worden)
4) Grafieken met overzicht van huidig vermogen per paneel
5) Namen toekennen aan panelen / inventers
6) Gemiddelden over de drie laatste maanden
7) Per paneel / inverter het maximale vermogen in kunnen stellen

Het draait op een Ubuntu VPS in een datacenter in Frankrijk. Het script zodanig aangepast zodat er meerdere connecties beschikbaar zijn op 1 port en op de ene server. We hebben er nu twee gateways op draaien.

Jullie kunnen een voorbeeld bekijken op www.sunpanels.eu. Gebruikersnaam is "henrie" en wachtwoord "henrie" (hetzelfde). Moet het natuurlijk wel mooi weer zijn, anders zie je weinig ;-).

Interesse in een account? Neem even contact op. Uiteraard is alles "as-is", er worden geen garanties geleverd dat servers online blijven o.i.d.. Dit zijn allemaal nog prototypes.

Groet!
Erik van Heck
misschien leuk om de code te delen ipv een account aan te moeten vragen?

Acties:
  • 0 Henk 'm!

Verwijderd

NLMaca schreef op zaterdag 25 april 2015 @ 15:10:
[...]
misschien leuk om de code te delen ipv een account aan te moeten vragen?
Yes, ga ik doen. Eerst even wachten totdat m'n VPS weer opgestart is. Blijkbaar is er iets vreemds aan de hand (beta he). Daarna zal ik mijn aangepaste versie van verwerk-script sturen! :)

Wat vinden jullie van het dashboard?

[ Voor 4% gewijzigd door Verwijderd op 25-04-2015 16:25 ]


Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
kzag al dat ie down was.
thx

Acties:
  • 0 Henk 'm!

Verwijderd

omoerbeek schreef op zaterdag 25 april 2015 @ 12:57:
[...]


mijn copyright staat erin, dus....

anwyay, dat is technisch gezien niet de mooiste oplossing naar mijn mening. Ikzelf was van plan een variant te maken die een "fork" doet en per gateway een proces maakt. Aan de andere kant, als het werkt...
Klopt, ben ik ook naar het aan kijken. Maar multi-threading kan (eigenlijk) niet in een synchrone programmeertaal als PHP. Ben ook aan het kijken voor een Python-daemon welke de data verzamelt en opslaat.

Acties:
  • 0 Henk 'm!

Verwijderd

De code is als een commit gestuurd naar de branche van omboerbeek!

Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
Verwijderd schreef op zaterdag 25 april 2015 @ 18:07:
[...]


De code is als een commit gestuurd naar de branche van omboerbeek!
Ik zie geen pull request in github.

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
Verwijderd schreef op zaterdag 25 april 2015 @ 18:07:
[...]


De code is als een commit gestuurd naar de branche van omboerbeek!
ik ben voornamelijk nieuwsgierig naar de queries die je in het dashboard hebt.van het uitlees script van de enecsys gateway hou ik momenteel die van omoerbeek aan.

dashboard: hoop ik vanavond ook verder uit te breiden met een bootstrap 3. alleen ik zag dat jij al een aantal extra queries hebt draaien of is het random data?

Acties:
  • 0 Henk 'm!

Verwijderd

NLMaca schreef op zaterdag 25 april 2015 @ 19:09:
[...]


ik ben voornamelijk nieuwsgierig naar de queries die je in het dashboard hebt.van het uitlees script van de enecsys gateway hou ik momenteel die van omoerbeek aan.

dashboard: hoop ik vanavond ook verder uit te breiden met een bootstrap 3. alleen ik zag dat jij al een aantal extra queries hebt draaien of is het random data?
Yes. Bijvoorbeeld om gemiddelden van data te berekenen over de maand april:
SELECT AVG(wh) AS avg_wh, AVG(dcpower) AS avg_dcpower, AVG(dccurrent) AS avg_dccurent, AVG(efficiency) AS avg_efficiency, AVG(acfreq) AS avg_acfreq, AVG(acvolt) AS avg_acvolt, AVG(temp) AS avg_temp, AVG(state) AS avg_state, id FROM enecsys WHERE DATE(ts) BETWEEN '2015-04-01' AND '2015-04-30' GROUP BY id.

Met zo'n query krijg je, per ID van binnenkomst, gemiddeldes over een bepaalde periode.

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
kijk. thx
bij nader inzien denk ik dat ik de bootstrap skip, omdat ik het zo licht en optimaal mogelijk op een rpi wil hebben draaien. de javascripts en jqueries kunnen een onnodige vertraging geven.

historie data misschien naar een andere tabel en dan de hoofdtabel truncaten tot bijv een maand terug. is meer bedoeld om de performance te houden.

de rpi 2 heeft meer power, maar die moet ik nog testen.

Acties:
  • 0 Henk 'm!

Verwijderd

NLMaca schreef op zaterdag 25 april 2015 @ 20:11:
kijk. thx
bij nader inzien denk ik dat ik de bootstrap skip, omdat ik het zo licht en optimaal mogelijk op een rpi wil hebben draaien. de javascripts en jqueries kunnen een onnodige vertraging geven.

historie data misschien naar een andere tabel en dan de hoofdtabel truncaten tot bijv een maand terug. is meer bedoeld om de performance te houden.

de rpi 2 heeft meer power, maar die moet ik nog testen.
Uit ervaring van afnemers heb ik vernomen dat ze eens in de zoveel tijd een CSV-sheet willen kunnen maken met alle data vanaf start. Daarom bewaar ik echt alle data die ik binnen krijg.

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
op een rpi dat soort queries draaien is een aardige dooddoener. ik ben meer met de live logging bezig en wil voorlopig de history data via pvoutput laten lopen. voor echte grote datasets is een rpi niet geschikt.

Acties:
  • 0 Henk 'm!

  • Dylotic
  • Registratie: April 2002
  • Laatst online: 29-11-2021
Ik prefereer ook PVOutput verder de mogelijkheid om de inverters live te kunnen zien.
Momenteel hebben we deze mogelijkheden. Het kan altijd nog wel wat opgepoetst worden.
Groter belang lijkt me om het gebruiks vriendelijker te maken zodat iedereen eenvoudig zijn
inverters kan loggen en zien voor een lage investering bijv. een RP.

Acties:
  • 0 Henk 'm!

  • jandoedel99
  • Registratie: April 2015
  • Laatst online: 09-07 11:25
Verwijderd schreef op woensdag 22 april 2015 @ 20:13:
Heb wat zitten spelen met een vergelijkbare report out zoals gedaan werd op de enecsys website. (panelen met wattage welke feller worden naar mate de output hoger wordt).

[afbeelding]

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).

/* 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'];

}
}
Wat moeten de regels zijn om dit uit de 'omoerbeek database' te halen.
Al diverse dingen geprobeerd maar geen gegevens.

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
Dylotic schreef op zaterdag 25 april 2015 @ 21:44:
Ik prefereer ook PVOutput verder de mogelijkheid om de inverters live te kunnen zien.
Momenteel hebben we deze mogelijkheden. Het kan altijd nog wel wat opgepoetst worden.
Groter belang lijkt me om het gebruiks vriendelijker te maken zodat iedereen eenvoudig zijn
inverters kan loggen en zien voor een lage investering bijv. een RP.
ik heb straks een image klaar (voor een 16gb micro sd kaartje) waarbij je alleen nog 2 regels op de commandline hoeft uit te voeren.

1. het eerste script vraagt je om het ipadres in te stellen.
2. het tweede script vraagt je om de gegevens op te geven voor het script van omoerbeek.

vandaar uit een reboot. je enecsys gateway aanpassen en alles loopt verder automatisch. veel makkelijker kan ik het dan niet maken.

edit: dit is wel eerst alleen voor de output naar pvoutput. daar was het oorspronkelijk in eerste instantie om te doen.
voor de locale logging maak ik nog wel een nieuw script, maar dat is ook afhankelijk van wat men wil.

[ Voor 11% gewijzigd door NLMaca op 25-04-2015 22:11 ]


Acties:
  • 0 Henk 'm!

Verwijderd

jandoedel99 schreef op zaterdag 25 april 2015 @ 22:04:
[...]


Wat moeten de regels zijn om dit uit de 'omoerbeek database' te halen.
Al diverse dingen geprobeerd maar geen gegevens.
Nog even geduld, heb de grafische library bijna klaar, welke de gehele layout terug geeft in een image.
Ik zal dan ook kijken of ik het SQL deel toe kan voegen om de data direct uit de omoerbeek database te lezen.

Acties:
  • 0 Henk 'm!

Verwijderd

NLMaca schreef op zaterdag 25 april 2015 @ 22:09:
[...]


ik heb straks een image klaar (voor een 16gb micro sd kaartje) waarbij je alleen nog 2 regels op de commandline hoeft uit te voeren.

1. het eerste script vraagt je om het ipadres in te stellen.
2. het tweede script vraagt je om de gegevens op te geven voor het script van omoerbeek.

vandaar uit een reboot. je enecsys gateway aanpassen en alles loopt verder automatisch. veel makkelijker kan ik het dan niet maken.

edit: dit is wel eerst alleen voor de output naar pvoutput. daar was het oorspronkelijk in eerste instantie om te doen.
voor de locale logging maak ik nog wel een nieuw script, maar dat is ook afhankelijk van wat men wil.
Beste NLMaca ik zit met smart te wachten op het resultaat _/-\o_
en ben van plan om daar zeker gebruik van te maken daarvoor alvast mijn dank :)

Acties:
  • 0 Henk 'm!

  • jandoedel99
  • Registratie: April 2015
  • Laatst online: 09-07 11:25
Verwijderd schreef op zaterdag 25 april 2015 @ 22:33:
[...]


Nog even geduld, heb de grafische library bijna klaar, welke de gehele layout terug geeft in een image.
Ik zal dan ook kijken of ik het SQL deel toe kan voegen om de data direct uit de omoerbeek database te lezen.
Top

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
teaser, tot dusver heb ik t script werkend. nog even alles nalopen en dan een versie image bakken. en korte handleiding bijwerken/maken. :D

Afbeeldingslocatie: http://vanmarion.nl/projects/enecsys/teaser_e2pv_config.jpg

Acties:
  • 0 Henk 'm!

  • JakeNL
  • Registratie: Februari 2001
  • Laatst online: 02-07 20:16
Super bedankt alvast voor alle energie :-) die jullie in zo'n korte tijd in dit project gestoken hebben!

Dat de Enecsys monitoring website jaren lang gelijk gebleven was en er niet meer dan een simpele Apple app onwikkeld werd, heeft me altijd al een onaangenaam gevoel gegeven over de slagkracht en groei van Enecsys.

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
Testers gezocht !!! :
ter info: ik heb de image 3x getest. alleen.... ik heb geen zonnepanelen, dus dat laat ik graag aan jullie over :D

Nodig:
- raspberry Pi B+ 512 mb zonder OS
- micro usb voeding of via USB
- micro sd(incl sd adapter): 16GB
- netwerk kabel: 1m, 2m, 3m. mag je helemaal zelf weten
- behuizing: niet noodzakelijk

linkjes:
https://www.conrad.nl/nl/...?sc.queryFromSuggest=true
https://www.conrad.nl/nl/...b-1-x-1200-ma-514691.html
https://www.conrad.nl/nl/...ecertificeerd-662700.html
https://www.conrad.nl/nl/...?sc.queryFromSuggest=true
https://www.conrad.nl/nl/...4195.html?sc.ref=Homepage
ergens anders kopen mag ook, maakt mij niet uit en is als voorbeeld bedoeld

update: 26-04-2015 / 22:44 uur
verder info staat op een nieuwe github repository. deze bevat een nieuwe image met een 2tal installatie scripts.
https://github.com/nlmaca/Enecsys_RPI_images


update: er zit in deze image geen logging van omoerbeek zijn script. alles wordt dus rechtstreeks doorgestuurd.
het is ook standaard opzet (dus zonder mysql, zonder split). wil je dat wel, dan moet je de /home/pi/enecys/config.php handmatig aanpassen.


voorbereiding:
1. downloaden / installeren:
- fing (app op zowel android als apple). om je netwerk te scannen. heb je iets anders? ook goed.
- win32diskmanager: http://sourceforge.net/projects/win32diskimager/
- putty: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
- raspberry image (zip vervolgens uitpakken): [excuus, nieuw linkje komt eraan]

note*: indien de image link niet werkt, stuur een pb met je emailadres, dan stuur ik m via wetransfer.

2. Pvoutput account aanmaken en je systeem aanmaken. en de apikey en system id paraat houden
let er wel op dat de interval op 10min staat bij je systeem.
link: http://pvoutput.org/
nodig:
- apikey
- systemid

Install time:
stop je micro usb in je pc:

start win32 diskmanager. selecteer de image die je net gedownload hebt:
enecsys_auto_install_e2pv_16gb
Afbeeldingslocatie: http://i.imgur.com/w5AizFH.jpg
* selecteer alle files *.* als je de image niet ziet
en kies aan de rechterkant je sd disk
Afbeeldingslocatie: http://i.imgur.com/s8alEVL.jpg

klik vervolgens op write. nu is het wachten totdat de image op je sd kaart gezet wordt. (koffie drinken dus ;))

als dit afgerond is kun je de micro-sd in je rpi stoppen en aanzetten. wel zorgen dat je rpi aan het netwerk hangt.

scan met Fing naar het ipadres van de raspberry. Dit ipadres heb je nodig om te connecten en straks in te stellen als statisch ip adres.

Start Putty:
en vul het ipadres in waar nu 192.168.10.23 staat. en klik op open
Afbeeldingslocatie: http://i.imgur.com/ltiFSpv.jpg

login met
code:
1
2
user: pi
wachtwoord: raspberry


je zit nu al gelijk in de goede directory. start het commando om je ipadres statisch te gaan maken. gebruik hiervoor hetzelfde ip.

update: 26-04-2015 / 22:44 uur
verder info staat op een nieuwe github repository. deze bevat een nieuwe image met een 2tal installatie scripts.
https://github.com/nlmaca/Enecsys_RPI_images


enecsys gateway aanpassen
log in op het ipadres van de enecsys gateway.
login: admin
wachtwoord: password

en pas daar het remote server address aan naar het ipadres van de raspberry en klik dan op save. vanaf nu stuurt de gateway zn informatie dus naar de raspberry
Afbeeldingslocatie: http://i.imgur.com/ubp9LMs.jpg

wil je toch je settings aan passen? draai het script dan nogmaals. het bestand wordt elke keer overschreven als je het script draait.

nu hoop ik voor dat het nog licht is, dan zou je na 10 -20 minuten output moeten zien op je pvoutput account.

Bij problemen?
zeg niet hij doet het niet, maar laat weten welke stappen je gedaan hebt, zodat ik je gericht kan helpen.

edit: enecsys gateway aanpassing vergeten.
edit: op aangeven van Thinkpad images verplaatst naar imgur

[ Voor 23% gewijzigd door NLMaca op 26-04-2015 22:44 ]


Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
@erikvanheck ik heb je diff bekeken, maar voorlopig lijkt me dit niet de juiste oplossing voor meerdere gateways. Ik ga andere oplossingen bekijken. Dat kunnen oplossingen zijn die bijvoorbeeld een process maken per gateway, of die meerdere sockets openen en socket_select gebruiken.

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

Verwijderd

omoerbeek schreef op zondag 26 april 2015 @ 08:18:
@erikvanheck ik heb je diff bekeken, maar voorlopig lijkt me dit niet de juiste oplossing voor meerdere gateways. Ik ga andere oplossingen bekijken. Dat kunnen oplossingen zijn die bijvoorbeeld een process maken per gateway, of die meerdere sockets openen en socket_select gebruiken.
Zou echt top zijn! Ik wacht geduldig op je nieuwe script :)

Acties:
  • 0 Henk 'm!

Verwijderd

Dat moet mij zelfs lukken :)
NLMaca schreef op zaterdag 25 april 2015 @ 22:09:
[...]


ik heb straks een image klaar (voor een 16gb micro sd kaartje) waarbij je alleen nog 2 regels op de commandline hoeft uit te voeren.

1. het eerste script vraagt je om het ipadres in te stellen.
2. het tweede script vraagt je om de gegevens op te geven voor het script van omoerbeek.

vandaar uit een reboot. je enecsys gateway aanpassen en alles loopt verder automatisch. veel makkelijker kan ik het dan niet maken.

edit: dit is wel eerst alleen voor de output naar pvoutput. daar was het oorspronkelijk in eerste instantie om te doen.
voor de locale logging maak ik nog wel een nieuw script, maar dat is ook afhankelijk van wat men wil.

Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
Ik heb een SD kaart van 8 gig. Jammer anders was ik gaan testen vandaag. Zijn er nog speciale eisen voor de 16 gig, of werken die allemaal.

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
wersitime schreef op zondag 26 april 2015 @ 10:31:
Ik heb een SD kaart van 8 gig. Jammer anders was ik gaan testen vandaag. Zijn er nog speciale eisen voor de 16 gig, of werken die allemaal.
volgens mij werken ze allemaal gewoon. groter mag ook natuurlijk

[ Voor 4% gewijzigd door NLMaca op 26-04-2015 10:44 ]


Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
wersitime schreef op zondag 26 april 2015 @ 10:31:
Ik heb een SD kaart van 8 gig. Jammer anders was ik gaan testen vandaag. Zijn er nog speciale eisen voor de 16 gig, of werken die allemaal.
ik ga eens kijken of ik een kleinere image kan maken, zodat die wel op een 8gb past. ik beloof echter niks;)

update: krijg nou wat. vond nog een 2gb in mijn nokia e71. daar eens mee testen dan haha.
crap. is weer te klein

[ Voor 15% gewijzigd door NLMaca op 26-04-2015 11:08 ]


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 12:16
Zet de plaatjes ook even op een andere host (imgur.com ofzo), dan werken de plaatjes over 2-3 jaar ook nog ;)

Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
Als je wil spelen met meerdere gateways: ik heb een branch in github gemaakt met daarin de nieuwe code:

https://github.com/omoerbeek/e2pv/tree/mclient

Deze code gebruikt socket_select() om meerdere verbindingen te onderhouden. Daarnaast de code wat meer Object Oriented gemaakt.

Als het allemaal een beetje OK werkt trek ik dit naar de master branch.

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
ThinkPadd schreef op zondag 26 april 2015 @ 12:06:
Zet de plaatjes ook even op een andere host (imgur.com ofzo), dan werken de plaatjes over 2-3 jaar ook nog ;)
goed punt. zal ze wijzigen. thx

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
omoerbeek schreef op zondag 26 april 2015 @ 12:16:
Als je wil spelen met meerdere gateways: ik heb een branch in github gemaakt met daarin de nieuwe code:

https://github.com/omoerbeek/e2pv/tree/mclient

Deze code gebruikt socket_select() om meerdere verbindingen te onderhouden. Daarnaast de code wat meer Object Oriented gemaakt.

Als het allemaal een beetje OK werkt trek ik dit naar de master branch.
kan het helaas niet testen. heb niet eens 1 gateway;)

Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
19roland70 schreef op zaterdag 14 maart 2015 @ 09:28:
@twixx ik heb dit script draaien op een Raspberry en ik heb de volgende packages gedownload.
root@domoticzpi:~# apt-get install libmath-basecnv-perl
root@domoticzpi:~# apt-get install libdatetime-perl
root@domoticzpi:~# apt-get install libxml-simple-perl
root@domoticzpi:~# apt-get install libwww-perl

Om die lege vakken in het uitlezen op te vangen kun je misschien zo doen:
Als er geen nieuwe data is kun je dan niet de oude versturen ? (dit aanpassen in het script?)

Ik zie verder ook geen logisch ritme in de data dit is ooit om de 3 sec maar ook duurt het 15 sec.
Mijn RPi is werkend (19roland70 bedankt voor de uitleg op jouw website) maar nu wil ik er perl op installeren. Ik heb op internet gezocht maar wat ik ook doe ik krijg altijd de melding onbekend commando. Zoals hierboven heb ik ook geprobeerd.

Wat doe ik fout.

Het mooiste is natuurlijk dat ik de image installeer op de SD kaart maar ik heb alleen maar een 8 gig kaartje, dus voorlopig wil ik het even met perl doen zoals dat op mijn pc draait.

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • duinsel
  • Registratie: September 2002
  • Laatst online: 12-09 22:32
2 punten van aandacht:
-Hoofd en kleine letters maken uit in unix. perl en Perl en PERL zijn niet hetzelfde.
-probeer de apt-get commando's eens vooraf te laten gaan door sudo om admin rechten te hebben. dus
code:
1
sudo apt-get install libxml-simple-perl

bijvoorbeeld

Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
NLMaca schreef op zondag 26 april 2015 @ 12:31:
[...]


kan het helaas niet testen. heb niet eens 1 gateway;)
@NLMaca, ik verwacht een full zero gateway test report on my desk first thing tomorrow morning! >:)

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
omoerbeek schreef op zondag 26 april 2015 @ 12:45:
[...]


@NLMaca, ik verwacht een full zero gateway test report on my desk first thing tomorrow morning! >:)
crap dat wordt nachtwerk haha.

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
duinsel schreef op zondag 26 april 2015 @ 12:42:
[...]


2 punten van aandacht:
-Hoofd en kleine letters maken uit in unix. perl en Perl en PERL zijn niet hetzelfde.
-probeer de apt-get commando's eens vooraf te laten gaan door sudo om admin rechten te hebben. dus
code:
1
sudo apt-get install libxml-simple-perl

bijvoorbeeld
ik heb ergens ook halverwege een post geplaatst met hoe je perl installeert. een raspberry install gaf namelijk bij aardig wat issues.
ik ben gestopt met perl draaien op de rpi. simpelweg omdat het geheugen volliep en daardoor het script eigenlijk al stopte voordat het uberhaupt gestart was.

een rpi en menig nieuwe linux distro heeft geen direct root account meer. als je toch echt als root wilt draaien gebruik dan deze:
#sudo bash -> geef je user password in en je draait dan als root

Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
duinsel schreef op zondag 26 april 2015 @ 12:42:
[...]


2 punten van aandacht:
-Hoofd en kleine letters maken uit in unix. perl en Perl en PERL zijn niet hetzelfde.
-probeer de apt-get commando's eens vooraf te laten gaan door sudo om admin rechten te hebben. dus
code:
1
sudo apt-get install libxml-simple-perl

bijvoorbeeld
Bedankt Duinsel dit werkt. Blijkbaar werkt het op de RPi anders dan op de PC dus gelijk de volgende vragen:

Hoe start ik nu perl.
Hoe copieër ik het script naar de RPi en naar welke directory.
Met WinSCP krijg ik de melding "Toegang geweigerd"
Jaja nog nooit met een RPi gewerkt!!!

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

Verwijderd

Versie 1.0 van de grafische Solarpanel library is klaar en staat op GitHub:

https://github.com/RJJBrouwer/PHPSolarLib.git

Wat voorbeelden:

Afbeeldingslocatie: http://rc4me.nl/pub/solarExample2.png

Afbeeldingslocatie: http://rc4me.nl/pub/solarExample3.png

Afbeeldingslocatie: http://rc4me.nl/pub/solarExample4.png

ENJOY 8) !

Acties:
  • 0 Henk 'm!

  • duinsel
  • Registratie: September 2002
  • Laatst online: 12-09 22:32
ff geduld, ik post zo een gehele herziene versie van het Perl script, ook zonder het geheugen probleem dat NLMaca net aanstipte.
Ik vind het programma MobaXterm fijn om mee te werken ipv putty. Die geeft naast je terminal een sftp panel waar je gewoon met drag and drop dingen mee kunt kopieren

Tevens raad ik het programma screen aan, daarmee kun je een sessie in de terminal maken die doorloopt als je SSH sessie afgesloten wordt, en die je daarna weer kan attachen.

Acties:
  • 0 Henk 'm!

  • pielle007
  • Registratie: April 2008
  • Laatst online: 12:52
omoerbeek schreef op zondag 26 april 2015 @ 12:45:
[...]


@NLMaca, ik verwacht een full zero gateway test report on my desk first thing tomorrow morning! >:)
omoerbeek, ik heb een vraag

heb dagelijks onderbrekingen (geen loggings naar pvoutput) en mis blijkbaar toch data wanneer je kijkt op een willekeurige dag in pvoutput.... http://www.pvoutput.org/list.jsp?id=40234&sid=36776 < dit is raspberry en hier de kwh meter+youless van me > http://www.pvoutput.org/list.jsp?id=22545&sid=20437
Bij de kwh meter mis ik geen interval en bij de pi dagelijks 1 tot 2 uur ?
Enig idee waar dit misgaat?

Acties:
  • 0 Henk 'm!

  • 19roland70
  • Registratie: Augustus 2013
  • Laatst online: 08-09 20:34
wersitime schreef op zondag 26 april 2015 @ 12:59:
[...]


Bedankt Duinsel dit werkt. Blijkbaar werkt het op de RPi anders dan op de PC dus gelijk de volgende vragen:

Hoe start ik nu perl.
Hoe copieër ik het script naar de RPi en naar welke directory.
Met WinSCP krijg ik de melding "Toegang geweigerd"
Jaja nog nooit met een RPi gewerkt!!!
perl starten :
pi@domoticzpi ~ $ perl /home/solar/enecsys.pl (eerst commando perl daarna het pad en de file)

copy :
pi@domoticzpi ~ $ cp file1 file2 (kopieert file1 naar file2 , als file 2 niet bestaat wordt deze aangemaakt)

verplaatsen:
pi@domoticzpi~ $ mv file1 file2 (verplaatst de inhoud van file1 naar file2)

als het geweigerd word kan zijn dat je de rechten goed moet zetten of inloggen als root met commando
pi@domoticzpi~ $ sudo su -


code:
1
Met WinSCP krijg ik de melding "Toegang geweigerd"

Je hebt geen root permissiesen zal eerst moeten zorgen dat je wel toegang krijgt.
inloggen als root en dan :
root@domoticzpi~ $ chmod 777 filename (waarbij filename de naam van de file is compleet met het hele pad )

[ Voor 21% gewijzigd door 19roland70 op 26-04-2015 13:19 ]


Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
Verwijderd schreef op zondag 26 april 2015 @ 13:04:
Versie 1.0 van de grafische Solarpanel library is klaar en staat op GitHub:

https://github.com/RJJBrouwer/PHPSolarLib.git

Wat voorbeelden:

[afbeelding]

[afbeelding]

[afbeelding]

ENJOY 8) !
ziet er goed uit, echter hoe moeten we er mee werken? de readme is een beetje leeg ;)

Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
19roland70 schreef op zondag 26 april 2015 @ 13:11:
[...]

perl starten :
pi@domoticzpi ~ $ perl /home/solar/enecsys.pl (eerst commando perl daarna het pad en de file)

copy :
pi@domoticzpi ~ $ cp file1 file2 (kopieert file1 naar file2 , als file 2 niet bestaat wordt deze aangemaakt)

verplaatsen:
pi@domoticzpi~ $ mv file1 file2 (verplaatst de inhoud van file1 naar file2)

als het geweigerd word kan zijn dat je de rechten goed moet zetten of inloggen als root met commando
pi@domoticzpi~ $ sudo su -
Het probleem is dat het commando pi@domoticzpi de foutmelding geeft command not found

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • Feanathiel
  • Registratie: Juni 2007
  • Niet online

Feanathiel

Cup<Coffee>

Dat is de user en hostname, pas na de $ is het relevant ;)

[ Voor 11% gewijzigd door Feanathiel op 26-04-2015 13:20 ]


Acties:
  • 0 Henk 'm!

  • 19roland70
  • Registratie: Augustus 2013
  • Laatst online: 08-09 20:34
bij jou zal er denk ik staan pi@raspberry ~$
hierachter type je het commando perl /home/solar/enecsys.pl

je zal dan dit zien :pi@raspberry ~$ perl /home/solar/enecsys.pl

Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
Feanathiel en 19roland70 bedankt voor de hulp. Helaas ik blijf allerlei foutmeldingen krijgen. Bij het copieëren krijg ik nu de melding No such file or directory, terwijl deze zeker wel bestaat. Verder krijg ik bij alles "Toegang geweigerd" bijvoorbeeld wanneer ik de directory /solar wil aanmaken.

Aangezien dit de eerste keer is dat ik met een RPi werk kan ik misschien beter wachten tot er een image is wat ik er zo op kan zetten. Is dat mogelijk een beter idee?

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
wersitime schreef op zondag 26 april 2015 @ 13:32:
Feanathiel en 19roland70 bedankt voor de hulp. Helaas ik blijf allerlei foutmeldingen krijgen. Bij het copieëren krijg ik nu de melding No such file or directory, terwijl deze zeker wel bestaat. Verder krijg ik bij alles "Toegang geweigerd" bijvoorbeeld wanneer ik de directory /solar wil aanmaken.

Aangezien dit de eerste keer is dat ik met een RPi werk kan ik misschien beter wachten tot er een image is wat ik er zo op kan zetten. Is dat mogelijk een beter idee?
ik heb een image van 16gb gemaakt (zie paar posts hierboven). echter niet met het perl script, maar met het script van omoerbeek. als je dus een 16gb sd kaartje hebt, zou je aan de slag kunnen.

tip: koop nog een rpi met sd kaartje en ga oefenen. er zijn genoeg tutorials te vinden.

Acties:
  • 0 Henk 'm!

Verwijderd

NLMaca schreef op zondag 26 april 2015 @ 13:13:
[...]


ziet er goed uit, echter hoe moeten we er mee werken? de readme is een beetje leeg ;)
Ja, die moet ik nog verder uitbreiden, maar ik heb er verschillende voorbeelden bij gedaan.
Deze zijn zo simpel en spreken voor zich.
Je behoeft enkel nog de data uit je database te lezen en de array conform voorbeeld te vullen.

Formaat is in html:
<html>
<img src="solarExample1.php" />
</html>

Waarbij je een file maakt solarExample1.php waarin je de code zet om database te lezen
en de definities van je layout / panels weer geeft bv:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php

include('./phpsolarlib.php');
$graph = new PHPSolarLib(60, 113);  /* width and height of the total image */

/* add SQL and fill table using following format */
$data = array (
        'panel 1' => array ('x' => '000', 'y' => '000', 'orientation' => '000', 'output' => '150')
          );

$graph->addSolarData($data); /* adds the data */
$graph->createSolarpanels(); /* creates Solarpanels and returns the image */

Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
pielle007 schreef op zondag 26 april 2015 @ 13:07:
[...]


omoerbeek, ik heb een vraag

heb dagelijks onderbrekingen (geen loggings naar pvoutput) en mis blijkbaar toch data wanneer je kijkt op een willekeurige dag in pvoutput.... http://www.pvoutput.org/list.jsp?id=40234&sid=36776 < dit is raspberry en hier de kwh meter+youless van me > http://www.pvoutput.org/list.jsp?id=22545&sid=20437
Bij de kwh meter mis ik geen interval en bij de pi dagelijks 1 tot 2 uur ?
Enig idee waar dit misgaat?
Ik heb gisteren nagekeken ik zie niet wat je bedoelt. De ene begint iets later, maar ze eindigen allebei rond 20:45. Kan je uitleggen met de data van gisteren wat je verwacht en wat je ziet?

Edit:

Even nog wat beter gekeken en nu zie ik het. Gister ochtend vanaf zeg 9 tot 11 uur mist er data.

Draai je de nieuwste versie van het script?

[ Voor 8% gewijzigd door omoerbeek op 26-04-2015 13:50 ]

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

  • duinsel
  • Registratie: September 2002
  • Laatst online: 12-09 22:32
Beste Allen,

Ik heb ondertussen wat doorgeklust aan 'mijn' script in Perl. Ik heb allemaal mooie bijdragen gezien van @P_Tingen en @omoerbeek, maar uiteraard ben ik ook eigenwijs en wilde zelf proberen wat moois te maken, deels met ideeen van deze heren. De code hieronder heeft de volgende eigenschappen:
  • Gebaseerd op Perl, dus geen php nodig bijvoorbeeld
  • Rapporteert naar PVOutput (code P_Tingen)
  • Geen geheugenbug zoals die in de versie van P_tingen
  • Gatewayverkeer moet naar de script machine worden gestuurd, dus geen polling meer via ajax.xml, maar *IP adres van de RasPi (of wat dan ook) invullen in de gateway
  • Decodering base64 dmv unpack commando naar model van omoerbeek, dat is eleganter.
  • Gebruikt een ini file zoals P_tingen dat ontworpen had. Alleen inverters in de ini worden gesubmit en opgeslagen, maar alle inverters komen voorbij in de terminal
  • PVOutput uploads zijn de som van wat er in de laatste 5min is voorbij gekomen. Inverters die niet voorbij komen in die tijd worden geacht uit te zijn.
  • Gebruikt SQLite als database voor korte termijn caching (5 min, alle data in RAM) en permanente opslag (elke 5 min een record op disk en naar PVOutput)
  • Ik heb ook wat ingebouwd om temperaturen van mijn zonneboiler mee te loggen, dat heb ik in deze post weg gecomment
Het php script van omoerbeek maakt snelle schreden en is wellicht een betere oplossing voor de gemiddelde gebruiker. Voor fans van Perl en andere hobbyisten is het onderstaande toch misschien de moeite waard.

Het script:
Perl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
#!/usr/bin/perl
# 
# EnecsysLogger is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Original script by Martijn van Duijn
# Includes adaptations (inspired) by Patrick Tingen and Otto Moerbeek
#
#use Math::BaseCnv;
#use Math::BaseCnv dig; # enable the dig option
#use XML::Simple;
use LWP::Simple;
use DateTime;
use LWP::UserAgent;
use POSIX qw(strftime);
use IO::Socket::INET;
use Config::Simple('-lc'); # -lc means ignore case
use List::Util qw( min max sum );
use DBD::SQLite;
use MIME::Base64 qw( decode_base64 encode_base64 );
#dig('url'); # select the right alphabet for the base64

# Print welcome message to screen
print "Enecsys Logging Script \n";


$LastOutput = time; #fake an output to make sure we get fresh data first

#Sqlite DB for caching production data
my $driver   = "SQLite";
my $database = "EnecsysCache.db"; #not used as the cache is made in memory
my $dsn = "DBI:$driver:dbname=:memory:";
my $userid = "";
my $password = "";
my $dbh = DBI->connect($dsn, $userid, $password, { RaiseError => 1 })
                      or die $DBI::errstr;
print "Opened caching database successfully\n";
my $stmt = qq(CREATE TABLE ENECSYSCACHE
      (                     INT     PRIMARY KEY,
       INVERTERID           INT     NOT NULL,
       INVERTERTEMP         INT,
       DCCURRENT            REAL,
       DCPOWER              REAL,
       DCVOLT               REAL,
       EFFICIENCY           REAL,
       ACFREQ               INT,
       ACVOLT               REAL,
       ACPOWER              REAL,
       LIFEWH               REAL,
       TIMESTAMP            TEXT););
my $rv = $dbh->do($stmt);
if($rv < 0){
   print $DBI::errstr;
} else {
   print "Caching Table created successfully\n";
}

#Make a second database handle for permanent local storage
my $driver   = "SQLite";
my $database = "EnecsysArchive.db";
my $dsn2 = "DBI:$driver:dbname=$database";
my $userid = "";
my $password = "";
my $dbh2 = DBI->connect($dsn2, $userid, $password, { RaiseError => 1 })
                      or die $DBI::errstr;
print "Opened Archive database successfully\n";
my $stmt = qq(CREATE TABLE IF NOT EXISTS ENECSYSARCHIVE
      (                     INT PRIMARY KEY,
       INVERTERID           INT    NOT NULL,
       INVERTERTEMP         REAL,
       DCCURRENT            REAL,
       DCPOWER              REAL,
       DCVOLT               REAL,
       EFFICIENCY           REAL,
       ACFREQ               INT,
       ACVOLT               REAL,
       ACPOWER              REAL,
       LIFEWH               REAL,
       TIMESTAMP            TEXT););
my $rv = $dbh2->do($stmt);
if($rv < 0){
   print $DBI::errstr;
} else {
   print "Archive Table created successfully\n";
}


# auto-flush on socket
$| = 1;
# creating a listening socket
my $socket = new IO::Socket::INET (
    LocalHost => '0.0.0.0',
    LocalPort => '5040',
    Proto => 'tcp',
    Listen => 5,
    Reuse => 1
);
die "cannot create socket $!\n" unless $socket;

#setup agent for uploads
my $UserAgent = new LWP::UserAgent;
my $NumReported = 0;

# Read config file
# Config file should be named enecsys.ini and look like this:
#
# [general]
# debugfile  = debugging.txt
# sleeptime  = 10               #not used currently as we wait for the gateway to send data to us
# correction = 0.99
#
# [pvoutput]
# apikey    = 4d3e5xxxxxfd38364cxxxxx379fcd28fxxxxxxxx
# systemid  = 12345
# interval  = 300
# 
# [gateway]
# address   = 192.168.1.100    #Gateway address not used currently as we configure the gateway to send data to here instead of pulling it to us.
# inverter1 = 110094998
# inverter2 = 110095188
# inverter3 = 110106981
#
# ... as much inverters as you have, keep numbering
#
$Config = new Config::Simple('enecsys.ini');

# get info from config file
$DebugFile  = $Config->param("general.debugfile");
$SleepTime  = $Config->param("general.sleeptime");
$Correction = $Config->param("general.correction");
$Interval   = $Config->param("pvoutput.interval");
$Apikey     = $Config->param("pvoutput.apikey");
$SystemId   = $Config->param("pvoutput.systemid");
$Gateway    = $Config->param("gateway.address");

# 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

writeDebug("Startup Enecsys logger \n");
writeDebug("Apikey     = $Apikey   ");
writeDebug("SystemId   = $SystemId ");
writeDebug("Gateway    = $Gateway  ");

# loop to get all inverters from ini file
do
{
    $NumInv = $NumInv + 1;
    $ThisInv = $Config->param("gateway.inverter" . $NumInv);
    @InverterId[$NumInv] = $ThisInv; 
}while ($ThisInv != "");
$NumInv = $NumInv - 1;

# Report them in the log
for ($a = 1; $a <= $NumInv ; $a = $a + 1){
    writeDebug("Inverter $a = @InverterId[$a]");  
}

for (;;)  # Infinite loop to keep polling
{
    # remember date to detect a new day
    $Today = DateTime->now(time_zone => 'Europe/Amsterdam' )->ymd('');
    my $Now     = DateTime->now(time_zone => 'Europe/Amsterdam' ); #adjust timezone if desired. If unspecified time is UTC.
    
    # waiting for a new client connection
    my $client_socket = $socket->accept();
    # read up to 100 characters from the connected client
    my $datagram = ""; #make empty first
    $client_socket->recv($datagram, 100);
#   print "Datagram: ",$datagram, "\n";
    my @splitdatagram = split(/(WS=)/,$datagram); 
    $Zigbee = $splitdatagram[2]; #grab part after WS=
    $Zigbee =~ s/\r//g; #Remove lifefeed and CR from the string

    if (length($Zigbee)==56  ) #Normal inverter strings are parsed 
        {
        $now= time;
        $Zigbee =~ tr/-_\*/\+\/\=/; #replace some of the base64 alphabet  - ===> +; _ ===> / ; * ===> = 
        $binary= decode_base64($Zigbee);
        my( $IDDec, $State, $DCCurrent, $DCPower, $Efficiency, $ACFreq, $ACVolt, $Temperature, $Wh, $kWh) = unpack( 'Vx18Cnnncncnn', $binary );
            $DCCurrent      = 0.025*$DCCurrent; #25 mA units
            $Efficiency     = 0.001*$Efficiency;#expressed as fraction
            $LifekWh        = (0.001*$Wh)+$kWh; # total generated in kWh
            $LifeTimeWh     = ($kWh*1000)+$Wh; # total generated in Wh
            $ACpower        = $DCPower * $Efficiency;
            $DCVolt         = sprintf("%0.2f",$DCPower / $DCCurrent); 
    
        print "ID: ", $IDDec, "   AC Power: ", int($ACpower)," W\n";        
        #Cache away current data in SQLite DB   
        my $stmt = qq(INSERT INTO ENECSYSCACHE (INVERTERID,INVERTERTEMP,DCCURRENT,DCPOWER,DCVOLT,EFFICIENCY,ACFREQ,ACVOLT,ACPOWER,LIFEWH,TIMESTAMP) VALUES ($IDDec , $Temperature, $DCCurrent, $DCPower, $DCVolt, $Efficiency ,$ACFreq,$ACVolt,$ACpower,$LifeTimeWh,$now));
#       print "SQL: ",$stmt,"\n"; #for debugging
        my $rv = $dbh->do($stmt) or die $DBI::errstr;
        }

    if (((time - $LastOutput) > $Interval ))
    {   
        # Remember last output
        $LastOutput = time;

        $Time       = $Now->hms(':'); 
        $Date       = $Now->mdy('-');

        for ($a = 1; $a <= $NumInv ; $a = $a + 1)
        { 
            my $stmt = qq(SELECT INVERTERID,INVERTERTEMP,DCCURRENT,DCPOWER,DCVOLT,EFFICIENCY,ACFREQ,ACVOLT,ACPOWER,LIFEWH,TIMESTAMP from ENECSYSCACHE WHERE INVERTERID=@InverterId[$a] ORDER BY TIMESTAMP DESC LIMIT 1;);
#           print "loop: ",$a," SQL: ",$stmt,"\n";
            my $sth = $dbh->prepare( $stmt );
            my $rv = $sth->execute() or die $DBI::errstr; 
            if($rv < 0){
                print $DBI::errstr;
            }
            my @row = $sth->fetchrow_array();
            #print "SQL select result for inverter ",$a,": ",$row[0]," ",$row[1]," ",$row[2]," ",$row[3]," ",$row[4]," ",$row[5]," ",$row[6]," ",$row[7]," ",$row[8]," ",$row[9]," ","\n";
            @powers[$a]=@row[8];
            @temps[$a]=@row[1];
            @lifeWhs[$a]=@row[9];
            @volts[$a]=@row[7];

#copy recent data to permanent storage
            unless ($row[0]<1)
            {
                my $stmt = qq(INSERT INTO ENECSYSARCHIVE (INVERTERID,INVERTERTEMP,DCCURRENT,DCPOWER,DCVOLT,EFFICIENCY,ACFREQ,ACVOLT,ACPOWER,LIFEWH,TIMESTAMP) VALUES ($row[0] , $row[1], $row[2], $row[3], $row[4], $row[5] ,$row[6],$row[7],$row[8],$row[9],$row[10]));
#               print "archive inverter SQL: ",$stmt,"\n"; #for debugging
                my $rv2 = $dbh2->do($stmt) or die $DBI::errstr; 
            }
 
        }
    my $TotalPower=sum(@powers);
    my $MaxTemp=max(@temps); #max for now, need to deal with empty fields  
    my $TotalWh=sum(@lifeWhs); #does this mess up when inverters are down?
    my $MaxVolt=max(@volts);


#   1wiresensor for my solar collector temps
#   $now= time;
#   $sensor_output = `cat /sys/bus/w1/devices/28-000006775448/w1_slave 2>&1`;
#   $sensor_output =~ /t=(\d+)/i;
#   $CollectorTemperature = $1/1000;


# Post to PVOutput
    my $UpdateUrl="http://pvoutput.org/service/r2/addstatus.jsp";
    my $UserAgent=LWP::UserAgent->new(default_headers=>HTTP::Headers->new("X-Pvoutput-Apikey"=>$Apikey,"X-Pvoutput-SystemId"=>$SystemId));
    $UserAgent->env_proxy;
   
        my @data=("d"=>strftime("%Y%m%d",localtime),
                  "t"=>strftime("%H:%M",localtime),
                  "c1"=>1,
                  "v2"=>$TotalPower,
                  "v5"=>$MaxTemp,
                  "v6"=>$MaxVolt                  
                  );
            
        my $res=$UserAgent->post($UpdateUrl,\@data);
    print "Posted to PVOutput. Total AC power: ",int($TotalPower)," W \n";
    #Put my Solar collector data in permanent storage
#       my $stmt = qq(INSERT INTO ENECSYSARCHIVE (INVERTERID,INVERTERTEMP,TIMESTAMP) VALUES (1 , $CollectorTemperature, $now));
#   print "archive collector SQL: ",$stmt,"\n"; #for debugging
#       my $rv2 = $dbh2->do($stmt) or die $DBI::errstr; 
        
    #clean up cache after upload
    my $stmt = qq(DELETE from ENECSYSCACHE;);
    my $sth = $dbh->prepare( $stmt );
    my $rv = $sth->execute() or die $DBI::errstr;;

}}

$dbh->disconnect();
$dbh2->disconnect();

sub writeDebug{
    my ($DebugText) = @_;

    if ($DebugFile ne "") 
    {
        open WRITEFILE, ">>", $DebugFile or die $!; 
        print WRITEFILE strftime("%H:%M:%S",localtime), "\t", $DebugText, "\n";
        close WRITEFILE;
    }
}


De perl modules (en screen), hopelijk heb ik ze allemaal hier:
code:
1
sudo apt-get install libdatetime-perl libwww-perl libconfig-simple-perl libscalar-list-utils-perl libdbd-sqlite3-perl libmime-base64-perl libwww-perl screen


Hopelijk heeft iemand er iets aan. Dank aan P_Tingen en omoerbeek voor hun bijdragen!

Acties:
  • 0 Henk 'm!

  • pielle007
  • Registratie: April 2008
  • Laatst online: 12:52
omoerbeek schreef op zondag 26 april 2015 @ 13:46:
[...]


IK heb gisteren nagekeken ik zie niet wat je bedoelt. De ene begint iets later, maar ze eindigen allebei rond 20:45. Kan je uitleggen met de data van gisteren wat je verwacht en wat je ziet?
ja hoor.. sorry, bv vandaag tussen 10.00u en 12.30 heb ik geen loggings in pvoutput: http://www.pvoutput.org/intraday.jsp?id=40234&sid=36776

dit gebeurt dagelijks dat er tussen een bepaalde tijd geen log wordt weggeschreven

Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
NLMaca schreef op zondag 26 april 2015 @ 13:38:
[...]


ik heb een image van 16gb gemaakt (zie paar posts hierboven). echter niet met het perl script, maar met het script van omoerbeek. als je dus een 16gb sd kaartje hebt, zou je aan de slag kunnen.

tip: koop nog een rpi met sd kaartje en ga oefenen. er zijn genoeg tutorials te vinden.
Ga 16 gig kopen. Het hoeft van mij ook geen perl te zijn. Als het werkt ben ik tevreden. :)
Alhoewel ik er voor mijn gevoel heel dicht bij ben nu. Rpi werkt. Perl staat er op, alleen het script copieeren wil maar niet lukken.

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
pielle007 schreef op zondag 26 april 2015 @ 13:49:
[...]

ja hoor.. sorry, bv vandaag tussen 10.00u en 12.30 heb ik geen loggings in pvoutput: http://www.pvoutput.org/intraday.jsp?id=40234&sid=36776

dit gebeurt dagelijks dat er tussen een bepaalde tijd geen log wordt weggeschreven
Zag dat nu ook. Draai je de meest recente versie van het script?

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

  • 19roland70
  • Registratie: Augustus 2013
  • Laatst online: 08-09 20:34
wersitime schreef op zondag 26 april 2015 @ 13:32:
Feanathiel en 19roland70 bedankt voor de hulp. Helaas ik blijf allerlei foutmeldingen krijgen. Bij het copieëren krijg ik nu de melding No such file or directory, terwijl deze zeker wel bestaat. Verder krijg ik bij alles "Toegang geweigerd" bijvoorbeeld wanneer ik de directory /solar wil aanmaken.

Aangezien dit de eerste keer is dat ik met een RPi werk kan ik misschien beter wachten tot er een image is wat ik er zo op kan zetten. Is dat mogelijk een beter idee?
directory maken :
inloggen als root .
root@domoticzpi:~# mkdir /home/solar
je hebt nu de directory gemaakt , even controleren:
root@domoticzpi:~# cd /home/solar
er zal nu zoiets staan :
root@domoticzpi /home/solar $
om dit te controleren type je pwd achterde $ je ziet nu de werk directory.
type nu ls achter de $ en je ziet alle files in die directory
Om weer terug te gaan type je achte $ cd .. en dan enter

Je kan ook dit proberen :
achter de $ type je sudo nano /home/solar/enecsys.pl
je zit nu in een editor waar je de hele inhoud in kan kopieren .

[ Voor 10% gewijzigd door 19roland70 op 26-04-2015 13:59 ]


Acties:
  • 0 Henk 'm!

  • pielle007
  • Registratie: April 2008
  • Laatst online: 12:52
omoerbeek schreef op zondag 26 april 2015 @ 13:52:
[...]


Zag dat nu ook. Draai je de meest recente versie van het script?
nee, die van vorige week vrijdag. Update is dus zinvol begrijp ik

Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
pielle007 schreef op zondag 26 april 2015 @ 13:52:
[...]


nee, die van vorige week vrijdag. Update is dus zinvol begrijp ik
Yep. Een geval waar dit kan voorkomen is te oud script en gateway wordt uit/aan gezet. Maar er zijn vast nog andere gevallen.

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

  • Dylotic
  • Registratie: April 2002
  • Laatst online: 29-11-2021
Verwijderd schreef op zondag 26 april 2015 @ 13:04:
Versie 1.0 van de grafische Solarpanel library is klaar en staat op GitHub:

https://github.com/RJJBrouwer/PHPSolarLib.git

Wat voorbeelden:

[afbeelding]

[afbeelding]

[afbeelding]

ENJOY 8) !
Heel vet! Kunnen er nog meer gegevens in de panels dan alleen de power?

Acties:
  • 0 Henk 'm!

  • pielle007
  • Registratie: April 2008
  • Laatst online: 12:52
omoerbeek schreef op zondag 26 april 2015 @ 13:55:
[...]


Yep. Een geval waar dit kan voorkomen is te oud script en gateway wordt uit/aan gezet. Maar er zijn vast nog andere gevallen.
K, gaan ik dat proberen voor mekaar te krijgen. thanx

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
omoerbeek schreef op zondag 26 april 2015 @ 13:55:
[...]


Yep. Een geval waar dit kan voorkomen is te oud script en gateway wordt uit/aan gezet. Maar er zijn vast nog andere gevallen.
ik ga de laaste versie wel bij m installeren.

ik ben bezig met een nieuwe image, waarbij de download van de laatste files van jou script erin zitten. enige waar ik van afhankelijk ben is de config file (ik gebruik variabelen in de config file om user input in weg te schrijven via een bash script ;).

maar goed. mensen mogen ook oefenen, zoals je zelf al een keer zei tis tweakers tenslotte

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
duinsel schreef op zondag 26 april 2015 @ 13:48:
Beste Allen,

Hopelijk heeft iemand er iets aan. Dank aan P_Tingen en omoerbeek voor hun bijdragen!
groot gelijk dat je blijft spelen. zo leer je het meest. eigenwijsheid is geheel terechte lijkt me. je houdt vol aan dat je wilt leren toch?

edit: quote ingekort ;)

[ Voor 96% gewijzigd door NLMaca op 26-04-2015 15:05 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Dylotic schreef op zondag 26 april 2015 @ 13:57:
[...]


Heel vet! Kunnen er nog meer gegevens in de panels dan alleen de power?
Dat kan als ik het verder uitwerk.
Wat zou je zoal meer willen toevoegen ?

Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
omoerbeek schreef op zondag 26 april 2015 @ 12:16:
Als je wil spelen met meerdere gateways: ik heb een branch in github gemaakt met daarin de nieuwe code:

https://github.com/omoerbeek/e2pv/tree/mclient

Deze code gebruikt socket_select() om meerdere verbindingen te onderhouden. Daarnaast de code wat meer Object Oriented gemaakt.

Als het allemaal een beetje OK werkt trek ik dit naar de master branch.
wellicht is dit een beetje verloren geraakt in alle post. Maar ik stel test reports van deze experimentele versie dus erg op prijs. Tx.

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
19roland70 schreef op zondag 26 april 2015 @ 13:52:
[...]

directory maken :
inloggen als root .
root@domoticzpi:~# mkdir /home/solar
je hebt nu de directory gemaakt , even controleren:
root@domoticzpi:~# cd /home/solar
er zal nu zoiets staan :
root@domoticzpi /home/solar $
om dit te controleren type je pwd achterde $ je ziet nu de werk directory.
type nu ls achter de $ en je ziet alle files in die directory
Om weer terug te gaan type je achte $ cd .. en dan enter

Je kan ook dit proberen :
achter de $ type je sudo nano /home/solar/enecsys.pl
je zit nu in een editor waar je de hele inhoud in kan kopieren .
Copy Paste is SHIFT + INSERT. Net gevonden met vriend Google. Script staat er nu in.

Ben ik weer, Windows 8.1 moest zo nodig de pc opnieuw opstarten, kon dit niet afbreken, duurde ruim een half uur.

En weer bedankt voor jullie hulp. Bovenstaande uitgeprobeerd en ik krijg alles zoals je beschrijft. Directory's enz... kloppen dus. Maar ook in nano hetzelfde, file not found enz. terwijl deze gewoon aanwezig is en ook werkt.

De tekst er in kopiëren werkt niet met copy past. Toen heb ik Ctrl R gedaan en geprobeerd het script zo op te halen, echter dan krijg ik file not found. Deze staat op c:/perl/[script]

Alleen het script nog kopiëren en ik het zou moeten werken. Ik zal iets hopeloos verkeerd doen ben ik bang. :(

[ Voor 3% gewijzigd door wersitime op 26-04-2015 14:41 ]

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • Dylotic
  • Registratie: April 2002
  • Laatst online: 29-11-2021
Verwijderd schreef op zondag 26 april 2015 @ 14:14:
[...]


Dat kan als ik het verder uitwerk.
Wat zou je zoal meer willen toevoegen ?
Eigenlijk alle data :+ Zoals ik nu heb maar dan grafisch. Zal eens kijken of ik het kan uitbreiden.
( http://cbm64.nl/pv/ )

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
wersitime schreef op zondag 26 april 2015 @ 14:28:
[...]


Copy Paste is SHIFT + INSERT. Net gevonden met vriend Google. Script staat er nu in.

Ben ik weer, Windows 8.1 moest zo nodig de pc opnieuw opstarten, kon dit niet afbreken, duurde ruim een half uur.

En weer bedankt voor jullie hulp. Bovenstaande uitgeprobeerd en ik krijg alles zoals je beschrijft. Directory's enz... kloppen dus. Maar ook in nano hetzelfde, file not found enz. terwijl deze gewoon aanwezig is en ook werkt.

De tekst er in kopiëren werkt niet met copy past. Toen heb ik Ctrl R gedaan en geprobeerd het script zo op te halen, echter dan krijg ik file not found. Deze staat op c:/perl/[script]

Alleen het script nog kopiëren en ik het zou moeten werken. Ik zal iets hopeloos verkeerd doen ben ik bang. :(
even voor de duidelijkheid, je zit toch op een raspberry te werken? dat zou anders wel verklaren waarom C:/perl blabla niet gevonden kan worden.

je hebt geen c disk op je rpi.

2e.
maak het script executable
chmod +x perlscript

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
omoerbeek schreef op zondag 26 april 2015 @ 14:26:
[...]


wellicht is dit een beetje verloren geraakt in alle post. Maar ik stel test reports van deze experimentele versie dus erg op prijs. Tx.
ter info: misschien zinvol om het in je profiel onderschrift te plaatsen? het sneeuwt anders idd onder, met de vele reacties /*ja ben daar ook schuldig aan.

edit: /* kijkt in brievenbus of er 4 zonnepanelen, 2 omvormers en 2 gateways in zitten. helaas :D

[ Voor 10% gewijzigd door NLMaca op 26-04-2015 15:17 ]


Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
Het was eindelijk gelukt maar bij het draaien van het script krijg ik nu de volgende melding:

Invalid version format (non-numeric data) at /usr/share/perl/5.14/Exporter/Heavy.pm line 106.
Begin failed--compilation aborted at /home/solar/a5.pl line 267.

Iemand nog een idee wat dit betekent.


Vermoedelijk bij copy paste iets fout gegaan, opnieuw gedaan en momenteel geen meldingen meer :)

[ Voor 15% gewijzigd door wersitime op 26-04-2015 15:53 ]

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 12:47

P_Tingen

omdat het KAN

duinsel schreef op zondag 26 april 2015 @ 13:48:
Beste Allen,

Ik heb ondertussen wat doorgeklust aan 'mijn' script in Perl. Ik heb allemaal mooie bijdragen gezien van @P_Tingen en @omoerbeek, maar uiteraard ben ik ook eigenwijs en wilde zelf proberen wat moois te maken, deels met ideeen van deze heren.

Hopelijk heeft iemand er iets aan. Dank aan P_Tingen en omoerbeek voor hun bijdragen!
Graag gedaan, het was leuk om ermee te knutselen en wat van perl te leren. Ik zie veel bekends in je script :)
Je gebruikt overigens 2 varianten van $now: een met en een zonder hoofdletter. Volgens mij kan $now wel weg. Ook $today wordt volgens mij niet meer gebruikt. Die had ik voor de uitvoer naar de dagelijkse logfile maar dat heb je eruit gesloopt. Goed dat de memorybug eruit is.

Is het ook handig hetzelfde db ontwerp als Otto te gebruiken? Dan zijn de scripts in principe uitwisselbaar.

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
NLMaca schreef op zondag 26 april 2015 @ 13:38:
[...]


ik heb een image van 16gb gemaakt (zie paar posts hierboven). echter niet met het perl script, maar met het script van omoerbeek. als je dus een 16gb sd kaartje hebt, zou je aan de slag kunnen.

tip: koop nog een rpi met sd kaartje en ga oefenen. er zijn genoeg tutorials te vinden.
Het perl script loopt nu dus PVOutput wordt bijgewerkt. Zodra ik een 16 gig SD heb ga ik met jouw Image aan de slag.

Nog wel even een vraag: Hoe wissel je bij een Raspberry de SD kaart zonder deze te vernielen. Raspberry gewoon uitzetten, of is er een commando om de SD te uninstallen.

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • duinsel
  • Registratie: September 2002
  • Laatst online: 12-09 22:32
P_Tingen schreef op zondag 26 april 2015 @ 15:53:
[...]
e gebruikt overigens 2 varianten van $now: een met en een zonder hoofdletter. Volgens mij kan $now wel weg. Ook $today wordt volgens mij niet meer gebruikt. Die had ik voor de uitvoer naar de dagelijkse logfile maar dat heb je eruit gesloopt. Goed dat de memorybug eruit is.

Is het ook handig hetzelfde db ontwerp als Otto te gebruiken? Dan zijn de scripts in principe uitwisselbaar.
Allemaal goede suggesties. Wanneer een scriptje zo doorgroeit blijven er helaas wel eens van die verweesde variabelen achter.
Wanneer ik een avondje overheb zal ik het proberen door te voeren en terig te posten.

Is er een manier in Tweakers om code in een klein venster te zetten met een scrollbar? Het was zo'n lange listing, en ik had (nog) geen zin de boel op github te zetten.

Acties:
  • 0 Henk 'm!

  • 19roland70
  • Registratie: Augustus 2013
  • Laatst online: 08-09 20:34
wersitime schreef op zondag 26 april 2015 @ 16:06:
[...]


Nog wel even een vraag: Hoe wissel je bij een Raspberry de SD kaart zonder deze te vernielen. Raspberry gewoon uitzetten, of is er een commando om de SD te uninstallen.
sudo halt

[ Voor 16% gewijzigd door 19roland70 op 26-04-2015 16:14 ]


Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
Ok. En allemaal bedankt voor de snelle hulp. ;)

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • Dylotic
  • Registratie: April 2002
  • Laatst online: 29-11-2021
NLMaca's script beetje verbouwd zodat de achtergrond kleur van de table traploos mee kleurt met de power.
Zoals originele Enencys monitor het ook deed. Uitgaande van NLMaca's github Apr 20, 2015

Insert at line 18:
code:
1
2
3
4
5
//GLOBAL SETTINGS--------------------------------------------------------------------------------START
$Colour     = '21b9fb';                 //Table cell colour at max power.
$MaxPower   = '480';                    //Maximum inverter power (Watts).
$StartLum   = '0.1';                    //Luminance at zero power (0.1=10%).
//GLOBAL SETTINGS----------------------------------------------------------------------------------END


Insert at line 31:
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
//COLOUR LUMINANCE FUNCTION---------------------------------------------------------------------START
function colourBrightness($hex, $percent) {
    $hash = '#';
    /// HEX to RGB
    $rgb = array(hexdec(substr($hex,0,2)), hexdec(substr($hex,2,2)), hexdec(substr($hex,4,2)));
    //// CALCULATE 
    for ($i=0; $i<3; $i++) {
        // See if brighter or darker -/+
        if ($percent > 0) {
            // Lighter
            $rgb[$i] = round($rgb[$i] * $percent) + round(255 * (1-$percent));
        } else {
            // Darker
            $positivePercent = $percent - ($percent*2);
            $rgb[$i] = round($rgb[$i] * $positivePercent) + round(0 * (1-$positivePercent));
        }
        // In case rounding up causes us to go to 256
        if ($rgb[$i] > 255) {
            $rgb[$i] = 255;
        }
    }
    //// RBG to HEX
    $hex = '';
    for($i=0; $i < 3; $i++) {
        // Convert the decimal digit to hex
        $hexDigit = dechex($rgb[$i]);
        // Add a leading zero if necessary
        if(strlen($hexDigit) == 1) {
        $hexDigit = "0" . $hexDigit;
        }
        // Append to the hex string
        $hex .= $hexDigit;
    }
    return $hash.$hex;
}
//COLOUR LUMINANCE FUNCTION-----------------------------------------------------------------------END


Insert and replace from line 84 to line 86:
code:
1
2
3
4
5
6
7
8
9
10
            //For testing colour function only.
            //$row['dcpower'] = 200;
            
            //Calculate luminance percentage and execute colour function.
            $lumc = $row['dcpower'] / $MaxPower ;
            $lum = -$lumc - $StartLum ;     
            $newColour = colourBrightness($Colour,$lum);
            
            /*Total SUM Calculation */
            echo"<td bgcolor='$newColour'><table>" ;

[ Voor 34% gewijzigd door Dylotic op 26-04-2015 19:47 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Dylotic schreef op zondag 26 april 2015 @ 16:44:
NLMaca's script beetje verbouwd zodat de achtergrond kleur van de table traploos mee kleurt met de power.
Zoals originele Enencys monitor het ook deed.

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
//Function color luminance
function colourBrightness($hex, $percent) {
    // Work out if hash given
    $hash = '';
    if (stristr($hex,'#')) {
        $hex = str_replace('#','',$hex);
        $hash = '#';
    }
    /// HEX TO RGB
    $rgb = array(hexdec(substr($hex,0,2)), hexdec(substr($hex,2,2)), hexdec(substr($hex,4,2)));
    //// CALCULATE 
    for ($i=0; $i<3; $i++) {
        // See if brighter or darker
        if ($percent > 0) {
            // Lighter
            $rgb[$i] = round($rgb[$i] * $percent) + round(255 * (1-$percent));
        } else {
            // Darker
            $positivePercent = $percent - ($percent*2);
            $rgb[$i] = round($rgb[$i] * $positivePercent) + round(0 * (1-$positivePercent));
        }
        // In case rounding up causes us to go to 256
        if ($rgb[$i] > 255) {
            $rgb[$i] = 255;
        }
    }
    //// RBG to Hex
    $hex = '';
    for($i=0; $i < 3; $i++) {
        // Convert the decimal digit to hex
        $hexDigit = dechex($rgb[$i]);
        // Add a leading zero if necessary
        if(strlen($hexDigit) == 1) {
        $hexDigit = "0" . $hexDigit;
        }
        // Append to the hex string
        $hex .= $hexDigit;
    }
    return $hash.$hex;
}

code:
1
2
3
4
5
6
7
8
9
10
            //Calculate luminance percentage
            $lumc = $row['dcpower'] / 480 ;  //Max power inverter 480 W
            $lum = -$lumc - 0.1 ;
            
            //Dynamic Colour
            $colour = '#21b9fb';        //Colour at 100% luminance
            $newColour = colourBrightness($colour,$lum);
            
            /*Total SUM Calculation */
            echo"<td bgcolor='$newColour'><table>" ;
Ook voor elkaar dat je dat je een paneel kunt indelen in een dak met die kleuren?
Zie bijvoorbeeld http://sunpanels.eu/index.php?p=dak.

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
nice Dylotic. ik ben met hele andere dingen bezig dan mn dashboardje haha. heb een autoinstaller gemaakt voor het script van omoerbeek.
wel met de basis settings, maar is bij een update wel makkelijk.
1 command uitvoeren. de laatste files worden automatisch gedownload, gechecked of er al een installatie bestaat, zo ja, dan wordt de config.php gebackuped en dan een nieuwe aangemaakt, zodat je dus altijd je oude config behoudt (mocht je de settings kwijt zijn).

men moet dus zelf even bij de hand houden wat ze ingesteld hebben in hun config, ook al wordt er een backup gemaakt.

je kan het eigenlijk onbeperkt draaien. als de config bestaat wordt er een backup van gemaakt obv date_timestamp.

vervolgens de vragen beantwoorden van je systemid, apikey, lifetime,etc.
hierna wordt er een nieuwe config gemaakt en worden de oude zip files en uitgepakte files verwijderd.

enige is dat ik er vanuit ga dat de installatie in /home/pi/ komt te staan. de directory enecsys maak ik zelf aan.
ik zal deze vanmiddag nog in een nieuwe image bakken.

let op. de mysql settings zijn hier niet meegenomen. dit kun je eventueel handmatig doen.

voor mensen die willen testen post ik het script hier.
directory: /home/pi
filenaam: vi e2pv_install_update.sh
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#!/bin/bash

## Copyright (c) 2015 Jeroen van Marion <jeroen@vanmarion.nl>
##
## Permission to use, copy, modify, and distribute this software for any
## purpose with or without fee is hereby granted, provided that the above
## copyright notice and this permission notice appear in all copies.
##
## THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
## WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
## ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
## WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
## ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
## OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
##
## version  : 1.0
## date     : april 26 2015
## features : e2pv installation or update. retreive latest files from master branch. create and or backup current config.
## cleanup of files after installation

## run download script for e2pv setup
## run from home/pi directory as normal user


## date format ##
NOW=$(date +"%F")
NOWT=$(date +"%T")


#get latest files / Credits: Omoerbeek :D
wget https://github.com/omoerbeek/e2pv/archive/master.zip

#unpack the zip file
unzip master.zip

#create the directory for it
#will give error if exists
mkdir /home/pi/enecsys

# check if config file exists to keep saved data
file_config="/home/pi/enecsys/config.php"
if [ -e "$file_config" ]; then
    echo ""
    echo "File exists. Creating copy"
    echo ""
    cp /home/pi/enecsys/config.php /home/pi/enecsys/config.php_original_$NOWT
else 
    echo ""
    echo "config.php does not exist. a new one will be created based on next questions"
    echo ""
fi 

cp e2pv-master/config.php e2pv-master/e2pv.php e2pv-master/LICENSE e2pv-master/README.md /home/pi/enecsys

# temp zip will be deleted to keep things clean
rm -r master.zip e2pv-master/

###### time to run setup

getinfo()
{
    read -p "Set the no of inverters:  " idcount
    read -p "Set your apikey from pvoutput:  " pvapikey
    read -p "Set your systemid from pvoutput:  " pvsystemid
    read -p "Set LIFETIME in [0/1] default =1:  " pvlifetime
    read -p "Send data as DC or AC default=0 (DC/AC) [0/1] :  " pvdcac
}

writeinterfacefile()
{
cat << EOF > $1
<?php
define('IDCOUNT', $idcount);
define('APIKEY', '$pvapikey');
define('SYSTEMID', '$pvsystemid');

define('LIFETIME', $pvlifetime);       // see README.md
define('MODE', 'AGGREGATE'); // 'AGGREGATE' or 'SPLIT'
define('EXTENDED', 0);       // Send state data? Uses donation only feature
// AC is default 0. See README.md
define('AC', $pvdcac);             // Send DC data or AC (DC * Efficiency)

// 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');
?>
EOF

echo ""
echo "The new settings are stored in '$1' "
echo ""
exit 0
}

file="/home/pi/enecsys/config.php"

clear
echo "Credits for the script: https://github.com/omoerbeek/e2pv"
echo "For detailed installation/configuration please check the github link"
echo "only basic settings, for advanced edit $file_config manually"
echo "All questions have to be set. there is no check on this"
echo "If you are updating and dont know your setting anymore you can find them  here: /home/pi/enecsys/config.php /home/pi/enecsys/config.php_original_$NOWT"
echo "" 

getinfo
echo ""
echo "Check if these settings are correct:"
echo "Nr of inverters: $idcount"
echo "Your apikey from pvoutput: $pvapikey"
echo "Your systemid from pvoutput: $pvsystemid"
echo "LIFETIME setting: $pvlifetime"
echo "Send data as DC or AC: $pvdcac"
echo ""

while true; do
  read -p "Everything correct? [y/n]: " yn
  case $yn in
    [Yy]* ) writeinterfacefile $file;;
    [Nn]* ) getinfo;;
        * ) echo "Verify please with y or n";;
  esac
done

vervolgens executable rechten geven.

code:
1
chmod +x e2pv_install_update.sh


script starten (geen sudo nodig):
code:
1
./e2pv_install_update.sh


voorbeeld:
Afbeeldingslocatie: http://i.imgur.com/tGUUcKK.jpg

Acties:
  • 0 Henk 'm!

  • Dylotic
  • Registratie: April 2002
  • Laatst online: 29-11-2021
Verwijderd schreef op zondag 26 april 2015 @ 17:06:
[...]

Ook voor elkaar dat je dat je een paneel kunt indelen in een dak met die kleuren?
Zie bijvoorbeeld http://sunpanels.eu/index.php?p=dak.
Nee nog niet , hiervoor ga ik het stuk van rbro integreren. Ik bouw voorlopig lekker verder op NLMaca's
script. gezien ik deze nu zo'n beetje begrijp en ik lekker wil verbouwen/leren :) Tevens wil ik het lokaal
hebben draaien. Externe servers is al met Enecsys gebleken niet de oplossing..

NLMaca,

Lekker bezig!

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
Verwijderd schreef op zondag 26 april 2015 @ 17:06:
[...]


Ook voor elkaar dat je dat je een paneel kunt indelen in een dak met die kleuren?
Zie bijvoorbeeld http://sunpanels.eu/index.php?p=dak.
dat is een functie in jquery: draggable
dylotic heeft er geen bootstrap of jquery achter zitten, dus is die functie nog niet aanwezig lijkt me.

vraagje: stel je je complete code (dashboard) ook vrij beschikbaar als het af is, of als mensen er zelf op verder kunnen uitbreiden.

@dylotic, ik zal nog wel updates plaatsen van het dashboard, maar ik denk dat je je prima vermaakt zo :D
leuk om te zien trouwens dat iedereen mee helpt, denkt en toch lekker zn eigen script kan bouwen. Top!

Acties:
  • 0 Henk 'm!

  • Madere
  • Registratie: Juni 2014
  • Laatst online: 22-04-2021
Hi allemaal,

ook ik heb een Enecsys systeem: 4 panelen en 1 gateway.
Dus ik gebruikte ook de Monitor van Enecsys. Tot ongeveer 22 Maart werkte dat goed.
Tot ik er o.a. via dit forem achter kwam dat het niet meer werkt omdat ze failliet zijn.

Dus ook ik ben na het lezen van dit forum en andere bronnen aan de gang gegaan met mijn gateway.
Mijn kennis van PHP en Perl is niet erg groot (echter voldoende om te lezen) en heb geen Raspberry etc.
Maar in java krijg ik wel de gegevens die de gateway naar de server stuurt. De gateway naar mijn lokale IP laten sturen.

Het lukt me wel om het serienummer van de gateway uit de string te krijgen.
Een voorbeeld van dit string ik ontvang is:
"497735D64A01150259WS=Dm2PBgCaxjQAABsHIQEAAAIZFDADiAAACwAJAzIyAN8WA8oBjQAA4941"
Het gateway serienummer is dan "7735D64A".

Het lukt me echter niet om in Java de andere gegevens goed uit de string te krijgen. Wat ik ook probeer.
Ik probeer de equivalente functies uit de PHP en Perl scripts te vinden cq na te bouwen maar dat valt niet mee.

Als ik de string door het PHP script van Duinsel laat analyseren, dan komen er alle mooie waardes uit.
Het Perl script van omoerbeek wilde wel runnen, maar kreeg geen data binnen (terwijl dit met mijn java listener wel lukte). Met het Perl script van martijn worden er ook mooie strings en waardes gelogd. Dus het moet allemaal wel lukken.

Het frusteerd me dus een beetje dat ik het met Java niet voor elkaar krijg. Blijkbaar zijn die PHP en Perl een beetje "speciaal".

Als iemand een goed en werkend idee in Java heeft, dan hou ik mij aanbevolen.

Groet,

Martin.

Acties:
  • 0 Henk 'm!

  • duinsel
  • Registratie: September 2002
  • Laatst online: 12-09 22:32
Madere schreef op zondag 26 april 2015 @ 20:20:

Het gateway serienummer is dan "7735D64A".
Dat lijkt me geen geldig serienummer, dus de decodering gaat de mist in.
Je moet het deel na WS= pakken.
Dat decoderen. En pas op dat het alfabet van de string niet helemaal standaard base64 is, een paar karakters moeten vervangen worden, of de decoder moet ervan weten.
En dan moeten de goede bytes gepakt worden van het resultaat om tot een getal te komen, waarbij het nog signed, unsigned, little of big endian kan zijn. En er zijn bytes waarvan we nog niet zo goed weten wat het doet.

Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
Madere schreef op zondag 26 april 2015 @ 20:20:
Hi allemaal,

ook ik heb een Enecsys systeem: 4 panelen en 1 gateway.
Dus ik gebruikte ook de Monitor van Enecsys. Tot ongeveer 22 Maart werkte dat goed.
Tot ik er o.a. via dit forem achter kwam dat het niet meer werkt omdat ze failliet zijn.

Dus ook ik ben na het lezen van dit forum en andere bronnen aan de gang gegaan met mijn gateway.
Mijn kennis van PHP en Perl is niet erg groot (echter voldoende om te lezen) en heb geen Raspberry etc.
Maar in java krijg ik wel de gegevens die de gateway naar de server stuurt. De gateway naar mijn lokale IP laten sturen.

Het lukt me wel om het serienummer van de gateway uit de string te krijgen.
Een voorbeeld van dit string ik ontvang is:
"497735D64A01150259WS=Dm2PBgCaxjQAABsHIQEAAAIZFDADiAAACwAJAzIyAN8WA8oBjQAA4941"
Het gateway serienummer is dan "7735D64A".

Het lukt me echter niet om in Java de andere gegevens goed uit de string te krijgen. Wat ik ook probeer.
Ik probeer de equivalente functies uit de PHP en Perl scripts te vinden cq na te bouwen maar dat valt niet mee.

Als ik de string door het PHP script van Duinsel laat analyseren, dan komen er alle mooie waardes uit.
Het Perl script van omoerbeek wilde wel runnen, maar kreeg geen data binnen (terwijl dit met mijn java listener wel lukte). Met het Perl script van martijn worden er ook mooie strings en waardes gelogd. Dus het moet allemaal wel lukken.

Het frusteerd me dus een beetje dat ik het met Java niet voor elkaar krijg. Blijkbaar zijn die PHP en Perl een beetje "speciaal".

Als iemand een goed en werkend idee in Java heeft, dan hou ik mij aanbevolen.

Groet,

Martin.
Ik doe php, duinsel perl. Omdat je niet echt details geeft wat je geprobeerd hebt kan ik je niet direct helpen.

De basis is: scan naar de WS= string, neem de rest van de regel. Doe een aantal substituties om er nette base64 van te maken, en doe dan en base64 decode. Dat levert je binaire data.

Met mijn php (of de perl) code en de docs van unpack in php moet de rest toch niet al te moeilijk zijn.

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

  • Madere
  • Registratie: Juni 2014
  • Laatst online: 22-04-2021
@Duinsel: die "7735D64A" wordt goed omgezet door een hex2decimal methode te gebruiken.
Dus dat gaat allemaal goed.
Voor de rest gebruik ik inderdaad het gedeelte achter de "WS=".

@omoerbeek: ik probeer dezelfde substrings en hex2decimal cq base64 decoding zoals jullie in jullie php en perl scripts gebruiken,
Het lastige is dus om de php en perl functies te vertalen naar java.

Het omzetten van het serienummer van de inverter lukt al niet: uit de string is dat "Dm2PBg". Ik ben er nog niet achter wat ik allemaal precies moet doen om daar het echte nummer uit te krijgen zoals op de sticker staat.
Ik probeer dit allemaal zoals ik dat ik jullie scripts zie: dus via Base64 decode en/of hex2decimal. Etc.
Ik kan nog niet de juiste volgorde/route vinden.
Aan het converteren van bepaalde karakters heb ik nog geen aandacht geschonken omdat ik nog niet weet welke precies vervangen moeten worden.

Ik ga nog wel steeds verder zoeken wat ik kan vinden.

Acties:
  • 0 Henk 'm!

  • duinsel
  • Registratie: September 2002
  • Laatst online: 12-09 22:32
Madere schreef op zondag 26 april 2015 @ 21:30:
Het omzetten van het serienummer van de inverter lukt al niet: uit de string is dat "Dm2PBg". Ik ben er nog niet achter wat ik allemaal precies moet doen om daar het echte nummer uit te krijgen zoals op de sticker staat.
Wat lukt er niet, van Dm2PBg naar binary/hex, of vandaar door naar decimaal. En is het probleem de codering te begrijpen, of hoe dat te implementeren in java.
Ik weet niets van java, maar het lijkt me haast toch dat er voorbeeldjes hiervoor te vinden moeten zijn..

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
zo, laatste voor vandaag. heb een nieuwe image gemaakt (duurt lang). met daarop de laatste installatie scripts en het automatische installatie script voor omoerbeek zijn setup.

heb er maar een aparte github repository van gemaakt. staat ook in mijn signature.
https://github.com/nlmaca/Enecsys_RPI_images

ik ga me nu weer eens richten op mn dashboard. vragen? gewoon stellen.

Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
Versie die meerdere gateways tegelijk aankan zit nu in de master branch.

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

Verwijderd

Goedemorgen heren,

Ook ik heb Enecsys omvormers en sinds enkele weken problemen met het inzien van de monitor.
Ik heb er een advocaat achter gezet omdat ik binnen de wettelijke 2 jaar garantie zit, deze beaamde mij dat dit dus een probleem is voor de installateur en niet dat ik zomaar machteloos sta omdat Enecsys failliet is nergens meer aanspraak op heb, hij sommeerde de installateur om met een oplossing te komen en als hij dit niet kan in ieder geval het deel wat niet naar behoren werkt(in mijn geval de het monitoring systeem, met daarbij de omvormers) te vervangen voor een soortgelijk systeem van gelijke waarde.
Dus mensen let op als u binnen de garantietermijn zit dan is Uw installateur gewoon aansprakelijk, dit zal best vechten worden maar ik ben begonnen en zal het ook doorzetten tot ik krijg waar ik recht op heb.
Een ieder die rechtsbijstand heeft ga er mee bezig laat je niet afschepen mijn zaak loopt nu , maar ook als je buiten de 2 jaar bent is er een goede kans dat de installateur aansprakelijk is omdat in Nederland een wet zou zijn de regelt dat de wettelijke garantie termijn is de te verwachte levensduur van een product, in het Enecsys verhaal zal dat dan een jaar of 20 zijn.

Ik ben niet zo thuis in computers en programma's maar als iemand een goed lopend programma heeft waarmee ik de gateway kan uitlezen en dat als kant en klaar pakket kan leveren hou ik me aanbevolen, echter het zal wel op zijn bloemkolen computer techniek moeten zijn zoals een zelf installerend programma

Ik hoop dat ik met mijn bericht meer mensen heb weten aan te sporen de installateur aansprakelijk te stellen, en ik hoop ook dat iemand mij in de tussentijd met een programmatje kan helpen.

mvg rene

Acties:
  • 0 Henk 'm!

  • Dylotic
  • Registratie: April 2002
  • Laatst online: 29-11-2021
Verwijderd schreef op maandag 27 april 2015 @ 11:07:
Ik hoop dat ik met mijn bericht meer mensen heb weten aan te sporen de installateur aansprakelijk te stellen, en ik hoop ook dat iemand mij in de tussentijd met een programmatje kan helpen.

mvg rene
Installateur/Importeur lijkt mij ook aansprakelijk. Met gateway hadden de inverters zelfs 20jr.
Heb hier nu overspanningsbeveiliging ertussen. Maar dat is te belachelijk voor woorden dat
dit nodig is. Electronica hoort gewoon zonder die poespas te functioneren op ons net. Hier
sneuvelt er jaaaren al helemaal niets. Behalve de inverters. Denk dat we kwa wetgeving
stevig in onze schoenen staan.
Netbeheerders zullen echter wel veel kleine lettertjes kennen vrees ik, dus daar valt niets te halen.

Voorlopig:
Schaf een raspberry pi aan , volg NLMaca's uitleg en verder helpen wij je wel door de installatie
mocht het niet lukken. Valt reuze mee!

[ Voor 35% gewijzigd door Dylotic op 27-04-2015 11:27 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Goede dag allemaal

Ik ben al een paar weken bezig om de boel voor elkaar te krijgen van alles geprobeerd
maar Ik krijg het maar niet voor elkaar omdat ik er kortweg geen verstand van heb
Als laatst ben ik bezig geweest met de image van NLMaca daar was ik al onwijs blij mee
deze probeerde ik te draaien in virtualbox met raspberry pi besturing
dit is helaas ook niet gelukt
Mijn vraag aan jullie is kan ik bijvoorbeeld een image van NLMaca werkend krijgen op een pc met windows besturing en zo niet kan dat in de toekomst wel mogelijk gemaakt worden

Mvg Barry

Acties:
  • 0 Henk 'm!

  • NLMaca
  • Registratie: Maart 2015
  • Laatst online: 09-09 00:09
Verwijderd schreef op maandag 27 april 2015 @ 11:28:
Goede dag allemaal

Ik ben al een paar weken bezig om de boel voor elkaar te krijgen van alles geprobeerd
maar Ik krijg het maar niet voor elkaar omdat ik er kortweg geen verstand van heb
Als laatst ben ik bezig geweest met de image van NLMaca daar was ik al onwijs blij mee
deze probeerde ik te draaien in virtualbox met raspberry pi besturing
dit is helaas ook niet gelukt
Mijn vraag aan jullie is kan ik bijvoorbeeld een image van NLMaca werkend krijgen op een pc met windows besturing en zo niet kan dat in de toekomst wel mogelijk gemaakt worden

Mvg Barry
mijn advies. koop een rpi en dat ding kan 24/7 aan blijven staan. dat de image niet werkt op je pc verbaast me niets, dat zal een hardware issue zijn.

het lijkt me niet dat je je pc 24/7 aan wilt laten staan. dan ben je een zonnepaneel kwijt per jaar, puur om je monitoring in te zien.

mijn image gaat tot zover, ik ben mezelf al voorbij gelopen met wat ik in focus had. m.b.t de image die ik gemaakt heb, zo het iedereen toch moeten lukken.

claim desnoods de extra uitgaven bij je installateur. zoals ik het zie schepen die je namelijk veel te makkelijk af. je geeft een vermogen uit aan apparatuur, maar garantie tot aan de deur, zo werkt dat in NL idd niet. Als de installateur in ieder geval zn best voor je zou doen, zou dat al de helft schelen. mijn ouders werden ook gewoon het bos in gestuurd. ja sorry, enecsys failliet, niets aan te doen. Nou dat denk ik dus niet.

We kunnen hun hen ook de image toesturen en een factuur voor geleden kosten erachter aan. Zo van, kijk dit is hoe een opensource community het oplost.:D

edit: het is haast niet te doen om overal een image voor te maken. ik heb me gericht op een rpi, juist vanwege de geen rompslomp. het ding draait onafhankelijk. bij een reboot loopt ie gewoon door. bij je pc is dat nog maar net de vraag, omdat andere software roet in het eten kan gooien

windows:
je kan het wel werkend krijgen, dan zul je het hele topic door moeten gaan.
je dient php op je pc geinstalleerd te hebben. vervolgens script starten, mogelijk je firewall aanpassen om de gateway toegang te geven.

en eigenlijk was dat voor mij de reden om over te gaan naar een rpi. het is voor een gemiddelde 'leek' niet te doen.
nu is het: koop een rpi, brand een image op de sd. start m op. 1x inloggen met putty en je kan draaien.

het is allemaal wel te doen, alleen denk ik dat je dan toch zelf ook de kennis op moet gaan doen hoe dingen werken. tenzij iemand anders zo vrij is om een manual te maken ;)

[ Voor 20% gewijzigd door NLMaca op 27-04-2015 12:29 ]


Acties:
  • 0 Henk 'm!

  • omoerbeek
  • Registratie: November 2004
  • Laatst online: 09-02-2023
Mijn insteek is simpel: ik maak iets waar ikzelf mee uit te voeten kan, en als anderen het kunnen gebruiken is het mooi meegenomen. Alhoewel ik ook al suggesties van anderen heb meegenomen (o.a. MySQL support, meerdere gateways) zonder dat ik ze zelf gebruik.

Ik realiseer me dat ik iets maak waar niet iedereen direct mee uit de voeten kan, maar meer werk erin steken dan ik nu al doe zal niet gebeuren. Zeker niet als mensen gaan "eisen" dat het allemaal makkelijker of meer toegesneden op hun situatie moet. Mijn werk is een stuk gereedschap, en er mee om gaan kan je leren, bijvoorbeeld met hulp van de images en uitleg die NLMaca heeft gemaakt.

Maar als je zelf er geen energie in wil steken om iets te leren, dan is het jammer, niet erg in de tweakers geest.

Dus aan alle mensen die iets van ons willen: vraag je eerder af wat je bij kan dragen in plaats van zaken te bedenken die alleen op jouw situatie van toepassing zijn.

Sorry als dit wat erg "grumpy" overkomt, maar ik hoop dat het idee van wat ik wil zeggen wel duidelijk is.

https://github.com/omoerbeek/e2pv


Acties:
  • 0 Henk 'm!

  • Dizlekd
  • Registratie: April 2015
  • Laatst online: 16-02 13:22
@ omoerbeek , dat wat je tot nu toe hebt gemaakt moet inderdaad voor de meesten onder ons genoeg zijn.

Ik ben ook geen echte "tweakert" maar ben met hulp van NLMaca's handleiding wel zover dat ik, in 1 poging, met een speciaal voor dit doel aangeschafte tweedehands PI kan loggen naar PVOutput.
Wel heb ik een beetje Linux kennis, ooit opgedaan toen ik een webservertje in de lucht hield. Dat scheelt wel. ;-)

Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
Toch weer een vraag over de RPi.

Het Duinsel script logt naar een logfile. Hier stopt het programma, melding acces denied. Ik heb met het commando sudo su - de RPi in root level gezet. Heb met commando chmod a+rw /home/solar de rechten ingesteld. Dan draait het script wel.

Probleem: Echter zodra ik de pc uit zet stopt ook het script op de RPi. Weer acces denied blijkt later nadat ik het script weer wil starten. Echter zolang de pc ook aan staat en ik bovenstaande herhaal blijft het script weer lopen tot ik de pc uit zet.

Vraag: Wat doe ik hier fout. Moet ik Putty anders afsluiten misschien?

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • Dizlekd
  • Registratie: April 2015
  • Laatst online: 16-02 13:22
Kan haast niet aan Putty liggen lijkt mij. De sessie verlaat ik altijd met het commando exit . Daarna sluit het Putty venster zich vanzelf. Misschien wat ver gezocht maar je hebt toch niet de RPi aan een usb poort van je pc hangen? Dat die uit gaat als je de pc afsluit?

Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
Nee hij hangt gewoon via een netwerk kabel aan het netwerk. Er is geen USB kabel aangesloten. Ik heb de regels die naar de logfile schrijven tijdelijk uitgeschakeld en dan blijft het script wel doorlopen na uitschakelen van de pc. Het heeft dus met rechten te maken. Vanaf het begin heb ik last gehad van rechten die ik niet had. Met jullie hulp heb ik vrijwel alles kunnen oplossen, op deze na dus.

Net ontdekt dat zodra ik putty af sluit en de pc uit schakel de rechten voor de directory van de Enecsyslogfile terug gezet worden zodat het script geen toegang meer heeft.

Hoe kan ik deze rechten zo instellen dat deze definitief zijn en niet meer automatisch worden terug gezet?

[ Voor 26% gewijzigd door wersitime op 27-04-2015 14:59 ]

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • 19roland70
  • Registratie: Augustus 2013
  • Laatst online: 08-09 20:34
wersitime schreef op maandag 27 april 2015 @ 14:29:

Vraag: Wat doe ik hier fout. Moet ik Putty anders afsluiten misschien?
Laat het script in de background draaien door een & achter de commandregel te zetten.
Nu draait het programma op de achtergrond en kan je PuTTY afsluiten.
nadeel is wel dat je de output niet meer ziet als je geen logfile gebruikt.

Wil je dat het script automatisch opstart doe dan het volgende
open deze file met de editor .
sudo nano /etc/rc.local


plaats dan deze regel boven exit 0

code:
1
sudo perl /home/solar/enecsys.pl


/home/solar/enecsys.pl dit is het pad wat ik gebruik vul hier je eigen pad in.

[ Voor 5% gewijzigd door 19roland70 op 27-04-2015 15:02 ]


Acties:
  • 0 Henk 'm!

  • wersitime
  • Registratie: April 2014
  • Laatst online: 29-04 12:43
In het script zit geen exit 0. Moet dit de laatste regel zijn?

www.mrmodelrailroad.com


Acties:
  • 0 Henk 'm!

  • 19roland70
  • Registratie: Augustus 2013
  • Laatst online: 08-09 20:34
Niet in het script van perl maar in deze : /etc/rc.local
Als je deze opent met de editor sudo nano moet er onderaan staan exit 0.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

sudo perl /home/solar/enecsys.pl

exit 0

[ Voor 65% gewijzigd door 19roland70 op 27-04-2015 15:05 ]

Pagina: 1 ... 11 ... 22 Laatste

Let op:
aandachtspuntje:
De rapporteer knop is niet hetzelfde als de quote knop: let er op dat je op de goede drukt!