hassio-addons/haos-sbfspot/rootfs/usr/bin/sbfspot/genSenBlue
habuild 1688059878
2022.9.1 (#34)
* Update en.yaml

Update options

* Prettified Code!

* Update en.yaml

* Prettified Code!

* Update en.yaml

* Update Dockerfile

curl dev version -> rc3
chmod changed to folders instead of files
taillog auto logs to dev stdout.. it is just a timestamp now

* Update build.yaml

codenotary..

* Update taillog.sh

SBFspot 3.9.6 logging changes
no files anymore. so just timestamp.

* Update genBluetoothConfig.sh

converted to bashio

* Update genEthernetConfig.sh

converted to bashio

* Create genSenBlue

Created for Bluetooth inverter sensors

* Create genSenEth

created for Ethernet inverter sensors
makes set config

* Create mqttSensorConfig

making sensors..

* Create purgeSen

purge sensors...

* Create nanorc

nano defaults.

* Update finish

exit code changes

* Update run

sensors and bashio changes

* Update config.yaml

defaulted most options in bashio

* Update en.yaml

spaces...

* Update en.yaml

* Update en.yaml

* Update en.yaml

* Prettified Code!

* Update config.yaml

* Update DOCS.md

updating for changes and making pretty

* Update README.md

* Prettified Code!

* Add files via upload

* Update README.md

* Update DOCS.md

* Update en.yaml

* Prettified Code!

* Update README.md

* Prettified Code!

* Update DOCS.md

* Update en.yaml

* Prettified Code!

* Update README.md

* Update en.yaml

* Prettified Code!

* Update DOCS.md

* Update en.yaml

* Prettified Code!

* Update README.md

* Update .mdlrc

* Prettified Code!

* Update DOCS.md

* Update CHANGELOG.md

2022.9.1

* Update README.md

* Update DOCS.md

* Update README.md

* Update README.md

* Update DOCS.md

* Delete UI options.PNG

renaming

* Delete mqqt Capture.PNG

renaming

* Add files via upload

* Update README.md

* Update README.md

* Delete MQTTcapture.PNG

* Add files via upload

* Update README.md

* Update DOCS.md

* Update CHANGELOG.md

* Update README.md

* Update DOCS.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: habuild <habuild@users.noreply.github.com>
2022-09-06 20:28:32 +10:00

246 lines
9.7 KiB
Text
Raw Blame History

#!/usr/bin/with-contenv bashio
CFG_PATH=/usr/bin/sbfspot/SetConfig.cfg
CONFIG_PATH=/data/options.json
# MQTT_User="$(bashio::config 'MQTT_User' )"
# MQTT_Pass="$(bashio::config 'MQTT_Pass' )"
# CONFIG_CONNECTION_TYPE="$(bashio::config 'Connection_Type' )"
CONFIG_BTADDRESS="$(bashio::config 'BTAddress' '!secret BTAdress')"
CONFIG_LOCALBTADDRESS="$(bashio::config 'LocalBTAddress' '!secret LocalBTAddress')"
CONFIG_PASSWORD="$(bashio::config 'Password' '!secret SBFpassword')"
CONFIG_MSI_ENABLED="$(bashio::config 'MIS_Enabled' '0')"
CONFIG_PLANTNAME="$(bashio::config 'Plantname' )"
CONFIG_OUTPUTPATH="$(bashio::config 'OutputPath' '/data/sbfspot/%Y')"
CONFIG_OUTPUTPATHEVENTS="$(bashio::config 'OutputPathEvents' '/data/sbfspot/%Y/events')"
CONFIG_LATITUDE="$(bashio::config 'Latitude' '!secret home_lat')"
CONFIG_LONGITUDE="$(bashio::config 'Longitude' '!secret home_long')"
CONFIG_CALCULATEMISSINGSPOTVALUES="$(bashio::config 'CalculateMissingSpotValues' '1')"
# CONFIG_DATETIMEFORMAT="$(bashio::config 'DateTimeFormat' '%Y-%m-%d%H:%M:%S%z')"
CONFIG_DATEFORMAT="$(bashio::config 'DateFormat' '%d/%m/%Y')"
CONFIG_DECIMALPOINT="$(bashio::config 'DecimalPoint' 'comma')"
CONFIG_TIMEFORMAT="$(bashio::config 'TimeFormat' '%H:%M:%S%')"
CONFIG_SYNCHTIME="$(bashio::config 'SynchTime' '0')"
CONFIG_SYNCHTIMELOW="$(bashio::config 'SynchTimeLow' '1')"
CONFIG_SYNCHTIMEHIGH="$(bashio::config 'SynchTimeHigh' '3600')"
CONFIG_SUNRSOFFSET="$(bashio::config 'SunRSOffset' '900')"
CONFIG_LOCALE="$(bashio::config 'Locale' 'en-US' '!secret Timezone')"
CONFIG_TIMEZONE="$(bashio::config 'Timezone' )"
CONFIG_BTCONNECTRETRIES="$(bashio::config 'BTConnectRetries' '10')"
# CONFIG_CSV_EXPORT="$(bashio::config 'CSV_Export' '0')"
CONFIG_CSV_EXTENDEDHEADER="$(bashio::config 'CSV_ExtendedHeader' '1')"
CONFIG_CSV_HEADER="$(bashio::config 'CSV_Header' '1')"
CONFIG_CSV_SAVEZEROPOWER="$(bashio::config 'CSV_SaveZeroPower' '1')"
CONFIG_CSV_DELIMITER="$(bashio::config 'CSV_Delimiter' 'semicolon')"
CONFIG_CSV_SPOT_TIMESOURCE="$(bashio::config 'CSV_Spot_TimeSource' 'Inverter')"
CONFIG_CSV_SPOT_WEBBOXHEADER="$(bashio::config 'CSV_Spot_WebboxHeader' '0')"
CONFIG_SQL_DATABASE="$(bashio::config 'SQL_Database' 'SBFspot')"
CONFIG_SQL_HOSTNAME="$(bashio::config 'SQL_Hostname' 'core-mariadb')"
CONFIG_SQL_PORT="$(bashio::config 'SQL_Port' '3306')"
CONFIG_SQL_USERNAME="$(bashio::config 'SQL_Username' 'sbfspot')"
CONFIG_SQL_PASSWORD="$(bashio::config 'SQL_Password' '!secret mariadb_pw')"
CONFIG_MQTT_PUBLISHER="$(bashio::config 'MQTT_Publisher' '/usr/bin/mosquitto_pub')"
CONFIG_MQTT_HOST="$(bashio::config 'MQTT_Host' 'core-mosquitto')"
CONFIG_MQTT_PORT="$(bashio::config 'MQTT_Port' )"
# CONFIG_MQTT_USER="$(bashio::config 'MQTT_User' '!secret mqtt_user')"
# CONFIG_MQTT_PASS="$(bashio::config 'MQTT_Pass' '!secret mqtt_pass')"
# CONFIG_MQTT_TOPIC="$(bashio::config 'MQTT_Topic' 'homeassistant/sbfspot_{plantname}/sbfspot_{serial}')"
CONFIG_MQTT_ITEMFORMAT="$(bashio::config 'MQTT_ItemFormat' '"{key}": {value}')"
CONFIG_MQTT_ITEMDELIMITER="$(bashio::config 'MQTT_ItemDelimiter' 'comma')"
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
# If multiple local BT adapters are available, select the one to use
LocalBTAddress=$CONFIG_LOCALBTADDRESS
# 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_DATETIMEFORMAT
DateTimeFormat=%Y-%m-%dT%H:%M:%S%z
# 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=0
# 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=$(bashio::addon.name)/device
MQTT_ItemFormat=$CONFIG_MQTT_ITEMFORMAT
MQTT_ItemDelimiter=$CONFIG_MQTT_ITEMDELIMITER
MQTT_PublisherArgs=-h {host} -u "$(bashio::config 'MQTT_User' 'core-mosquitto')" -P "$(bashio::config 'MQTT_Pass')" -t {topic} -m "{{message}}" -d -r
MQTT_Data=InvSerial,InvName,InvClass,InvType,InvSwVer
EOL