Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
ba06665
Add T065120 to support Smart meter
johanmeijer Mar 2, 2025
4d1a67a
Modified tchntthree.json
johanmeijer Mar 4, 2025
3d91b05
Update T06NNNNSPF layout
CyborgAndy May 25, 2025
fb52e2d
Merge pull request #661 from CyborgAndy/spf6000-layout
johanmeijer May 26, 2025
9aa4d74
Add files via upload
danielvandenberg95 Aug 5, 2025
322dba5
Create first ghcr.io image
danielvandenberg95 Aug 5, 2025
df3600e
Merge branch 'master' into Alpha
danielvandenberg95 Aug 5, 2025
f75742b
Merge pull request #1 from danielvandenberg95/Alpha
danielvandenberg95 Aug 5, 2025
557960b
Update docker-image.yml
danielvandenberg95 Aug 5, 2025
5753b24
Update grottconf.py
danielvandenberg95 Aug 5, 2025
1e3d641
Update dockerfile
danielvandenberg95 Aug 5, 2025
badb116
Update dockerfile
danielvandenberg95 Aug 5, 2025
67bc31d
Rename client_name from 'Grott - HA' to 'grott' because it was reject…
danielvandenberg95 May 8, 2026
d49193a
Log configuration when publishing single and multiple messages
danielvandenberg95 May 8, 2026
c2431d6
Attempt with persistent client.
danielvandenberg95 May 8, 2026
7c83e49
Minor bugfix on class method
danielvandenberg95 May 8, 2026
08b655f
Something with api callback versions
danielvandenberg95 May 8, 2026
d6246e0
Moved variable into client connected because otherwise it would make …
danielvandenberg95 May 8, 2026
5d095ff
Fixed one class still using old publish syntax
danielvandenberg95 May 8, 2026
ac7bc0f
Undid client change, changed client id in grottdata.
danielvandenberg95 May 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Docker Image CI

on:
push:
branches: [ "master","alpha" ]

jobs:

build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Log in to registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Get Short SHA
id: get_short_sha
run: echo "SHORT_SHA=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV
- name: Build and push the Docker image
run: |
docker build . --file docker/dockerfile --tag ghcr.io/${{ github.actor }}/grott:$SHORT_SHA
docker push ghcr.io/${{ github.actor }}/grott:$SHORT_SHA

7 changes: 5 additions & 2 deletions docker/dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,16 @@ RUN pip install paho-mqtt
RUN pip install requests
RUN pip install influxdb
RUN pip install influxdb-client
RUN pip install psutil

COPY grott.py /app/grott.py
COPY grottconf.py /app/grottconf.py
COPY grottdata.py /app/grottdata.py
COPY grottproxy.py /app/grottproxy.py
COPY grottsniffer.py /app/grottsniffer.py
COPY grott.ini /app/grott.ini
COPY grottserver.py /app/grottserver.py
# COPY grott.ini /app/grott.ini
COPY grott_ha.py /app/grott_ha.py

WORKDIR /app
CMD ["python", "-u", "grott.py", "-v"]
CMD ["python", "-u", "grott.py", "-v"]
41 changes: 41 additions & 0 deletions examples/Record Layout/T065120.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{"T065120": {
"decrypt" : {"value" :"True"},
"datalogserial" : {"value" :16, "length" : 10, "type" : "text", "divide" : 10},
"pvserial" : {"value" :76, "length" : 10, "type" : "text", "divide" : 10},
"date" : {"value" :136, "divide" : 10},
"voltage_l1" : {"value" :160, "length" : 4, "type" : "num", "divide" : 10},
"voltage_l2" : {"value" :168, "length" : 4, "type" : "num", "divide" : 10,"incl" : "no"},
"voltage_l3" : {"value" :176, "length" : 4, "type" : "num", "divide" : 10,"incl" : "no"},
"Current_l1" : {"value" :184, "length" : 4, "type" : "num", "divide" : 10},
"Current_l2" : {"value" :192, "length" : 4, "type" : "num", "divide" : 10,"incl" : "no"},
"Current_l3" : {"value" :200, "length" : 4, "type" : "num", "divide" : 10,"incl" : "no"},
"act_power_l1" : {"value" :208, "length" : 4, "type" : "numx", "divide" : 10},
"act_power_l2" : {"value" :216, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"},
"act_power_l3" : {"value" :224, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"},
"app_power_l1" : {"value" :232, "length" : 4, "type" : "numx", "divide" : 10},
"app_power_l2" : {"value" :240, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"},
"app_power_l3" : {"value" :248, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"},
"react_power_l1" : {"value" :256, "length" : 4, "type" : "numx","divide" : 10},
"react_power_l2" : {"value" :264, "length" : 4, "type" : "numx","divide" : 10,"incl" : "no"},
"react_power_l3" : {"value" :272, "length" : 4, "type" : "numx","divide" : 10,"incl" : "no"},
"powerfactor_l1" : {"value" :280, "length" : 4, "type" : "numx", "divide" : 1000},
"powerfactor_l2" : {"value" :288, "length" : 4, "type" : "numx", "divide" : 1000,"incl" : "no"},
"powerfactor_l3" : {"value" :296, "length" : 4, "type" : "numx", "divide" : 1000,"incl" : "no"},
"pos_rev_act_power" : {"value" :304, "length" : 4, "type" : "numx", "divide" : 10},
"pos_act_power" : {"value" :304, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"},
"rev_act_power" : {"value" :304, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"},
"app_power" : {"value" :312, "length" : 4, "type" : "numx", "divide" : 10},
"react_power" : {"value" :320, "length" : 4, "type" : "numx", "divide" : 10},
"powerfactor" : {"value" :328, "length" : 4, "type" : "numx", "divide" : 1000},
"frequency" : {"value" :336, "length" : 4, "type" : "num", "divide" : 10},
"L1-2_voltage" : {"value" :344, "length" : 4, "type" : "num", "divide" : 10},
"L2-3_voltage" : {"value" :352, "length" : 4, "type" : "num", "divide" : 10},
"L3-1_voltage" : {"value" :360, "length" : 4, "type" : "num", "divide" : 10},
"pos_act_energy" : {"value" :368, "length" : 4, "type" : "numx", "divide" : 10},
"rev_act_energy" : {"value" :376, "length" : 4, "type" : "numx", "divide" : 10},
"pos_act_energy_kvar" : {"value" :384, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"},
"rev_act_energy_kvar" : {"value" :392, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"},
"app_energy_kvar" : {"value" :400, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"},
"act_energy_kwh" : {"value" :408, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"},
"react_energy_kvar" : {"value" :416, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "no"}
} }
115 changes: 113 additions & 2 deletions examples/Record Layout/tchntthree.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{"T06241b": {
{"T06211b": {
"decrypt" : {"value" :"True"},
"datalogserial" : {"value" :16, "length" : 10, "type" : "text","incl" : "yes"},
"device" : {"value": "CHNT_THREE","type" : "def"},
Expand Down Expand Up @@ -34,4 +34,115 @@
"reverseActiveTodayEnergy" : {"pos" :24, "type" : "log"},
"reverActivePower" : {"pos" :24, "type" : "log"},
"end" : {"pos" :25, "type" : "log","incl" : "no"}
}}
},
"T06221b": {
"decrypt" : {"value" :"True"},
"datalogserial" : {"value" :16, "length" : 10, "type" : "text","incl" : "yes"},
"device" : {"value": "CHNT_THREE","type" : "def"},
"date" : {"value" :80, "divide" : 10},
"logstart" : {"value" :96,"type" : "def","incl" : "no"},
"I1Voltage2" : {"pos" :1, "type" : "log"},
"I2Voltage3" : {"pos" :2, "type" : "log"},
"I3Voltage1" : {"pos" :3, "type" : "log"},
"voltageL1" : {"pos" :4, "type" : "log"},
"voltageL2" : {"pos" :5, "type" : "log"},
"voltageL3" : {"pos" :6, "type" : "log"},
"currentL1" : {"pos" :7, "type" : "log"},
"currentL2" : {"pos" :8, "type" : "log"},
"currentL3" : {"pos" :9, "type" : "log"},
"ReverseActiveEnergy" : {"pos" :10, "type" : "log"},
"activePowerL1" : {"pos" :11, "type" : "log"},
"activePowerL2" : {"pos" :12, "type" : "log"},
"activePowerL3" : {"pos" :13, "type" : "log"},
"reactive_power" : {"pos" :14, "type" : "logneg"},
"active_power" : {"pos" :14, "type" : "logpos"},
"reactive_powerL1" : {"pos" :15, "type" : "log"},
"reactive_powerL2" : {"pos" :16, "type" : "log"},
"reactive_powerL3" : {"pos" :17, "type" : "log"},
"power_factor" : {"pos" :18, "type" : "log"},
"power_factorL1" : {"pos" :19, "type" : "log"},
"power_factorL2" : {"pos" :20, "type" : "log"},
"power_factorL3" : {"pos" :21, "type" : "log"},
"frequency" : {"pos" :22, "type" : "log"},
"active_energy" : {"pos" :23, "type" : "log"},
"positiveActiveTodayEnergy" : {"pos" :23, "type" : "log"},
"posiActivePower" : {"pos" :23, "type" : "log"},
"reactive_energy" : {"pos" :24, "type" : "log"},
"reverseActiveTodayEnergy" : {"pos" :24, "type" : "log"},
"reverActivePower" : {"pos" :24, "type" : "log"},
"end" : {"pos" :25, "type" : "log","incl" : "no"}
},
"T06231b": {
"decrypt" : {"value" :"True"},
"datalogserial" : {"value" :16, "length" : 10, "type" : "text","incl" : "yes"},
"device" : {"value": "CHNT_THREE","type" : "def"},
"date" : {"value" :80, "divide" : 10},
"logstart" : {"value" :96,"type" : "def","incl" : "no"},
"I1Voltage2" : {"pos" :1, "type" : "log"},
"I2Voltage3" : {"pos" :2, "type" : "log"},
"I3Voltage1" : {"pos" :3, "type" : "log"},
"voltageL1" : {"pos" :4, "type" : "log"},
"voltageL2" : {"pos" :5, "type" : "log"},
"voltageL3" : {"pos" :6, "type" : "log"},
"currentL1" : {"pos" :7, "type" : "log"},
"currentL2" : {"pos" :8, "type" : "log"},
"currentL3" : {"pos" :9, "type" : "log"},
"ReverseActiveEnergy" : {"pos" :10, "type" : "log"},
"activePowerL1" : {"pos" :11, "type" : "log"},
"activePowerL2" : {"pos" :12, "type" : "log"},
"activePowerL3" : {"pos" :13, "type" : "log"},
"reactive_power" : {"pos" :14, "type" : "logneg"},
"active_power" : {"pos" :14, "type" : "logpos"},
"reactive_powerL1" : {"pos" :15, "type" : "log"},
"reactive_powerL2" : {"pos" :16, "type" : "log"},
"reactive_powerL3" : {"pos" :17, "type" : "log"},
"power_factor" : {"pos" :18, "type" : "log"},
"power_factorL1" : {"pos" :19, "type" : "log"},
"power_factorL2" : {"pos" :20, "type" : "log"},
"power_factorL3" : {"pos" :21, "type" : "log"},
"frequency" : {"pos" :22, "type" : "log"},
"active_energy" : {"pos" :23, "type" : "log"},
"positiveActiveTodayEnergy" : {"pos" :23, "type" : "log"},
"posiActivePower" : {"pos" :23, "type" : "log"},
"reactive_energy" : {"pos" :24, "type" : "log"},
"reverseActiveTodayEnergy" : {"pos" :24, "type" : "log"},
"reverActivePower" : {"pos" :24, "type" : "log"},
"end" : {"pos" :25, "type" : "log","incl" : "no"}
},
"T06241b": {
"decrypt" : {"value" :"True"},
"datalogserial" : {"value" :16, "length" : 10, "type" : "text","incl" : "yes"},
"device" : {"value": "CHNT_THREE","type" : "def"},
"date" : {"value" :80, "divide" : 10},
"logstart" : {"value" :96,"type" : "def","incl" : "no"},
"I1Voltage2" : {"pos" :1, "type" : "log"},
"I2Voltage3" : {"pos" :2, "type" : "log"},
"I3Voltage1" : {"pos" :3, "type" : "log"},
"voltageL1" : {"pos" :4, "type" : "log"},
"voltageL2" : {"pos" :5, "type" : "log"},
"voltageL3" : {"pos" :6, "type" : "log"},
"currentL1" : {"pos" :7, "type" : "log"},
"currentL2" : {"pos" :8, "type" : "log"},
"currentL3" : {"pos" :9, "type" : "log"},
"ReverseActiveEnergy" : {"pos" :10, "type" : "log"},
"activePowerL1" : {"pos" :11, "type" : "log"},
"activePowerL2" : {"pos" :12, "type" : "log"},
"activePowerL3" : {"pos" :13, "type" : "log"},
"reactive_power" : {"pos" :14, "type" : "logneg"},
"active_power" : {"pos" :14, "type" : "logpos"},
"reactive_powerL1" : {"pos" :15, "type" : "log"},
"reactive_powerL2" : {"pos" :16, "type" : "log"},
"reactive_powerL3" : {"pos" :17, "type" : "log"},
"power_factor" : {"pos" :18, "type" : "log"},
"power_factorL1" : {"pos" :19, "type" : "log"},
"power_factorL2" : {"pos" :20, "type" : "log"},
"power_factorL3" : {"pos" :21, "type" : "log"},
"frequency" : {"pos" :22, "type" : "log"},
"active_energy" : {"pos" :23, "type" : "log"},
"positiveActiveTodayEnergy" : {"pos" :23, "type" : "log"},
"posiActivePower" : {"pos" :23, "type" : "log"},
"reactive_energy" : {"pos" :24, "type" : "log"},
"reverseActiveTodayEnergy" : {"pos" :24, "type" : "log"},
"reverActivePower" : {"pos" :24, "type" : "log"},
"end" : {"pos" :25, "type" : "log","incl" : "no"}
}}
Loading