Compare commits
No commits in common. "743fd8af03ad9b523c5551e519bda33eb8216ebb" and "3791223643d73764681d2c3ebadb6efa68ce9b6e" have entirely different histories.
743fd8af03
...
3791223643
7 changed files with 24 additions and 51 deletions
2
bar.yaml
2
bar.yaml
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
- hosts: bank-pi.bitlair.nl
|
- hosts: bar
|
||||||
vars:
|
vars:
|
||||||
raspi_rotate_display: "2"
|
raspi_rotate_display: "2"
|
||||||
roles:
|
roles:
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
---
|
|
||||||
- name: Install dependencies
|
|
||||||
apt:
|
|
||||||
name: [ links, python3-pyquery ]
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Clone revbank-inflatinator source
|
|
||||||
git:
|
|
||||||
repo: https://github.com/bitlair/revbank-inflatinator.git
|
|
||||||
version: main
|
|
||||||
dest: /opt/revbank-inflatinator
|
|
||||||
accept_hostkey: yes
|
|
|
@ -4,6 +4,3 @@
|
||||||
|
|
||||||
- tags: [ bank, bank_revbank ]
|
- tags: [ bank, bank_revbank ]
|
||||||
import_tasks: revbank.yaml
|
import_tasks: revbank.yaml
|
||||||
|
|
||||||
- tags: [ bank, bank_inflatinator ]
|
|
||||||
import_tasks: inflatinator.yaml
|
|
||||||
|
|
|
@ -1,12 +1,7 @@
|
||||||
---
|
|
||||||
- name: Install dependencies
|
|
||||||
apt:
|
|
||||||
name: [python3-paho-mqtt, python3-requests]
|
|
||||||
|
|
||||||
- name: Install power-mqtt
|
- name: Install power-mqtt
|
||||||
template:
|
template:
|
||||||
src: power-mqtt.py
|
src: power-mqtt.sh
|
||||||
dest: /var/lib/power-mqtt.py
|
dest: /var/lib/power-mqtt.sh
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: 0755
|
mode: 0755
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
import paho.mqtt.client as mqtt
|
|
||||||
import paho.mqtt.subscribe as subscribe
|
|
||||||
from time import sleep
|
|
||||||
import requests
|
|
||||||
|
|
||||||
|
|
||||||
sdm630_host = '100.64.0.187'
|
|
||||||
mqtt_host = '{{ mqtt_internal_host }}'
|
|
||||||
|
|
||||||
|
|
||||||
client = mqtt.Client()
|
|
||||||
client.connect(mqtt_host, 1883, 60)
|
|
||||||
|
|
||||||
while True:
|
|
||||||
sleep(1)
|
|
||||||
try:
|
|
||||||
data = requests.get(f'http://{sdm630_host}/api/v1/data').json()
|
|
||||||
client.publish('bitlair/power/total_kwh', data['total_power_import_kwh'])
|
|
||||||
client.publish('bitlair/power/All/all_now', data['active_power_w'])
|
|
||||||
client.publish('bitlair/power/L1/all_now', data['active_power_l1_w'])
|
|
||||||
client.publish('bitlair/power/L2/all_now', data['active_power_l2_w'])
|
|
||||||
client.publish('bitlair/power/L3/all_now', data['active_power_l3_w'])
|
|
||||||
except Exception as err:
|
|
||||||
print(err)
|
|
||||||
continue
|
|
|
@ -6,10 +6,11 @@ After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart=/var/lib/power-mqtt.py
|
ExecStart=/bin/bash /var/lib/power-mqtt.sh
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=10s
|
RestartSec=10s
|
||||||
DynamicUser=true
|
DynamicUser=true
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
||||||
|
|
19
roles/services/templates/power-mqtt.sh
Normal file
19
roles/services/templates/power-mqtt.sh
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Managed by Ansible
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
h="{{ mqtt_internal_host }}"
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
j=$(curl -s http://100.64.0.187/api/v1/data)
|
||||||
|
|
||||||
|
mqtt-simple -h $h -p bitlair/power/total_kwh -m $(echo "$j" | jq .total_power_import_kwh)
|
||||||
|
mqtt-simple -h $h -p bitlair/power/All/now_w -m $(echo "$j" | jq .active_power_w)
|
||||||
|
mqtt-simple -h $h -p bitlair/power/L1/now_w -m $(echo "$j" | jq .active_power_l1_w)
|
||||||
|
mqtt-simple -h $h -p bitlair/power/L2/now_w -m $(echo "$j" | jq .active_power_l2_w)
|
||||||
|
mqtt-simple -h $h -p bitlair/power/L3/now_w -m $(echo "$j" | jq .active_power_l3_w)
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
done
|
Loading…
Add table
Reference in a new issue