Guys, ik wil iets - volgens mij - heel erg simpels, maar mn geprobeerde oplossingen beginnen steeds exotischer te worden.... dat kan niet nodig moeten zijn.
Probleemstelling: als mijn zonnepanelen overdag een productie van 0 hebben, wil ik daar 1x een berichtje over ontvangen.
Reden: pas geleden is mijn SolarEdge omvormer ineens overleden en lag het systeem er al enkele weken uit voordat ik het door had.
Al geprobeerd:
- domoticz event met Blockly,
- domoticz event met LUA,
- begonnen aan een crontab python script op mn Synology waarbij ik via een api call naar
https://monitoringapi.solaredge.com/site/[mijnSiteId]/overview?api_key=[mijnKey] de currentPower uitlas, probeerde de power daar uit te parsen en dan.......... wacht stop ho. Terug naar af Domoticz.
Ik ben nu weer terug bij Lua en ik heb mijn script super versimpeld, alle dingen over na zonsopgang/voor ondergang er uit gehaald en een manier gevonden om een Pusbullet notification te versturen.
Alsnog gaat er nog 1 klein ding mis.
Ik wil dat ik maar 1x (op een dag...) een notifcation krijg. Niet elke seconde zolang de situatie voort duurt.
Daar dacht ik een hele simpele, lelijke oplossing voor gevonden te hebben
- maar het werkt niet.
De code:
commandArray = {}
SEwaarde = string.sub(otherdevices['SolarEdge kWh'],1,5)
UurVanTijd = os.date("%H")
MinVanTijd = os.date("%M")
SecVanTijd = os.date("%S")
NotifyString = 'SolarEdge (LUA@Domoticz)#Productie van de zonnepanelen is 0 kWh#0#sound#extradata#pushbullet'
if (SEwaarde == '0.000') and UurVanTijd == '10' and MinVanTijd == '30' and SecVanTijd == '11' then
commandArray['SendNotification']=NotifyString
end
return commandArray
-------
Als ik de voorwaarden over de tijd uit de if weg haal, maar wel de productie = '0.000' in de if laat en het event als actief save wordt ik direct kapot gespammed. Het is immers donker, dus productie is terecht 0. Daarom had ik bedacht het gewoon te doen om bijvoorbeeld 10:30:11 in de ochtend. Voor testing alles naar 23:47:11 gezet. Het werd 23:47 en 23:48 en.. geen notification. Ik haal de voorwaarden van de tijd uit het if statement en direct stromen de pushbullets binnen met daarin braaf de verwachtte tijdswaardes in de notification met HH MM ss. WTF. Wat doe ik fout in dit oh zo simpele scriptje?
EDIT: PRUTSER. Note to self: je moet ook niet op vrijdagavond met een groot glas vodka naast je gaan zitten programmeren. Ik had bij 3e voorwaarde in de if " = " ipv " == ".
Bovenstaand scriptje in Lua met Domoticz Event doet nu wat het moet doen.
Maar Vraag B is nog van toepassing:
En vraag B :
Weet er iemand een mooiere/nettere oplossing?
Tot mn beschikking: Synology NAS, Domoticz draait er op, Pusbullet/sms/email, eventueel een losse Pi 3 die ergens ligt te verstoffen (is dus niet meer in gebruik, p1monitor stond er op), Solar Edge inverter met de nieuwe api en ingebouwde webserver, ook toegang dus tot de monitoringapi.solaredge.com api.
Ik heb ook een P1 kabel rechtstreeks op mn Synology zitten.
Ik heb geen eigen logging meer draaien van de zonnepanelen; ooit wel uren aan besteed om het werkend te krijgen met PVout e.d. en kwam uiteindelijk tot de conclusie dat ik er nooit naar keek. De Pi toen eens voor iets anders gebruikt, uiteindelijk P1monitor er wel weer op gehad, maar weer afgekoppeld.
[
Voor 5% gewijzigd door
hrigteri op 20-07-2019 00:31
]