Add files via upload
moving haos version from test to main
This commit is contained in:
parent
af4c802a44
commit
7e2ab202c0
15 changed files with 975 additions and 0 deletions
9
haos-sbfspot/CHANGELOG.md
Normal file
9
haos-sbfspot/CHANGELOG.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
<!-- https://developers.home-assistant.io/docs/add-ons/presentation#keeping-a-changelog -->
|
||||
|
||||
## 2022.3.0 
|
||||
|
||||
- Updates
|
||||
|
||||
## 2022.0.0
|
||||
|
||||
- Initial release
|
1
haos-sbfspot/DOCS.md
Normal file
1
haos-sbfspot/DOCS.md
Normal file
|
@ -0,0 +1 @@
|
|||
Where does this show up during install
|
96
haos-sbfspot/Dockerfile
Normal file
96
haos-sbfspot/Dockerfile
Normal file
|
@ -0,0 +1,96 @@
|
|||
# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-dockerfile
|
||||
ARG BUILD_FROM
|
||||
FROM $BUILD_FROM AS builder
|
||||
|
||||
# Execute during the build of the image
|
||||
ARG TEMPIO_VERSION BUILD_ARCH
|
||||
RUN \
|
||||
curl -sSLf -o /usr/bin/tempio \
|
||||
"https://github.com/home-assistant/tempio/releases/download/${TEMPIO_VERSION}/tempio_${BUILD_ARCH}"
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
ENV MQTT_ENABLE 1
|
||||
|
||||
# Copy root filesystem
|
||||
COPY rootfs /
|
||||
# Set shell
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
# install requirements
|
||||
RUN apk update && apk upgrade && apk add --no-cache git g++ make mysql-dev bluez-dev boost-dev curl-dev tzdata mosquitto-clients mariadb-dev
|
||||
|
||||
# download and build SBFspot
|
||||
RUN \
|
||||
cd /tmp \
|
||||
&& git clone https://github.com/sbfspot/SBFspot.git . \
|
||||
&& cd SBFspot \
|
||||
&& sed -i s/mariadbclient/mariadb/ makefile \
|
||||
&& make mariadb \
|
||||
&& cd .. \
|
||||
&& cd SBFspotUploadDaemon \
|
||||
&&sed -i s/mariadbclient/mariadb/ makefile \
|
||||
&& make mariadb
|
||||
|
||||
# runtinme container
|
||||
FROM $BUILD_FROM
|
||||
|
||||
ARG TEMPIO_VERSION BUILD_ARCH
|
||||
RUN \
|
||||
curl -sSLf -o /usr/bin/tempio \
|
||||
"https://github.com/home-assistant/tempio/releases/download/${TEMPIO_VERSION}/tempio_${BUILD_ARCH}"
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
RUN apk update && apk upgrade && apk add --no-cache boost-date_time bluez-libs libstdc++ tzdata mariadb-common mariadb-connector-c ncurses-libs libcurl mosquitto-clients
|
||||
COPY rootfs /
|
||||
|
||||
# Copy data for add-on
|
||||
|
||||
RUN mkdir -p /etc/sbfspot
|
||||
|
||||
COPY --from=builder /tmp/SBFspot/mariadb/bin/SBFspot /tmp/SBFspot/mariadb/bin/SBFspot
|
||||
COPY --from=builder /tmp/SBFspotUploadDaemon/mariadb/bin/SBFspotUploadDaemon /tmp/SBFspotUploadDaemon/mariadb/bin/SBFspotUploadDaemon
|
||||
COPY --from=builder /tmp/SBFspot/date_time_zonespec.csv /tmp/SBFspot/date_time_zonespec.csv
|
||||
COPY --from=builder /tmp/SBFspot/TagList* /tmp/SBFspot/
|
||||
|
||||
|
||||
RUN cp /tmp/SBFspot/mariadb/bin/SBFspot /etc/sbfspot
|
||||
RUN cp /tmp/SBFspotUploadDaemon/mariadb/bin/SBFspotUploadDaemon /etc/sbfspot
|
||||
RUN cp /tmp/SBFspot/date_time_zonespec.csv /etc/sbfspot
|
||||
RUN cp /tmp/SBFspot/TagList* /etc/sbfspot
|
||||
|
||||
RUN chmod a+x /etc/sbfspot/taillog.sh /etc/sbfspot/generateConfig.sh /etc/sbfspot/SBFspot /etc/sbfspot/SBFspotUploadDaemon /etc/sbfspot/SBFspot.default.cfg /etc/sbfspot/SBFspotUpload.default.cfg
|
||||
|
||||
|
||||
# --- install cron ---
|
||||
# set shell
|
||||
RUN echo 'SHELL=/bin/bash' > /etc/crontabs/root
|
||||
# daily data SBFspot
|
||||
RUN echo '*/5 6-22 * * * /etc/sbfspot/SBFspot -v -ad1 -am0 -ae0 -mqtt > /dev/stdout' >> /etc/crontabs/root
|
||||
# monthly data SBFspot
|
||||
RUN echo '55 05 * * * /etc/sbfspot/SBFspot -v -sp0 -ad0 -am1 -ae1 -finq > /dev/stdout' >> /etc/crontabs/root
|
||||
# start SBFspotUpload 1 min after boot
|
||||
RUN echo '@reboot sleep 60 && /etc/sbfspot/SBFspotUploadDaemon -c /etc/sbfspot/SBFspotUpload.cfg' >> /etc/crontabs/root
|
||||
# Log SBFspotUpload to HA logging window
|
||||
RUN echo '*/5 6-22 * * * /etc/sbfspot/taillog.sh > /dev/stdout' >> /etc/crontabs/root
|
||||
|
||||
# Labels
|
||||
LABEL \
|
||||
io.hass.name="SBFspot" \
|
||||
io.hass.description="Home Assitant addon for Bluetooth SBFspot, is an open source project to get actual and archive data out of an SMA® inverter over Bluetooth or Ethernet (Speedwire®)" \
|
||||
io.hass.arch="${BUILD_ARCH}" \
|
||||
io.hass.type="addon" \
|
||||
io.hass.version=${BUILD_VERSION} \
|
||||
maintainer="Hasqt <https://community.home-assistant.io/u/hasqt>" \
|
||||
org.label-schema.description="Home Assitant addon for Bluetooth SBFspot, is an open source project to get actual and archive data out of an SMA® inverter over Bluetooth or Ethernet (Speedwire®)" \
|
||||
org.label-schema.build-date=${BUILD_DATE} \
|
||||
org.label-schema.name="SBFspot" \
|
||||
org.label-schema.schema-version="1.0" \
|
||||
org.label-schema.url="https://github.com/habuild/hassio-addons/tree/main/haos-sbfspot" \
|
||||
org.label-schema.usage="https://github.com/habuild/hassio-addons/tree/main/haos-sbfspot/README.md" \
|
||||
org.label-schema.vcs-ref=${BUILD_REF} \
|
||||
org.label-schema.vcs-url="https://github.com/habuild/hassio-addons" \
|
||||
org.label-schema.vendor="Hasqt"
|
||||
|
||||
|
||||
#CMD [ "/run.sh" ] not needed with rootfs/etc/init.d/{slug}run
|
58
haos-sbfspot/README.md
Normal file
58
haos-sbfspot/README.md
Normal file
|
@ -0,0 +1,58 @@
|
|||
# Community Hass.io Add-ons: haos-sbfspot
|
||||
|
||||
![project-stage-shield] ![Project Maintenance][maintenance-shield]
|
||||
|
||||
[project-stage-shield]: https://img.shields.io/badge/project%20stage-experimental-yellow.svg
|
||||
[maintenance-shield]: https://img.shields.io/maintenance/yes/2022.svg
|
||||
|
||||

|
||||

|
||||
|
||||
This [home assistant](https://www.home-assistant.io/getting-started/) add-on provides the installation, configuration, and integration for the **Bluetooth** version of [haos-sbfspot 3.9.3](https://github.com/habuild/hassio-addons/tree/master/haos-sbfspot).
|
||||
|
||||
This add-on installs a cron service for SPFspot uploader at 5 minutely daytime interval, [PVoutput](https://pvoutput.org/) account and API are required, it also requires an SQL database like Mariadb.
|
||||
It also sends a MQTT message to home assistant, therefore a MQTT broker is required.
|
||||
|
||||
# Installation
|
||||
|
||||
### Initial database creation.
|
||||
Download and import either [No Drop DB create](https://github.com/habuild/hassio-addons/blob/master/haos-sbfspot/.images/CreateMySQLDB_no_drop.sql) **or** [Create My SQL.sql](https://github.com/haos-sbfspot/haos-sbfspot/blob/master/haos-sbfspot/CreateMySQLDB.sql) in [phpMyAdmin](https://github.com/hassio-addons/addon-phpmyadmin) to create your database. **IF** you haven't already created the database previously, use the NO Drop version. You will also need to add the Database and User/Password to MariaDB and allocate the port.
|
||||
|
||||

|
||||
|
||||
### MQTT
|
||||
[haos-sbfspot_sensors.yaml](https://github.com/habuild/hassio-addons/blob/master/haos-sbfspot/.images/haos-sbfspot_sensors.yaml) I use packages to include these yaml sensors. You will need to change to match your plant name and serial as you have set in the add-on configuration options.
|
||||
|
||||
**Although** the [configuration options](https://github.com/habuild/hassio-addons/blob/master/haos-sbfspot/.images/Example_Config.yaml) list a MQTT host. The MQTT Host, Username, and Password need to be hardcoded into the **MQTT_PublisherArgs:** The **{topic}** and **{{message}}** will be picked up from options.
|
||||
|
||||
**MQTT_PublisherArgs:** **'-h Your_MQTT_Hostname -u Your_MQTT_Username -P Your_MQTT_password -t {topic} -m "{{message}}" -d -r'**
|
||||
|
||||
**-d** is for MQTT debug in log.
|
||||
|
||||
**-r** is to retain messages. it is advised against using retain flag
|
||||
|
||||
|
||||
### Example Configuration Options.
|
||||
can be copy/pasted as [Example Config](https://github.com/habuild/hassio-addons/blob/master/haos-sbfspot/.images/Example_Config.yaml) or entered via UI
|
||||

|
||||
|
||||
### Data paths
|
||||
In docker the /data/ path arrives at /usr/share/hassio/addons/data/slug#_haos-sbfspot on the host.
|
||||
### Upload logs
|
||||
TODO Need to grep? or bashio the upload log file back into HA log. The log file here may need to be cleaned up manually.
|
||||
|
||||
### **Link to haos-sbfspot Documentation**
|
||||
Refer to the [Wiki](https://github.com/haos-sbfspot/haos-sbfspot/wiki) for documentation and FAQ.
|
||||
|
||||
### **Special thanks to:**
|
||||
* LauR3y/hassio-addons which this version is cleaned up from.
|
||||
* The haos-sbfspot team for SPFspot.
|
||||
|
||||
|
||||
![Supports aarch64 Architecture][aarch64-shield]
|
||||
![Supports armhf Architecture][armhf-shield]
|
||||
![Supports armv7 Architecture][armv7-shield]
|
||||
|
||||
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
|
||||
[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg
|
||||
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg
|
13
haos-sbfspot/build.yaml
Normal file
13
haos-sbfspot/build.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-dockerfile
|
||||
build_from:
|
||||
aarch64: "ghcr.io/home-assistant/aarch64-base:3.14"
|
||||
armhf: "ghcr.io/home-assistant/armhf-base:3.14"
|
||||
armv7: "ghcr.io/home-assistant/armv7-base:3.14"
|
||||
|
||||
labels:
|
||||
org.opencontainers.image.title: "SBFspot for Home Assistant"
|
||||
org.opencontainers.image.description: "SBFspot from a blueprint for new add-ons."
|
||||
org.opencontainers.image.source: "https://github.com/habuild"
|
||||
org.opencontainers.image.licenses: "Apache License 2.0"
|
||||
args:
|
||||
TEMPIO_VERSION: "2021.09.0"
|
106
haos-sbfspot/config.json
Normal file
106
haos-sbfspot/config.json
Normal file
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
"name": "HAOS-SBFspot",
|
||||
"version": "2022.3.1",
|
||||
"slug": "haos-sbfspot",
|
||||
"description": "Manage SBFspot with a simple interface",
|
||||
"url": "https://github.com/habuild/hassio_addons/tree/main/haos-sbfspot",
|
||||
"arch": ["armhf", "armv7", "aarch64", "amd64", "i386"],
|
||||
"options": {
|
||||
"BTAddress": "null",
|
||||
"Password": "0000",
|
||||
"MIS_Enabled": 0,
|
||||
"Plantname": "MyPlant",
|
||||
"OutputPath": "/data/sbfspot/%Y",
|
||||
"OutputPathEvents": "/data/sbfspot/%Y/events",
|
||||
"Latitude": "null",
|
||||
"Longitude": "null",
|
||||
"CalculateMissingSpotValues": 1,
|
||||
"DateTimeFormat": "%d/%m/%Y %H:%M:%S",
|
||||
"DateFormat": "%d/%m/%Y",
|
||||
"DecimalPoint": "comma",
|
||||
"TimeFormat": "%H:%M:%S",
|
||||
"SynchTime": 0,
|
||||
"SynchTimeLow": 1,
|
||||
"SynchTimeHigh": 3600,
|
||||
"SunRSOffset": 900,
|
||||
"Locale": "en-US",
|
||||
"Timezone": "Europe/Brussels",
|
||||
"BTConnectRetries": 10,
|
||||
"CSV_Export": 0,
|
||||
"CSV_ExtendedHeader": 1,
|
||||
"CSV_Header": 1,
|
||||
"CSV_SaveZeroPower": 1,
|
||||
"CSV_Delimiter": "semicolon",
|
||||
"CSV_Spot_TimeSource": "Inverter",
|
||||
"CSV_Spot_WebboxHeader": 0,
|
||||
"SQL_Database": "null",
|
||||
"SQL_Hostname": "core-mariadb",
|
||||
"SQL_Port": "3306",
|
||||
"SQL_Username": "null",
|
||||
"SQL_Password": null,
|
||||
"MQTT_Publisher": "/usr/bin/mosquitto_pub",
|
||||
"MQTT_Host": "core-mosquitto",
|
||||
"MQTT_Port": "null",
|
||||
"MQTT_Topic": "homeassistant/sbfspot_{plantname}/sbfspot_{serial}",
|
||||
"MQTT_ItemFormat": "\"{key}\": {value}",
|
||||
"MQTT_ItemDelimiter": "comma",
|
||||
"MQTT_PublisherArgs": "-h {host} -u {MQTT_Username} -P {MQTT_Password} -t {topic} -m \"{{message}}\" -d",
|
||||
"MQTT_Data": "Timestamp,SunRise,SunSet,InvSerial,InvName,InvTime,InvStatus,InvTemperature,InvGridRelay,EToday,ETotal,PACTot,UDC1,UDC2,IDC1,IDC2,PDC1,PDC2",
|
||||
"LogDir": "/dev/stdout >> /proc/1/fd/1",
|
||||
"LogLevel": "info",
|
||||
"PVoutput_SID": null,
|
||||
"PVoutput_Key": null,
|
||||
"MQTT_ENABLE": "1"
|
||||
},
|
||||
"schema": {
|
||||
"BTAddress": "str",
|
||||
"Password": "str",
|
||||
"MIS_Enabled": "int",
|
||||
"Plantname": "str",
|
||||
"OutputPath": "str",
|
||||
"OutputPathEvents": "str",
|
||||
"Latitude": "float",
|
||||
"Longitude": "float",
|
||||
"CalculateMissingSpotValues": "int",
|
||||
"DateTimeFormat": "str",
|
||||
"DateFormat": "str",
|
||||
"DecimalPoint": "str",
|
||||
"TimeFormat": "str",
|
||||
"SynchTime": "int",
|
||||
"SynchTimeLow": "int",
|
||||
"SynchTimeHigh": "int",
|
||||
"SunRSOffset": "int",
|
||||
"Locale": "str",
|
||||
"Timezone": "str",
|
||||
"BTConnectRetries": "int",
|
||||
"CSV_Export": "int",
|
||||
"CSV_ExtendedHeader": "int",
|
||||
"CSV_Header": "int",
|
||||
"CSV_SaveZeroPower": "int",
|
||||
"CSV_Delimiter": "str",
|
||||
"CSV_Spot_TimeSource": "str",
|
||||
"CSV_Spot_WebboxHeader": "int",
|
||||
"SQL_Database": "str",
|
||||
"SQL_Hostname": "str",
|
||||
"SQL_Port": "str",
|
||||
"SQL_Username": "str",
|
||||
"SQL_Password": "str",
|
||||
"MQTT_Publisher": "str",
|
||||
"MQTT_Host": "str",
|
||||
"MQTT_Port": "str",
|
||||
"MQTT_Topic": "str",
|
||||
"MQTT_ItemFormat": "str",
|
||||
"MQTT_ItemDelimiter": "str",
|
||||
"MQTT_PublisherArgs": "str",
|
||||
"MQTT_Data": "str",
|
||||
"LogDir": "str",
|
||||
"LogLevel": "str",
|
||||
"PVoutput_SID": "str",
|
||||
"PVoutput_Key": "str",
|
||||
"MQTT_ENABLE": "int"
|
||||
},
|
||||
"host_network": true,
|
||||
"privileged": ["SYS_MODULE"],
|
||||
"devices": ["/dev/ttyAMA0"],
|
||||
"image": "ghcr.io/habuild/{arch}-addon-haos-sbfspot"
|
||||
}
|
BIN
haos-sbfspot/icon.png
Normal file
BIN
haos-sbfspot/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3 KiB |
BIN
haos-sbfspot/logo.png
Normal file
BIN
haos-sbfspot/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.1 KiB |
268
haos-sbfspot/rootfs/etc/sbfspot/SBFspot.default.cfg
Normal file
268
haos-sbfspot/rootfs/etc/sbfspot/SBFspot.default.cfg
Normal file
|
@ -0,0 +1,268 @@
|
|||
################################################################################
|
||||
# ____ ____ _____ _
|
||||
# / ___|| __ )| ___|__ _ __ ___ | |_
|
||||
# \___ \| _ \| |_ / __| '_ \ / _ \| __|
|
||||
# ___) | |_) | _|\__ \ |_) | (_) | |_
|
||||
# |____/|____/|_| |___/ .__/ \___/ \__|
|
||||
# |_|
|
||||
#
|
||||
# SBFspot.cfg - Configuration file for SBFspot.exe
|
||||
# SBFspot - Yet another tool to read power production of SMA solar inverters
|
||||
# (c)2012-2021, SBF
|
||||
#
|
||||
# DISCLAIMER:
|
||||
# A user of SBFspot software acknowledges that he or she is receiving this
|
||||
# software on an "as is" basis and the user is not relying on the accuracy
|
||||
# or functionality of the software for any purpose. The user further
|
||||
# acknowledges that any use of this software will be at his own risk
|
||||
# and the copyright owner accepts no responsibility whatsoever arising from
|
||||
# the use or application of the software.
|
||||
#
|
||||
# SMA and Speedwire are registered trademarks of SMA Solar Technology AG
|
||||
################################################################################
|
||||
|
||||
# SMA Inverter's Bluetooth address
|
||||
# Windows: sbfspot -scan
|
||||
# Linux : hcitool scan
|
||||
# IMPORTANT FOR SPEEDWIRE USERS: COMMENT OUT BTADDRESS (PUT # IN FRONT)
|
||||
BTAddress=00:00:00:00:00:00
|
||||
|
||||
# If multiple local BT adapters are available, select the one to use
|
||||
#LocalBTAddress=00:00:00:00:00:00
|
||||
|
||||
# SMA Inverter's Speedwire IP address
|
||||
# If IP_Address is not set or is 0.0.0.0 SBFspot will try to detect the speedwire inverter by broadcast
|
||||
# If IP_Address is set to a valid IP, SBFspot will try to connect directly to that IP without broadcast detection
|
||||
# Multiple IP addresses can be provided (comma separated)
|
||||
#IP_Address=0.0.0.0
|
||||
|
||||
# User password (default 0000)
|
||||
Password=0000
|
||||
|
||||
# MIS_Enabled (Multi Inverter Support: Default=0 Disabled)
|
||||
# +------------+-------+-------------+
|
||||
# | #Inverters | NetID | MIS_Enabled |
|
||||
# +------------+-------+-------------+
|
||||
# | 1 | 1 | Don't Care |
|
||||
# +------------+-------+-------------+
|
||||
# | 1 | >1 | 0 |
|
||||
# +------------+-------+-------------+
|
||||
# | >1 | >1 | 1 |
|
||||
# +------------+-------+-------------+
|
||||
MIS_Enabled=0
|
||||
|
||||
# Plantname
|
||||
Plantname=MyPlant
|
||||
|
||||
# OutputPath (Place to store CSV files)
|
||||
#
|
||||
# Windows: C:\Users\Public\SMAdata\%Y
|
||||
# Linux : /home/pi/smadata/%Y
|
||||
# %Y %m and %d will be expanded to Year Month and Day
|
||||
OutputPath=/home/pi/smadata/%Y
|
||||
|
||||
# OutputPathEvents (Place to store CSV files for events)
|
||||
# If omitted, OutputPath is used
|
||||
OutputPathEvents=/home/pi/smadata/%Y/Events
|
||||
|
||||
# Position of pv-plant http://itouchmap.com/latlong.html
|
||||
# Example for Ukkel, Belgium
|
||||
Latitude=50.80
|
||||
Longitude=4.33
|
||||
|
||||
# Calculate Missing SpotValues
|
||||
# If set to 1, values not provided by inverter will be calculated
|
||||
# eg: Pdc1 = Idc1 * Udc1
|
||||
CalculateMissingSpotValues=1
|
||||
|
||||
# DateTimeFormat (default %d/%m/%Y %H:%M:%S)
|
||||
# For details see strftime() function
|
||||
# http://www.cplusplus.com/reference/clibrary/ctime/strftime/
|
||||
DateTimeFormat=%d/%m/%Y %H:%M:%S
|
||||
|
||||
# DateFormat (default %d/%m/%Y)
|
||||
DateFormat=%d/%m/%Y
|
||||
|
||||
# DecimalPoint (comma/point default comma)
|
||||
DecimalPoint=comma
|
||||
|
||||
# TimeFormat (default %H:%M:%S)
|
||||
TimeFormat=%H:%M:%S
|
||||
|
||||
# SynchTime (0-30 - 0=disabled, 1=once a day (default), 7=once a week, 30=once a month)
|
||||
# If set to non-zero value, the plant time is synchronised with local host time
|
||||
# Some inverters don't have a real-time clock
|
||||
SynchTime=1
|
||||
|
||||
# SynchTimeLow (1-120 - default 1)
|
||||
# SynchTimeHigh (1200-3600 - default 3600)
|
||||
# Plant time is adjusted to local host time when SynchTime=1 and
|
||||
# time difference is between SynchTimeLow and SynchTimeHigh limits
|
||||
SynchTimeLow=1
|
||||
SynchTimeHigh=3600
|
||||
|
||||
# SunRSOffset
|
||||
# Offset to start before sunrise and end after sunset (0-3600 - default 900 seconds)
|
||||
SunRSOffset=900
|
||||
|
||||
# Locale
|
||||
# Translate Entries in CSV files
|
||||
# Supported locales: de-DE;en-US;fr-FR;nl-NL;es-ES;it-IT
|
||||
# Default en-US
|
||||
Locale=en-US
|
||||
|
||||
# Timezone
|
||||
# Select the right timezone in date_time_zonespec.csv
|
||||
# e.g. Timezone=Europe/Brussels
|
||||
Timezone=Europe/Brussels
|
||||
|
||||
# BTConnectRetries
|
||||
# Number of Bluetooth Connection attempts (1-15; Default=10)
|
||||
BTConnectRetries=10
|
||||
|
||||
###########################
|
||||
### CSV Export Settings ###
|
||||
###########################
|
||||
# With CSV_* settings you can define the CSV file format
|
||||
|
||||
# CSV_Export (default 1 = Enabled)
|
||||
# Enables or disables the CSV Export functionality
|
||||
CSV_Export=1
|
||||
|
||||
# CSV_ExtendedHeader (default 1 = On)
|
||||
# Enables or disables the SMA extended header info (8 lines)
|
||||
# isep=;
|
||||
# Version CSV1|Tool SBFspot|Linebreaks CR/LF|Delimiter semicolon|Decimalpoint comma|Precision 3
|
||||
# etc...
|
||||
# This is usefull for manual data upload to pvoutput.org
|
||||
CSV_ExtendedHeader=1
|
||||
|
||||
# CSV_Header (default 1 = On)
|
||||
# Enables or disables the CSV data header info (1 line)
|
||||
# dd/MM/yyyy HH:mm:ss;kWh;kW
|
||||
# This is usefull for manual data upload to pvoutput.org
|
||||
# If CSV_ExtendedHeader is enabled, CSV_Header is also enabled
|
||||
CSV_Header=1
|
||||
|
||||
# CSV_SaveZeroPower (default 1 = On)
|
||||
# When enabled, daily csv files contain all data from 00:00 to 23:55
|
||||
# This is usefull for manual data upload to pvoutput.org
|
||||
CSV_SaveZeroPower=1
|
||||
|
||||
# CSV_Delimiter (comma/semicolon default semicolon)
|
||||
CSV_Delimiter=semicolon
|
||||
|
||||
# CSV_Spot_TimeSource (Inverter|Computer default Inverter)
|
||||
CSV_Spot_TimeSource=Inverter
|
||||
|
||||
# CSV_Spot_WebboxHeader (Default 0 = Off)
|
||||
# When enabled, use Webbox style header (DcMs.Watt[A];DcMs.Watt[B]...)
|
||||
CSV_Spot_WebboxHeader=0
|
||||
|
||||
###########################
|
||||
### SQL DB Settings ###
|
||||
###########################
|
||||
|
||||
# SQLite
|
||||
# SQL_Database (Fullpath to SQLite DB)
|
||||
# Windows: C:\Users\Public\SMAdata\SBFspot.db
|
||||
# Linux : /home/pi/smadata/SBFspot.db
|
||||
SQL_Database=/home/pi/smadata/SBFspot.db
|
||||
|
||||
# MySQL
|
||||
#SQL_Database=SBFspot
|
||||
#SQL_Hostname=<Network Name> or <IP-address>
|
||||
#SQL_Port=3306
|
||||
#SQL_Username=SBFspotUser
|
||||
#SQL_Password=SBFspotPassword
|
||||
|
||||
#########################
|
||||
### MQTT Settings ###
|
||||
#########################
|
||||
|
||||
# Full path to mosquitto_pub executable
|
||||
# Linux: sudo apt-get install mosquitto-clients
|
||||
MQTT_Publisher=/usr/bin/mosquitto_pub
|
||||
|
||||
# Windows: Download and install mosquitto clients from https://mosquitto.org/download/
|
||||
# Mosquitto 64-bit on Windows 64-bit
|
||||
# MQTT_Publisher=%ProgramW6432%\\mosquitto\\mosquitto_pub.exe
|
||||
|
||||
# Mosquitto 32-bit on Windows 32-bit
|
||||
# MQTT_Publisher=%ProgramFiles%\\mosquitto\\mosquitto_pub.exe
|
||||
|
||||
# IP address or DNS name of MQTT Broker
|
||||
# Don't use test broker for production environments
|
||||
MQTT_Host=test.mosquitto.org
|
||||
# MQTT_Host=broker.hivemq.com
|
||||
|
||||
# Port (Optional)
|
||||
#MQTT_Port=
|
||||
|
||||
# Topic Name
|
||||
# When using public broker like test.mosquitto.org make sure to define a unique topic name
|
||||
# by appending the serial number of the inverter to avoid you receive data of another SBFspot user.
|
||||
MQTT_Topic=sbfspot_{serial}
|
||||
#MQTT_Topic=sbfspot_{plantname}/sma_{serial}
|
||||
|
||||
# Format of message items to be sent
|
||||
# JSON: MQTT_ItemFormat="{key}": {value}
|
||||
# TEXT: MQTT_ItemFormat={key}:{value}
|
||||
# XML: MQTT_ItemFormat=<item name="{key}" value="{value}" />
|
||||
MQTT_ItemFormat="{key}": {value}
|
||||
|
||||
# MQTT_ItemDelimiter (none|blank|comma|semicolon default comma)
|
||||
# JSON: MQTT_ItemDelimiter=comma
|
||||
# TEXT: MQTT_ItemDelimiter=semicolon
|
||||
# XML : MQTT_ItemDelimiter=none
|
||||
MQTT_ItemDelimiter=comma
|
||||
|
||||
# Mandatory arguments for mosquitto_pub executable
|
||||
# JSON: MQTT_PublisherArgs=-h {host} -t {topic} -m "{{message}}"
|
||||
# TEXT: MQTT_PublisherArgs=-h {host} -t {topic} -m "{message}"
|
||||
# XML : MQTT_PublisherArgs=-h {host} -t {topic} -m "<mqtt_message>{message}</mqtt_message>"
|
||||
MQTT_PublisherArgs=-h {host} -t {topic} -r -m "{{message}}"
|
||||
|
||||
# Data to be published (comma delimited)
|
||||
MQTT_Data=Timestamp,SunRise,SunSet,InvSerial,InvName,InvTime,InvStatus,InvTemperature,InvGridRelay,EToday,ETotal,PACTot,UDC1,UDC2,IDC1,IDC2,PDC1,PDC2
|
||||
|
||||
# Possible keywords are (if supported by your inverter):
|
||||
# SBFspot Alias Code Description
|
||||
# ====================================================================================
|
||||
# Timestamp Current date/time
|
||||
# InvTime Inverter date/time
|
||||
# SunRise Sunrise time
|
||||
# SunSet Sunset time
|
||||
# InvSerial Serial Number
|
||||
# InvName NameplateLocation Device name
|
||||
# InvClass NameplateMainModel Device class
|
||||
# InvType NameplateModel Device type
|
||||
# InvSwVer NameplatePkgRev Software package
|
||||
# InvStatus OperationHealth Condition
|
||||
# InvTemperature CoolsysTmpNom Operating condition temperatures
|
||||
# InvGridRelay OperationGriSwStt Grid relay/contactor
|
||||
# ETotal MeteringTotWhOut Total yield
|
||||
# EToday MeteringDyWhOut Day yield
|
||||
# PACTot GridMsTotW Power
|
||||
# PDC1/PDC2 DcMsWatt DC power input string 1/2
|
||||
# UDC1/UDC2 DcMsVol DC voltage input string 1/2
|
||||
# IDC1/IDC2 DcMsAmp DC current input string 1/2
|
||||
# PDCTot DcMsWatt DC power all strings
|
||||
# OperTm MeteringTotOpTms Operating time
|
||||
# FeedTm MeteringTotFeedTms Feed-in time
|
||||
# PAC1 GridMsWphsA Power L1
|
||||
# PAC2 GridMsWphsB Power L2
|
||||
# PAC3 GridMsWphsC Power L3
|
||||
# UAC1 GridMsPhVphsA Grid voltage phase L1
|
||||
# UAC2 GridMsPhVphsB Grid voltage phase L2
|
||||
# UAC3 GridMsPhVphsC Grid voltage phase L3
|
||||
# IAC1 GridMsAphsA_1 Grid current phase L1
|
||||
# IAC2 GridMsAphsB_1 Grid current phase L2
|
||||
# IAC3 GridMsAphsC_1 Grid current phase L3
|
||||
# GridFreq GridMsHz Grid frequency
|
||||
# BTSignal BTSignal Bluetooth signal strength
|
||||
# BatTmpVal BatTmpVal Battery temperature
|
||||
# BatVol BatVol Battery voltage
|
||||
# BatAmp BatAmp Battery current
|
||||
# BatChaStt BatChaStt Current battery charge status
|
||||
|
54
haos-sbfspot/rootfs/etc/sbfspot/SBFspotUpload.default.cfg
Normal file
54
haos-sbfspot/rootfs/etc/sbfspot/SBFspotUpload.default.cfg
Normal file
|
@ -0,0 +1,54 @@
|
|||
################################################################################
|
||||
# SBFspotUpload.cfg - Configuration file for SBFspotUploadService/Daemon
|
||||
# (c)2012-2021, SBF (https://github.com/SBFspot/SBFspot)
|
||||
#
|
||||
# DISCLAIMER:
|
||||
# A user of SBFspotUploadService/Daemon software acknowledges that he or she is
|
||||
# receiving this software on an "as is" basis and the user is not relying on
|
||||
# the accuracy or functionality of the software for any purpose. The user
|
||||
# further acknowledges that any use of this software will be at his own risk
|
||||
# and the copyright owner accepts no responsibility whatsoever arising from
|
||||
# the use or application of the software.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
|
||||
################################
|
||||
### Log Settings ###
|
||||
################################
|
||||
# Windows: C:\Users\Public\SMAdata\Logs
|
||||
# Linux : /var/log/sbfspot.3
|
||||
#LogDir=C:\Users\Public\SMAdata\Logs
|
||||
LogDir=/var/log/sbfspot.3
|
||||
|
||||
#LogLevel=debug|info|warning|error (default info)
|
||||
LogLevel=info
|
||||
|
||||
################################
|
||||
### PVoutput Upload Settings ###
|
||||
################################
|
||||
#PVoutput_SID (PVoutput_System_ID)
|
||||
#Map inverters to PVoutput System ID's
|
||||
#PVoutput_SID=SerialNmbrInverter_1:PVoutput_System_ID_1,SerialNmbrInverter_2:PVoutput_System_ID_2
|
||||
#e.g. PVoutput_SID=200212345:4321
|
||||
PVoutput_SID=
|
||||
|
||||
#PVoutput_Key
|
||||
#Sets PVoutput API Key
|
||||
PVoutput_Key=
|
||||
|
||||
################################
|
||||
### SQL DB Settings ###
|
||||
################################
|
||||
# SQL_Database (Fullpath to SQLite DB)
|
||||
# Windows: C:\Users\Public\SMAdata\SBFspot.db
|
||||
# Linux : /home/pi/smadata/SBFspot.db
|
||||
#SQL_Database=C:\Users\Public\SMAdata\SBFspot.db
|
||||
SQL_Database=/home/pi/smadata/SBFspot.db
|
||||
|
||||
# Reserved for MySQL
|
||||
#SQL_Database=SBFspot
|
||||
#SQL_Hostname=<Network Name> or <IP-address>
|
||||
#SQL_Port=3306
|
||||
#SQL_Username=SBFspotUser
|
||||
#SQL_Password=SBFspotPassword
|
308
haos-sbfspot/rootfs/etc/sbfspot/generateConfig.sh
Normal file
308
haos-sbfspot/rootfs/etc/sbfspot/generateConfig.sh
Normal file
|
@ -0,0 +1,308 @@
|
|||
CFG_PATH=$1
|
||||
CFG_PATH_UPLOAD=$2
|
||||
CONFIG_OUTPUTPATH=$3
|
||||
CONFIG_PATH=/data/options.json
|
||||
|
||||
|
||||
echo "Generating $CFG_PATH & $CFG_PATH_UPLOAD"
|
||||
|
||||
CONFIG_BTADDRESS="$(jq --raw-output '.BTAddress' $CONFIG_PATH)"
|
||||
CONFIG_PASSWORD="$(jq --raw-output '.Password' $CONFIG_PATH)"
|
||||
CONFIG_MSI_ENABLED="$(jq --raw-output '.MIS_Enabled' $CONFIG_PATH)"
|
||||
CONFIG_PLANTNAME="$(jq --raw-output '.Plantname' $CONFIG_PATH)"
|
||||
CONFIG_OUTPUTPATH="$(jq --raw-output '.OutputPath' $CONFIG_PATH)"
|
||||
CONFIG_OUTPUTPATHEVENTS="$(jq --raw-output '.OutputPathEvents' $CONFIG_PATH)"
|
||||
CONFIG_LATITUDE="$(jq --raw-output '.Latitude' $CONFIG_PATH)"
|
||||
CONFIG_LONGITUDE="$(jq --raw-output '.Longitude' $CONFIG_PATH)"
|
||||
CONFIG_CALCULATEMISSINGSPOTVALUES="$(jq --raw-output '.CalculateMissingSpotValues' $CONFIG_PATH)"
|
||||
CONFIG_DATETIMEFORMAT="$(jq --raw-output '.DateTimeFormat' $CONFIG_PATH)"
|
||||
CONFIG_DATEFORMAT="$(jq --raw-output '.DateFormat' $CONFIG_PATH)"
|
||||
CONFIG_DECIMALPOINT="$(jq --raw-output '.DecimalPoint' $CONFIG_PATH)"
|
||||
CONFIG_TIMEFORMAT="$(jq --raw-output '.TimeFormat' $CONFIG_PATH)"
|
||||
CONFIG_SYNCHTIME="$(jq --raw-output '.SynchTime' $CONFIG_PATH)"
|
||||
CONFIG_SYNCHTIMELOW="$(jq --raw-output '.SynchTimeLow' $CONFIG_PATH)"
|
||||
CONFIG_SYNCHTIMEHIGH="$(jq --raw-output '.SynchTimeHigh' $CONFIG_PATH)"
|
||||
CONFIG_SUNRSOFFSET="$(jq --raw-output '.SunRSOffset' $CONFIG_PATH)"
|
||||
CONFIG_LOCALE="$(jq --raw-output '.Locale' $CONFIG_PATH)"
|
||||
CONFIG_TIMEZONE="$(jq --raw-output '.Timezone' $CONFIG_PATH)"
|
||||
CONFIG_BTCONNECTRETRIES="$(jq --raw-output '.BTConnectRetries' $CONFIG_PATH)"
|
||||
CONFIG_CSV_EXPORT="$(jq --raw-output '.CSV_Export' $CONFIG_PATH)"
|
||||
CONFIG_CSV_EXTENDEDHEADER="$(jq --raw-output '.CSV_ExtendedHeader' $CONFIG_PATH)"
|
||||
CONFIG_CSV_HEADER="$(jq --raw-output '.CSV_Header' $CONFIG_PATH)"
|
||||
CONFIG_CSV_SAVEZEROPOWER="$(jq --raw-output '.CSV_SaveZeroPower' $CONFIG_PATH)"
|
||||
CONFIG_CSV_DELIMITER="$(jq --raw-output '.CSV_Delimiter' $CONFIG_PATH)"
|
||||
CONFIG_CSV_SPOT_TIMESOURCE="$(jq --raw-output '.CSV_Spot_TimeSource' $CONFIG_PATH)"
|
||||
CONFIG_CSV_SPOT_WEBBOXHEADER="$(jq --raw-output '.CSV_Spot_WebboxHeader' $CONFIG_PATH)"
|
||||
CONFIG_SQL_DATABASE="$(jq --raw-output '.SQL_Database' $CONFIG_PATH)"
|
||||
CONFIG_SQL_HOSTNAME="$(jq --raw-output '.SQL_Hostname' $CONFIG_PATH)"
|
||||
CONFIG_SQL_PORT="$(jq --raw-output '.SQL_Port' $CONFIG_PATH)"
|
||||
CONFIG_SQL_USERNAME="$(jq --raw-output '.SQL_Username' $CONFIG_PATH)"
|
||||
CONFIG_SQL_PASSWORD="$(jq --raw-output '.SQL_Password' $CONFIG_PATH)"
|
||||
CONFIG_MQTT_PUBLISHER="$(jq --raw-output '.MQTT_Publisher' $CONFIG_PATH)"
|
||||
CONFIG_MQTT_HOST="$(jq --raw-output '.MQTT_Host' $CONFIG_PATH)"
|
||||
CONFIG_MQTT_PORT="$(jq --raw-output '.MQTT_Port' $CONFIG_PATH)"
|
||||
CONFIG_MQTT_TOPIC="$(jq --raw-output '.MQTT_Topic' $CONFIG_PATH)"
|
||||
CONFIG_MQTT_ITEMFORMAT="$(jq --raw-output '.MQTT_ItemFormat' $CONFIG_PATH)"
|
||||
CONFIG_MQTT_ITEMDELIMITER="$(jq --raw-output '.MQTT_ItemDelimiter' $CONFIG_PATH)"
|
||||
CONFIG_MQTT_PUBLISHERARGS="$(jq --raw-output '.MQTT_PublisherArgs' $CONFIG_PATH)"
|
||||
CONFIG_MQTT_DATA="$(jq --raw-output '.MQTT_Data' $CONFIG_PATH)"
|
||||
CONFIG_LOGDIR="$(jq --raw-output '.LogDir' $CONFIG_PATH)"
|
||||
CONFIG_LOGLEVEL="$(jq --raw-output '.LogLevel' $CONFIG_PATH)"
|
||||
CONFIG_PVOUTPUT_SID="$(jq --raw-output '.PVoutput_SID' $CONFIG_PATH)"
|
||||
CONFIG_PVOUTPUT_KEY="$(jq --raw-output '.PVoutput_Key' $CONFIG_PATH)"
|
||||
|
||||
cat > $CFG_PATH <<EOL
|
||||
################################################################################
|
||||
# ____ ____ _____ _
|
||||
# / ___|| __ )| ___|__ _ __ ___ | |_
|
||||
# \___ \| _ \| |_ / __| '_ \ / _ \| __|
|
||||
# ___) | |_) | _|\__ \ |_) | (_) | |_
|
||||
# |____/|____/|_| |___/ .__/ \___/ \__|
|
||||
# |_|
|
||||
#
|
||||
# SBFspot.cfg - Configuration file for SBFspot.exe
|
||||
# SBFspot - Yet another tool to read power production of SMA<4D> solar inverters
|
||||
# (c)2012-2018, SBF
|
||||
#
|
||||
# DISCLAIMER:
|
||||
# A user of SBFspot software acknowledges that he or she is receiving this
|
||||
# software on an "as is" basis and the user is not relying on the accuracy
|
||||
# or functionality of the software for any purpose. The user further
|
||||
# acknowledges that any use of this software will be at his own risk
|
||||
# and the copyright owner accepts no responsibility whatsoever arising from
|
||||
# the use or application of the software.
|
||||
#
|
||||
# SMA and Speedwire are registered trademarks of SMA Solar Technology AG
|
||||
################################################################################
|
||||
|
||||
# SMA Inverter's Bluetooth address
|
||||
# Windows: smaspot -scan
|
||||
# Linux : hcitool scan
|
||||
# IMPORTANT FOR SPEEDWIRE USERS: COMMENT OUT BTADDRESS (PUT # IN FRONT)
|
||||
BTAddress=$CONFIG_BTADDRESS
|
||||
|
||||
# SMA Inverter's Speedwire IP address
|
||||
# If IP_Address is not set or is 0.0.0.0 SBFspot will try to detect the speedwire inverter by broadcast
|
||||
# If IP_Address is set to a valid IP, SBFspot will try to connect directly to that IP without broadcast detection
|
||||
# Multiple IP addresses can be provided (comma separated)
|
||||
#IP_Address=0.0.0.0
|
||||
|
||||
# User password (default 0000)
|
||||
Password=$CONFIG_PASSWORD
|
||||
|
||||
# MIS_Enabled (Multi Inverter Support: Default=0 Disabled)
|
||||
# +------------+-------+-------------+
|
||||
# | #Inverters | NetID | MIS_Enabled |
|
||||
# +------------+-------+-------------+
|
||||
# | 1 | 1 | Don't Care |
|
||||
# +------------+-------+-------------+
|
||||
# | 1 | >1 | 0 |
|
||||
# +------------+-------+-------------+
|
||||
# | >1 | >1 | 1 |
|
||||
# +------------+-------+-------------+
|
||||
MIS_Enabled=$CONFIG_MSI_ENABLED
|
||||
|
||||
# Plantname
|
||||
Plantname=$CONFIG_PLANTNAME
|
||||
|
||||
# OutputPath (Place to store CSV files)
|
||||
#
|
||||
# Windows: C:\Users\Public\SMAdata\%Y
|
||||
# Linux : /home/pi/smadata/%Y
|
||||
# %Y %m and %d will be expanded to Year Month and Day
|
||||
OutputPath=$CONFIG_OUTPUTPATH
|
||||
|
||||
# OutputPathEvents (Place to store CSV files for events)
|
||||
# If omitted, OutputPath is used
|
||||
OutputPathEvents=$CONFIG_OUTPUTPATHEVENTS
|
||||
|
||||
# Position of pv-plant http://itouchmap.com/latlong.html
|
||||
# Example for Ukkel, Belgium
|
||||
Latitude=$CONFIG_LATITUDE
|
||||
Longitude=$CONFIG_LONGITUDE
|
||||
|
||||
# Calculate Missing SpotValues
|
||||
# If set to 1, values not provided by inverter will be calculated
|
||||
# eg: Pdc1 = Idc1 * Udc1
|
||||
CalculateMissingSpotValues=$CONFIG_CALCULATEMISSINGSPOTVALUES
|
||||
|
||||
# DateTimeFormat (default %d/%m/%Y %H:%M:%S)
|
||||
# For details see strftime() function
|
||||
# http://www.cplusplus.com/reference/clibrary/ctime/strftime/
|
||||
DateTimeFormat=$CONFIG_DATETMEFORMAT
|
||||
|
||||
# DateFormat (default %d/%m/%Y)
|
||||
DateFormat=$CONFIG_DATEFORMAT
|
||||
|
||||
# DecimalPoint (comma/point default comma)
|
||||
DecimalPoint=$CONFIG_DECIMALPOINT
|
||||
|
||||
# TimeFormat (default %H:%M:%S)
|
||||
TimeFormat=$CONFIG_TIMEFORMAT
|
||||
|
||||
# SynchTime (0-30 - 0=disabled, 1=once a day (default), 7=once a week, 30=once a month)
|
||||
# If set to non-zero value, the plant time is synchronised with local host time
|
||||
# Some inverters don't have a real-time clock
|
||||
SynchTime=$CONFIG_SYNCHTIME
|
||||
|
||||
# SynchTimeLow (1-120 - default 1)
|
||||
# SynchTimeHigh (1200-3600 - default 3600)
|
||||
# Plant time is adjusted to local host time when SynchTime=1 and
|
||||
# time difference is between SynchTimeLow and SynchTimeHigh limits
|
||||
SynchTimeLow=$CONFIG_SYNCHTIMELOW
|
||||
SynchTimeHigh=$CONFIG_SYNCHTIMEHIGH
|
||||
|
||||
# SunRSOffset
|
||||
# Offset to start before sunrise and end after sunset (0-3600 - default 900 seconds)
|
||||
SunRSOffset=$CONFIG_SUNRSOFFSET
|
||||
|
||||
# Locale
|
||||
# Translate Entries in CSV files
|
||||
# Supported locales: de-DE;en-US;fr-FR;nl-NL;es-ES;it-IT
|
||||
# Default en-US
|
||||
Locale=$CONFIG_LOCALE
|
||||
|
||||
# Timezone
|
||||
# Select the right timezone in date_time_zonespec.csv
|
||||
# e.g. Timezone=Europe/Brussels
|
||||
Timezone=$CONFIG_TIMEZONE
|
||||
|
||||
# BTConnectRetries
|
||||
# Number of Bluetooth Connection attempts (1-15; Default=10)
|
||||
BTConnectRetries=$CONFIG_BTCONNECTRETRIES
|
||||
|
||||
###########################
|
||||
### CSV Export Settings ###
|
||||
###########################
|
||||
# With CSV_* settings you can define the CSV file format
|
||||
|
||||
# CSV_Export (default 1 = Enabled)
|
||||
# Enables or disables the CSV Export functionality
|
||||
CSV_Export=$CONFIG_CSV_EXPORT
|
||||
|
||||
# CSV_ExtendedHeader (default 1 = On)
|
||||
# Enables or disables the SMA extended header info (8 lines)
|
||||
# isep=;
|
||||
# Version CSV1|Tool SBFspot|Linebreaks CR/LF|Delimiter semicolon|Decimalpoint comma|Precision 3
|
||||
# etc...
|
||||
# This is usefull for manual data upload to pvoutput.org
|
||||
CSV_ExtendedHeader=$CONFIG_CSV_EXTENDEDHEADER
|
||||
|
||||
# CSV_Header (default 1 = On)
|
||||
# Enables or disables the CSV data header info (1 line)
|
||||
# dd/MM/yyyy HH:mm:ss;kWh;kW
|
||||
# This is usefull for manual data upload to pvoutput.org
|
||||
# If CSV_ExtendedHeader is enabled, CSV_Header is also enabled
|
||||
CSV_Header=$CONFIG_CSV_HEADER
|
||||
|
||||
# CSV_SaveZeroPower (default 1 = On)
|
||||
# When enabled, daily csv files contain all data from 00:00 to 23:55
|
||||
# This is usefull for manual data upload to pvoutput.org
|
||||
CSV_SaveZeroPower=$CONFIG_CSV_SAVEZEROPOWER
|
||||
|
||||
# CSV_Delimiter (comma/semicolon default semicolon)
|
||||
CSV_Delimiter=$CONFIG_CSV_DELIMITER
|
||||
|
||||
# CSV_Spot_TimeSource (Inverter|Computer default Inverter)
|
||||
CSV_Spot_TimeSource=$CONFIG_CSV_SPOT_TIMESOURCE
|
||||
|
||||
# CSV_Spot_WebboxHeader (Default 0 = Off)
|
||||
# When enabled, use Webbox style header (DcMs.Watt[A];DcMs.Watt[B]...)
|
||||
CSV_Spot_WebboxHeader=$CONFIG_CSV_SPOT_WEBBOXHEADER
|
||||
|
||||
###########################
|
||||
### SQL DB Settings ###
|
||||
###########################
|
||||
|
||||
# SQLite
|
||||
# SQL_Database (Fullpath to SQLite DB)
|
||||
# Windows: C:\Users\Public\SMAdata\SBFspot.db
|
||||
# Linux : /home/pi/smadata/SBFspot.db
|
||||
#SQL_Database=/home/pi/smadata/SBFspot.db
|
||||
|
||||
# MySQL
|
||||
SQL_Database=$CONFIG_SQL_DATABASE
|
||||
SQL_Hostname=$CONFIG_SQL_HOSTNAME
|
||||
SQL_Port=$CONFIG_SQL_PORT
|
||||
SQL_Username=$CONFIG_SQL_USERNAME
|
||||
SQL_Password=$CONFIG_SQL_PASSWORD
|
||||
|
||||
#########################
|
||||
### MQTT Settings ###
|
||||
#########################
|
||||
|
||||
|
||||
MQTT_Publisher=$CONFIG_MQTT_PUBLISHER
|
||||
MQTT_Host=$CONFIG_MQTT_HOST
|
||||
MQTT_Port=$CONFIG_MQTT_PORT
|
||||
MQTT_Topic=$CONFIG_MQTT_TOPIC
|
||||
MQTT_ItemFormat=$CONFIG_MQTT_ITEMFORMAT
|
||||
MQTT_ItemDelimiter=$CONFIG_MQTT_ITEMDELIMITER
|
||||
MQTT_PublisherArgs=$CONFIG_MQTT_PUBLISHERARGS
|
||||
MQTT_Data=$CONFIG_MQTT_DATA
|
||||
EOL
|
||||
|
||||
#cat $1
|
||||
|
||||
cat > $CFG_PATH_UPLOAD <<EOL
|
||||
################################################################################
|
||||
# SBFspotUpload.cfg - Configuration file for SBFspotUploadService/Daemon
|
||||
# (c)2012-2014, SBF (https://sbfspot.codeplex.com)
|
||||
#
|
||||
# DISCLAIMER:
|
||||
# A user of SBFspotUploadService/Daemon software acknowledges that he or she is
|
||||
# receiving this software on an "as is" basis and the user is not relying on
|
||||
# the accuracy or functionality of the software for any purpose. The user
|
||||
# further acknowledges that any use of this software will be at his own risk
|
||||
# and the copyright owner accepts no responsibility whatsoever arising from
|
||||
# the use or application of the software.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
|
||||
################################
|
||||
### Log Settings ###
|
||||
################################
|
||||
# Windows: C:\Users\Public\SMAdata\Logs
|
||||
# Linux : /home/pi/smadata/logs
|
||||
#LogDir=C:\Users\Public\SMAdata\Logs
|
||||
LogDir=$CONFIG_LOGDIR
|
||||
|
||||
#LogLevel=debug|info|warning|error (default info)
|
||||
LogLevel=$CONFIG_LOGLEVEL
|
||||
|
||||
################################
|
||||
### PVoutput Upload Settings ###
|
||||
################################
|
||||
#PVoutput_SID
|
||||
#Map inverters to PVoutput System ID's
|
||||
#PVoutput_SID=SerialNmbrInverter_1:PVoutput_System_ID_1,SerialNmbrInverter_2:PVoutput_System_ID_2
|
||||
#e.g. PVoutput_SID=200212345:4321
|
||||
PVoutput_SID=$CONFIG_PVOUTPUT_SID
|
||||
|
||||
#PVoutput_Key
|
||||
#Sets PVoutput API Key
|
||||
PVoutput_Key=$CONFIG_PVOUTPUT_KEY
|
||||
|
||||
################################
|
||||
### SQL DB Settings ###
|
||||
################################
|
||||
# SQL_Database (Fullpath to SQLite DB)
|
||||
# Windows: C:\Users\Public\SMAdata\SBFspot.db
|
||||
# Linux : /home/pi/smadata/SBFspot.db
|
||||
#SQL_Database=C:\Users\Public\SMAdata\SBFspot.db
|
||||
#SQL_Database=/home/pi/smadata/SBFspot.db
|
||||
|
||||
# Reserved for MySQL
|
||||
SQL_Database=$CONFIG_SQL_DATABASE
|
||||
SQL_Hostname=$CONFIG_SQL_HOSTNAME
|
||||
SQL_Username=$CONFIG_SQL_USERNAME
|
||||
SQL_Password=$CONFIG_SQL_PASSWORD
|
||||
EOL
|
||||
|
||||
#cat $CFG_PATH_UPLOAD
|
||||
|
||||
# create folders
|
||||
mkdir -p $CONFIG_OUTPUTPATH
|
||||
mkdir -p $CONFIG_LOGDIR
|
||||
# log here instead > /dev/stdout >> /proc/1/fd/1 # tail -fn1 /data/sbfspot/log/* > /dev/stdout
|
12
haos-sbfspot/rootfs/etc/sbfspot/taillog.sh
Normal file
12
haos-sbfspot/rootfs/etc/sbfspot/taillog.sh
Normal file
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/with-contenv bashio
|
||||
|
||||
cd /
|
||||
|
||||
# create placeholder to avoid delay on real log
|
||||
#echo [$(date)] INFO: SBFspotUpload Logging started > /data/sbfspot/log/fake.log
|
||||
|
||||
sleep 45
|
||||
|
||||
# set tail to log out to HA log
|
||||
echo '[SBFspot Upload Log Latest]'
|
||||
tail -n1 /data/sbfspot/log/* >> /proc/1/fd/1
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/execlineb -S1
|
||||
# ==============================================================================
|
||||
# Take down the S6 supervision tree when SBFspot fails
|
||||
# s6-overlay docs: https://github.com/just-containers/s6-overlay
|
||||
# ==============================================================================
|
||||
if { s6-test ${1} -ne 0 }
|
||||
if { s6-test ${1} -ne 256 }
|
||||
|
||||
s6-svscanctl -t /var/run/s6/services
|
37
haos-sbfspot/rootfs/etc/services.d/sbfspot/run
Normal file
37
haos-sbfspot/rootfs/etc/services.d/sbfspot/run
Normal file
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Start the SBFspot service
|
||||
# s6-overlay docs: https://github.com/just-containers/s6-overlay
|
||||
# ==============================================================================
|
||||
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
#echo 'Show all runlevels and their services.'
|
||||
#rc-status -a
|
||||
|
||||
#echo 'Show all services.'
|
||||
#rc-status -s
|
||||
|
||||
# --- GENERATE CONFIG --
|
||||
echo "PWD is current directory $(pwd)"
|
||||
cd /
|
||||
|
||||
echo "PWD is current directory $(pwd)"
|
||||
/etc/sbfspot/generateConfig.sh /etc/sbfspot/SBFspot.cfg /etc/sbfspot/SBFspotUpload.cfg
|
||||
|
||||
|
||||
# ---- RUN ----
|
||||
# start service
|
||||
#echo 'Starting daemon'
|
||||
#rc-service SBFspotUploadDaemon.service start
|
||||
|
||||
echo 'Starting daemon'
|
||||
|
||||
# add logging to HA logs #In cronjob
|
||||
#echo 'Showing Logs in HA'
|
||||
#/etc/sbfspot/taillog.sh
|
||||
|
||||
# cron
|
||||
echo 'Starting cron in foreground'
|
||||
/usr/sbin/crond -f
|
4
haos-sbfspot/translations/en.yaml
Normal file
4
haos-sbfspot/translations/en.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
configuration:
|
||||
message:
|
||||
name: Message
|
||||
description: Monitoring SMA Bluetooth inverters with SBFspot.
|
Loading…
Add table
Add a link
Reference in a new issue