Compare commits

..

1 Commits

Author SHA1 Message Date
1402c07e70 Merge pull request 'work' (#1) from work into main
Reviewed-on: #1
2024-11-26 10:05:46 -06:00
4 changed files with 24 additions and 47 deletions

View File

@@ -7,6 +7,7 @@ on:
jobs:
Plan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
@@ -19,14 +20,14 @@ jobs:
- name: Deploy
run: |
echo "${{ secrets.GITEASECRET_TOKEN }}" | docker login git.hamik.net -u paradizelost --password-stdin
docker build -t git.hamik.net/paradizelost/enphase:latest .
docker push git.hamik.net/paradizelost/enphase:latest
docker build -t git.hamik.net/paradizelost/librarynotices:latest .
docker push git.hamik.net/paradizelost/librarynotices
Deploy:
needs: [Plan]
runs-on: enphasecollector
needs: [Plan] #
runs-on: librarynoticehost
defaults:
run:
working-directory: /docker/enphase
working-directory: /docker/librarynotices
steps:
- name: Destroy Container
id: down

View File

@@ -1,8 +1,11 @@
FROM debian:trixie-slim
FROM debian:bullseye-slim
#
RUN apt update && apt install python3 python3-pip -y
COPY enphase.py /usr/local/bin/
COPY requirements.txt /
COPY init.sh /
RUN apt update && apt install python3 python3-pip -y && pip3 install -r /requirements.txt --break-system-packages && apt clean
COPY enphase.py /usr/local/bin/
RUN chmod +x /init.sh && chmod +x /usr/local/bin/enphase.py
RUN chmod +x /init.sh
RUN chmod +x /usr/local/bin/enphase.py
RUN pip3 install -r /requirements.txt
RUN apt clean
CMD ["/init.sh"]

View File

@@ -1,11 +1,7 @@
services:
enphase:
libnotices:
image: git.hamik.net/paradizelost/enphase:latest
container_name: enphase
container_name: libnotices
restart: always
environment:
- ENPHASE_TOKEN=${ENPHASE_TOKEN}
- ENPHASE_URL=${ENPHASE_URL}
- INFLUX_USER=${INFLUX_USER}
- INFLUX_PASSWORD=${INFLUX_PASSWORD}
- INFLUX_URI=${INFLUX_URI}
ports:
- "80:80"

View File

@@ -162,6 +162,7 @@ enphaseurl = os.environ["ENPHASE_URL"]
infdbuser = os.environ["INFLUX_USER"]
infdbpass = os.environ["INFLUX_PASSWORD"]
influxuri = os.environ["INFLUX_URI"]
infdbuser = os.environ["INFLUX_USER"]
while True:
@@ -171,42 +172,18 @@ while True:
session.headers.update({"Authorization":"Bearer "+enphasetoken})
details = enphaseurl + "/production.json?details=1"
inverteruri= enphaseurl + "/api/v1/production/inverters"
mainresponse = session.get(details,verify=False)
if mainresponse.status_code == 401:
print("Authentication Error, please renew enphase token at https://entrez.enphaseenergy.com/entrez_tokens")
quit()
print("Status code:", mainresponse.status_code)
print("Headers:", mainresponse.headers)
print("Raw text:", mainresponse.text[:500])
try:
mainresponseresult = mainresponse.json()
print("Parsed JSON:\n", json.dumps(mainresponseresult, indent=2))
except Exception as e:
print("Failed to parse JSON:", e)
quit()
inverterresponse = session.get(inverteruri,verify=False)
if inverterresponse.status_code == 401:
print("Authentication Error, please renew enphase token at https://entrez.enphaseenergy.com/entrez_tokens")
quit()
print("Status code:", inverterresponse.status_code)
print("Headers:", inverterresponse.headers)
print("Raw text:", inverterresponse.text[:500])
try:
inverterresponseresult = inverterresponse.json()
print("Parsed JSON:\n", json.dumps(inverterresponseresult, indent=2))
except Exception as e:
print("Failed to parse JSON:", e)
quit()
for inverterdata in inverterresponseresult:
mainresponse = session.get(details,verify=False).json()
inverterresponse = session.get(inverteruri,verify=False).json()
#print(json.dumps(mainresponse,indent=1))
for inverterdata in inverterresponse:
myinverter = inverter(inverterdata['serialNumber'],inverterdata['lastReportDate'],inverterdata['devType'],inverterdata['lastReportWatts'],inverterdata['maxReportWatts'])
inverterlist.append(myinverter)
#print(json.dumps(response.json(),indent=1))
#for myinverter in inverterlist:
#pass
# myinverter.print()
#print(json.dumps(mainresponse,indent=1))
maindata = ElectricalData(mainresponseresult)
print(json.dumps(mainresponse,indent=1))
maindata = ElectricalData(mainresponse)
influxsession = requests.Session()
influxsession.verify = False
influxsession.auth = (infdbuser, infdbpass)