geo-therminator/config/runtime.exs
2021-11-07 11:01:39 +02:00

109 lines
3.9 KiB
Elixir

import Config
import GeoTherminator.ConfigHelpers
if config_env() == :dev do
DotenvParser.load_file(".env")
end
config :geo_therminator,
api_timeout: 30_000,
api_username: get_env("API_USERNAME"),
api_password: get_env("API_PASSWORD"),
api_auth_url:
get_env("API_AUTH_URL", "https://thermia-auth-api.azurewebsites.net/api/v1/Jwt/login"),
api_installations_url:
get_env(
"API_INSTALLATIONS_URL",
"https://online-genesis-serviceapi.azurewebsites.net/api/v1/installationsInfo"
),
api_device_url:
get_env(
"API_DEVICE_URL",
"https://online-genesis-serviceapi.azurewebsites.net/api/v1/installations/{id}"
),
api_device_status_url:
get_env(
"API_DEVICE_STATUS_URL",
"https://online-genesis-serviceapi.azurewebsites.net/api/v1/installationstatus/{id}/status"
),
api_device_register_url:
get_env(
"API_DEVICE_REGISTER_URL",
"https://online-genesis-serviceapi.azurewebsites.net/api/v1/Registers/Installations/{id}/Groups/REG_GROUP_TEMPERATURES"
),
api_device_opstat_url:
get_env(
"API_DEVICE_OPSTAT_URL",
"https://online-genesis-serviceapi.azurewebsites.net/api/v1/Registers/Installations/{id}/Groups/REG_GROUP_OPERATIONAL_STATUS"
),
api_opstat_mapping: %{
# "REG_VALUE_STATUS_MANUAL" => 1,
1 => :hand_operated,
# "REG_VALUE_STATUS_TAPWATER" => 3,
3 => :hot_water,
# "REG_VALUE_STATUS_HEAT" => 4,
4 => :heating,
# "REG_VALUE_STATUS_COOL" => 5,
5 => :active_cooling,
# "REG_VALUE_STATUS_POOL" => 6,
6 => :pool,
# "REG_VALUE_STATUS_LEGIONELLA" => 7,
7 => :anti_legionella,
# "REG_VALUE_STATUS_PASSIVE_COOL" => 8,
8 => :passive_cooling,
# "REG_VALUE_STATUS_STANDBY" => 98,
98 => :standby,
# "REG_VALUE_STATUS_IDLE" => 99,
99 => :idle,
# "REG_VALUE_STATUS_OFF" => 100
100 => :off
},
api_device_reg_set_url:
get_env(
"API_DEVICE_REG_SET_URL",
"https://online-genesis-serviceapi.azurewebsites.net/api/v1/Registers/Installations/{id}/Registers"
),
api_device_temp_set_reg_index: 3,
api_device_reg_set_client_id: get_env("API_DEVICE_REG_SET_CLIENT_ID"),
api_refresh: 10_000
# config/runtime.exs is executed for all environments, including
# during releases. It is executed after compilation and before the
# system starts, so it is typically used to load production configuration
# and secrets from environment variables or elsewhere. Do not define
# any compile-time configuration in here, as it won't be applied.
# The block below contains prod specific runtime configuration.
if config_env() == :prod do
# The secret key base is used to sign/encrypt cookies and other secrets.
# A default value is used in config/dev.exs and config/test.exs but you
# want to use a different value for prod and you most likely don't want
# to check this value into version control, so we use an environment
# variable instead.
secret_key_base =
System.get_env("SECRET_KEY_BASE") ||
raise """
environment variable SECRET_KEY_BASE is missing.
You can generate one by calling: mix phx.gen.secret
"""
config :geo_therminator, GeoTherminatorWeb.Endpoint,
http: [
# Enable IPv6 and bind on all interfaces.
# Set it to {0, 0, 0, 0, 0, 0, 0, 1} for local network only access.
# See the documentation on https://hexdocs.pm/plug_cowboy/Plug.Cowboy.html
# for details about using IPv6 vs IPv4 and loopback vs public addresses.
ip: {0, 0, 0, 0, 0, 0, 0, 0},
port: String.to_integer(System.get_env("PORT") || "4000")
],
secret_key_base: secret_key_base
# ## Using releases
#
# If you are doing OTP releases, you need to instruct Phoenix
# to start each relevant endpoint:
#
# config :geo_therminator, GeoTherminatorWeb.Endpoint, server: true
#
# Then you can assemble a release by calling `mix release`.
# See `mix help release` for more information.
end