BPAPI

BPAPI Documentation, property documentation

CustomerProperty

NameComment
//client_device_type//Type of device last used by the customer. Note that if customer moves between devices, for instance iPhone 5 and 6 then this property will constantly change
//
//is_dealer_norway//Set to 1 if person is distributor, dealer or installator in Norway.
//
//is_dealer_switzerland//Set to 1 if person is distributor, dealer or installator in Switzerland.
//
//subproject_priority//Set to int.
//Is used to determine a relative hiearchy among subprojects of a project.
//Higher priority is better.
//
app_versionVersion of app last used by the customer.
Note that if customer moves between for instance Android and iOS then this property will constantly change.
See Report 004 for detailed information about the different apps.
Example: android:com.connome.minhytte:1.8.5 or ios:com.connome.Sikom-Living:1.8.5.
See also enum AppSkin.
countryCountry as the customer himself has identifed manually
country_code_by_ip_addressTwo letter (ISO 3166-1 alfa-2) country code as translated from IP-address used in any HTML OrderController-context (like payment of subscriptions). Will not change once set.
country_code_by_plmnTwo letter (ISO 3166-1 alfa-2) country code as translated from DeviceProperty.gprs_plmn for one of the gateways belonging to the customer. Will not change once set.
countyUsed to group Visma customers by Norwegian county/fylke
Only relevant for Visma customers
dealer_nameNOT TO BE USED FOR REGISTRATION OF DEALERS IN THEMSELVES IN DATABASE! Only to be used as free-text field entered by customer giving information about his dealer. May be deleted after real dealer has been registered with Gateway/AddDealer
descriptionGenerald description for this entity
Used mostly for Customer.NonPersonalEntities like 'translator', 'apistat' and 'listener', to create helptext for links to these entities.
Could also be used internally in Sikom to describe responsibilities for instance.
developer_modeFJERNET 14 aug 2017
easee_access_tokenEasee access token.
Used for accessing and controlling Easee devices.
easee_refresh_tokenEasee refresh token.
Used for refreshing <see cref="easee_access_token"/>.
easee_token_expiry_dateExpiry date of <see cref="easee_access_token"/>.
emailThis has to be unique in the Property table, used to identify customers by credentials
google_home_access_tokenToken representing customer that google home api will use to identify and authorize customer in request header.

TODO: Set this from authentication with google.

Existance of this token determines whether customer is using google home services, it is invalidated by GoogleHome api method when called with Disconnect intent.
has_multipleWill be set to "True" if the customer has multiple gateways or child-customers. Else set to "False".
ignore_timefilter_for_next_notificationSet automatically by BPAPI Listener when some notification_mode is changed to 1.
Used to simplify testing of notifications (usually there is a timefilter of 10 minutes against identical notifications, making rapid testing difficult).
See also <see cref="CustomerProperty.notification_time_filter_disable_mode"/>
is_thermia_customerIs set automatically by BPAPI Listener to 1 whenever a message from a Thermia Radio Node is received. Used for instance for deciding format of e-mails to customer.
is_visma_dealerIf 1 then this customer shall only be updated from Visma, should never be changed from BPAPI
location_installedBEWARE: multiple_locations is most probably translated as 'Other' in the user interface.
loginCustomer's credentials was verified successfully (with <see cref="DataAccess.CredentialVerificationResult.ResultType.FullAccess"/>).
Maximum one occurrence per hour is stored per customer.
This is an attempt at simulating the concept of login (which in reality does not exist per se in BPAPI).
manual_invoiceDate of manual invoice, relevant for <see cref="SubscriptionType.Company"/>
Introduced Oct 2017
notificationNote that History for this property will default filter out all notifications "deleted" from the app by the customer.
notification_recipient_app_1An Android GCM (Google Cloud Messaging) RegistrationId or an APNS (Apple Push Notification Service) DeviceToken. Name of App (not recipient!) must be added with | as separator like 6eba33d788da0ead06c61346544c0835b32a1c2b67c2cc5d7fbc51e477d4ca13|MinHytte_iOS
notification_recipient_cellular_1Mobil phone number. Should start with + or 00. Name of recipient may be added with | as separator like +4798765432|Mr.Nobody
notification_recipient_email_1E-mail address. Name of recipient may be added with | as separator like nobody@nowhere.com|Mr.Nobody
notification_recipient_powel_1A DMS-id for Powel (ordinarily it is logical to add only a single such, as notification_recipient_powel_1)
An additional identificator may be added with | as separator like 42|AdditionalIdentificator
notification_time_filter_disable_modeNOTE: From 29 Nov 2018 timefilter has been disabled anyway for CTM products (and for power_notification_triggered).
If set to 1 then the ordinary "duplicate within last 10-minutes" filter for notifications will be disabled.
Useful for demonstration purposes for instance.
See also <see cref="CustomerProperty.ignore_timefilter_for_next_notification"/>
organization_nameNot relevant for persons. See also organization_number
organization_numberNot relevant for persons. See also organization_name. Enter without any spaces, punctuation or hyphens. For Norwegians companies enter without NO or MVA (Use only 9 digits)
os_versionNormally the operating system version of the customer's smartphone. Introduced Oct 2018 in Android app.
passwordRemember to add !!! (three exclamation marks) to required password if you set password for an ordinary app-customer. For our own internal admin-accounts, no !!! is required. !!! is not needed when setting password to 'NotASecret'.
payment_credit_card_expiry_dateExpiry date of credit-card used for last successful payment.
Also stored in invalid_from-field in database.
payment_masked_panMasked version of credit-card number used for last successful payment.
payment_pan_hashValue enabling us to renew payment for subscription.
Note that the name is misleading. PAN (credit-card number) is not the source of this hash-code.
Set this property NoLongerCurrent if you want to completely disable renewal of subscriptions based on old credit-card number.
preferred_languageLanguage preferred by the user. Example values: nb-NO, en-US, da-DK, sv-SE. Set for instance by app.
preferredCountryCodeNot configurable. Decided by country_code_by_plmn or country_code_by_ip_address or set to NO (Norway).
See also enum BPAPIData.MCC
preferredCurrencyNot configurable. EUR for Thermia-customers. NOK when gateway or customer located in Norway. EUR for rest.
project_type<see cref="CustomerProperty_project_type"/>
Identifies customer as representation of either a power project or subproject by existing.
registration_id_full_access_to_dateIndicates that any registration_id (ValueCode) for a gateway belonging to customer is sufficient for giving full access
(<see cref="DataAccess.CredentialVerificationResult.ResultType.FullAccess"/> / to all gateways belonging to customer).
Not to be confused with how registration_id (ValueCode) at all times gives <see cref="DataAccess.CredentialVerificationResult.ResultType.LimitedAccessRegistrationIdUsed"/>.
rejectNextSetOfHTTPBasicCredentialsUsed to simulate logout. See api-call Customer/Logout
sl_refresh_token_validator_keyA random key generated per user that uses JWT for authorization.

This key is embedded into the refresh token JWT as a custom claim.
When we receive a request using Bearer with token, we extract this information from the refresh token and compare it to
the value stored in this key on the customer. If they match, the user is authorized.

If this key does not exist and the user tries to use JWT as authentication, authorization will fail.

Set this to no_longer_current in order to restrict all JWT user access (after 1 hour).
subscription_trademark_nameWill always be set (through <see cref="Customer.Initialize"/>)

Something like "Sikom Connect", "MinHytte" or "Thermia Aura Remote".
support_center_nameWill always be set (through <see cref="Customer.Initialize"/>)

Something like "Sikom Connect AS", "MinHytte" or "Thermia Varmepumper".
Usually used as sender-name when sending notifications to customer.
support_email_addressWill always be set (through <see cref="Customer.Initialize"/>)

Something like post@sikomconnect.no, hjelpmeg@minhytte.no or kundcenter@thermia.se.
Should be used by app when referring customer to support (instead of any e-mail address showing up through translator). Typical example is Translation_login_text_info like
https://api.connome.com/api/Property/6089195/HTML (Android) and https://api.connome.com/api/Property/6089268/HTML (iOS) which should (as of April 2016) be removed from app.
Instead use Translation_login_text_info.
support_no_reply_addressWill always be set (through <see cref="Customer.Initialize"/>)

Something like noreply@sikomconnect.com, ikkesvar@minhytte.no or noreply.thermia-aura-remote@sikomconnect.com.
Usually used as sender-address when sending notifications to customer.
visma_emailCorresponds to MailAd field in Visma Actor table
Only used by Visma customers, since email property is in use
visma_idCorresponds to ActNo field in Visma Actor table
web_client_urlURL for web-client. As of Nov 2015 used by app when user has multiple gateways for choosing correct gateway.
Should be api.connome.com/ClientAppWeb.
(note that app.sikom.no can not be used from app as this will redirect and it does not support https)
webaddressCorresponds to IntAd1 in Visma database, currently empty field but will have data in the futures

GatewayProperty

NameComment
//latest_full_refresh//DateTime of the last run full-refresh
//TODO: Remove from here. No need for storing in database. Use ConcurrentDictionary instead.
//TODO: DELETE ALL OF THESE FROM DATABASE
//
//latest_quick_refresh//DateTime of the last run quick-refresh
//TODO: Remove from here. No need for storing in database. Use ConcurrentDictionary instead.
//TODO: DELETE ALL OF THESE FROM DATABASE
//
//subscription_type_basicMost basic subscription type possible for this gateway.
Only relevant for LAN gateways (<see cref="GatewayType.CTMmTouchHub"/> / <see cref="GatewayType.LANECOComfort"/>).
Set to either BasicAlarm or BasicControl if gateway has
respectively only alarm-equipment or only control-equipment. If not then does not exist.
Used for suggesting (a cheap) subscription to customer. Set by BPAPI Listener when devices added or removed.
does_not_exist_in_jasperIf 1, then gateway does not exist in Jasper (Telit API)

Not in use as of 11.05.2019
TODO: Remove
force_cloud_week_program_functionality_onEnable this to allow non-GEC3 gateways to use Cloud Week Programs.

As of 19.08.2024, only GEC3 gateways use Cloud Week Programs, and all other gateway types use the old group based week programs.
By setting this property to true, Cloud Week Programs will be enabled for the app (for any gateway type).

This is mainly meant to be for internal testing, but it can also be enabled for customers with special needs.
An example is a customer who currently uses group week programs, but needs to control more than eight devices at the same time.

Note: Enabling this property does not disable group week programs, so make sure that all other programs are disabled first.
gateway_place_yr_noLocation used against yr.no for weather-information
gateway_typeGateway type as used as parameter values to BPAPI methods. See also gateway_type_description
gateway_type_descriptionUse gateway_type as parameters to BPAPI methods.
gatewayAddressIP address that the gateway is connecting from

TODO: Only stored as null-values as of Sep 2017
SELECT * FROM properties WHERE name = 'gatewayAddress' ORDER BY property_id DESC LIMIT 1000
TODO: Either remove altogether or fix Message-object!
internal_connection_idConnection Id that is internal to GatewayListenerGSM_TCPIP.
Used by BPAPIListener and BPAPI (WebAPI) for identifying for which gateway to send a message
is_available_for_testingSignifies that gateway may be used internally for testing purposes. Note that some of these gateways are actually in production use by Sikom employees so please restrain yourself when doing tests!
(in general it is preferable to instead use the virtual demo-gateways (demo00xx and upwards) for testing, or create your own virtual gateway)
is_enriched_from_jasperIf 1, then Gateway has added properties from Jasper (Telit API)

Not in use as of 11.05.2019
TODO: Remove
is_free_gatewayA free gateway is a gateway where the customer typically has just started using the gateway and is using value code for logging in.
It can also mean that a customer has used the "Change Gateway Ownership" in SAM and that the gateway is waiting for a new owner.
A free gateway can be added to another customer by using "Add Gateway" in SAM (Gateway/Assign method).

If a gateway is not marked as free, another customer should not be able to take over the gateway by using "Add Gateway".
jasper_date_addedCorresponds to 'Date Added' in Jasper (Telit API)

Not in use as of 11.05.2019
TODO: Remove
jasper_sim_statusCorresponds to 'SIM status' in Jasper (Telit API)

Not in use as of 11.05.2019
TODO: Remove
light_user_position_homeIntroduced May 2019. In use by new app to save user info about light-tile (tile position).
msisdnMsisdn telephone number unique to Gateway, acquired from Jasper (Telit API)

Not in use as of 11.05.2019
TODO: Remove
network_idICCID_8934077179 = Telit Plastic SIM (Small series), ICCID_8934076379 = Telit Chip SIM (Fixi), ICCID_8946204604 = Telit Plastic SIM (ECO-Comfort)
project_idID of customer representing top level project where the gateway is registered in.
registration_gateway_idTODO: Equivalent to registration_id but still used by old apps.
TODO: DELETE THIS if no longer used by app!
TODO: Dec 2015: Have we waited long enough now?
registration_idValueCode used by customer for registration.
subproject_id_1Includes IDs of all subprojects that the gateway is part of.
subscription_automatic_renewal_modeIf on then BPAPI will automatically attempt to renew the subscription through the payment_pan_hash-property stored with the customer.
subscription_automatic_renewal_will_be_doneSet to 1 if everything is in order regarding "stored" credit card number of customer.
Note that not to be trusted if Customer-object with <see cref="CustomerProperty.payment_credit_card_expiry_date"/> and <see cref="CustomerProperty.payment_masked_pan"/>
was not available at time of evaluation (typical when looking up a single gateway in BPAPI for instance)
subscription_days_remainingIf value is zero then the property subscription_reminder should be shown prominently to the user (customer)
subscription_descriptionGeneral description about the current subscription.
subscription_description_shortGeneral short description about the current subscription.
subscription_first_paymentDate of first payment received for gateway.
NOTE: 18 Aug 2020: This seems to not have been updated in database after Oct 2017.
subscription_reminderNormally empty. Contains text of action that should be taken by customer for renewing the subscription
subscription_valid_to_dateYou may start a new trial-period by setting this property NoLongerCurrent (assumed that gateway is online).
As from May 2016 administrators may set this property to any future date.
total_gateway_countNormalt antall gateway som håndteres av en bestemt Listener.
user_coordinatesLatitude and longitude inputted by user.
user_latitudePosition (latitude) of the gateway set by user through App. Typically used to get accurate weather information in App. See also user_longitude.
user_longitudePosition (longitude) of the gateway set by user through App. Typically used to get accurate weather information in App. See also user_latitude.
virtual_app_skinAppSkin that this virtual gateway is suitable for.
Decides what devices the Listener will automatically add for this gateway.
The value should be changed with caution. Preferably virtual_mode should be turned 'off' before changing this value (and then turned back 'on').
virtual_modeIf on (value "1") and hardware abstraction is defined for this GatewayType then a virtual gateway will be created by BPAPI-listener that will behave almost like a real gateway.
weather_user_position_homeIntroduced 2018. In use by new app to save user info about weather (tile position).
zaptec_installation_idThe official installation ID used by the Zaptec cloud.
If this property is currently set for a Sikom gateway, we consider the Zaptec installation linked to the Sikom customer/gateway.

DeviceProperty

NameComment
/// Indicates that the device is to be removed.
//ams_iap//Imported Active Power
//
//ams_v1//Voltage V1.
//<see cref="ams_power_voltage"/> (V1), <see cref="ams_v2"/> and <see cref="ams_v3"/>
//
//at_result//Result of at-command (Calendar-command).
//See also corresponding GatewayProperty.at_result
//
//awake//Relevant for battery powered devices. Indicates when device has waken up from sleep / low level power consumption state in order to receive commands from the controller.
//
//current_notification_triggered//To high current (amperes) being drawn
//
//description_teaser//TODO: Remove this property. Instead it goes directly to translation with key like
//"description_teaser_for_GSMECOComfort".
//See <see cref="ProductDocumentation.ProductDocumentBase.TeaserDescriptionTranslationKey"/>
//
//For Products. Text below header. Will show up for translation for other languages. Do not confuse with description_additional (which is used for siblings / child-products)
//
//device_uptime_levelBetween 0 and 100. Device starts with level of 100. 5 is subtracted for every "ping" (every hour). Set to 100 whenever response received.
If reaches 0 then notification is sent to customer (every second day).

Jan 2020: This is probably not in use anymore anyway
Aug 2022: Not used anymore
//hao_has_been_created//Temporary hack signalling that a device with <see cref="NodeId.HAO"/> has been created for <see cref="GatewayType.LANECOComfort"/> / <see cref="GatewayType.CTMmTouchHub"/>.
//Introduced 2 Jun 2019 because the original check for HAO by looking directly in database was very inefficient (GetDeviceIdByGatewayIdAndNodeId).
//
//input_state//Not in use as of January 2015 for any system
//
//mode//0 = Normal, 1 = Adding, 2 = Removing
//
//notificaton_seconds_delay//Delay after alarm is triggered before message will be sent
//
//register_command//The register command RRX_COM_REGISTER
//
//response_time_milliseconds/Elapsed time in milliseconds when sending a control-command to a device. Useful for finding slow-responding devices. As of October 2014 only measurements between server and device are taken.
/
//Status//0 = Not initialized, 1 = offline, 2 = online
//
//SubscriptionRegisterPaymentCallback_payment_299_00_NOKValue 1 counts number of times subscription payment has been registered with amount 299.00 NOK (new subscription subscribed to)
//
//SubscriptionRegisterPaymentCallback_payment_59_00_NOKValue 1 counts number of times subscription payment has been registered with amount 59.00 NOK (new subscription subscribed to)
//
//SubscriptionRegisterPaymentCallback_payment_598_00_NOKValue 1 counts number of times subscription payment has been registered with amount 598.00 NOK (new subscription subscribed to)
//
//SubscriptionRegisterPaymentCallback_payment_amount_NOKTotal sum, in NOK, received for subscriptions
//
//SubscriptionRegisterPaymentCallback_payment_OTHER_AMOUNT_NOKValue 1 counts number of times subscription payment has been registered with odd amount (usually subscription updates)
//
//tcp_ip_connectionWill always show as "1" as DeviceProperty but aggregations are available, counting number of new TCP/IP connections
//
//timer_notification_triggered//Some kind of count-down has completed
//
activations_as_master_countFor DeviceModel.WirelessDetecto WFIRE. Emaster - Number of activations in master mode
activations_as_slave_countFor DeviceModel.WirelessDetecto WFIRE. Eslave - Number of activations in slave mode
active_profileFor Thermia Radio Node: Last profile activated. 0-9. 10 (0x0A) means No known Profile (but will usually be replaced by "X" by BPAPIListener)
Will be set based on both an Sxx-response and an Rxx4y-response.
See also <see cref="active_profile_confirmed"/> which is set _only_ by the Sxx-response, that is when profile-values are reported back for the pump ("transferred" to the pump)
active_profile_confirmedFor Thermia Radio Node: Last profile activated. 0-9. 10 (0x0A) means No known Profile (but will usually be replaced by "X" by BPAPIListener)
Will be set _only_ by the Sxx-response, that is when profile-values are reported back for the pump ("transferred" to the pump)
See also <see cref="active_profile"/> which is set both by an Sxx-response and an Rxx4y-response.
active_profile_device_idSee also active_profile
active_profile_last_not_zero//Last active_profile set that was not zero. Used by app to ascertain profile to use when turning pump back on after it has been turned off (becasuse turning thermostat_active on will always enter profile 2 (Comfort))
//
active_profile_node_idSee also active_profile
alarm_detailed_notification_triggeredSee also <see cref="alarm_details_as_given_in_warning_message"/>.
Note that in AppView we send this as <see cref="input_state_notification_triggered"/>.
alarm_details_as_given_in_warning_message(1 = Tamper, 2 = Overtemperatur (HighTemperature), 3 = Nedtellingsur (CountDownTimer), 4 = Strømtrekk (CurrentDraw))
alarm_invert_notification_modeNOTE: Supported only in GEC3 FW > 1.5

0 = normally open
1 = normally closed
ams_algorithm_versionTo be used for selecting parts of the code to run at runtime, for instance to enable variants of code under development or testing in a limited set of installations.
ams_avg_pwr_expected_next_windowOriginates from PowerRegulatorListener.
Average power (in W) expecteded for next window (compared to <see cref="ams_power_usage_threshold"/> in order to regulate power)
ams_avg_pwr_last_windowOriginates from PowerRegulatorListener.
Average power (in W) registered for last window (should correspond quite closely to hourly energy-reading from AMS)
ams_calculated_energyThis is the calculated (strictly speaking 'active') energy (Wh) usage based on the 2 second and 10 second instantaneous power usage reported by the meter.
Each time (1 hour) the meter sends a new value for <see cref="DeviceProperty.ams_cumulative_imported_energy"/>
this value is then reset to 0.
See also <see cref="ams_cumulative_plus_calculated_energy"/> which adds those to values together (done by BPAPI Listener)
ams_ceaeCumulative Exported Active Energy
(Note <see cref="ams_cumulative_imported_energy"/> which has "longer" name).
Note: For Kamstrup and Aidon, value as given by meter is multiplied by 10 by GatewayListener (since resolution is 10 Wh).
ams_cereCumulative Exported Reactive Energy
(Note <see cref="ams_cumulative_imported_reactive_energy"/> which has "longer" name).
Note: For Kamstrup and Aidon, value as given by meter is multiplied by 10 by GatewayListener (since resolution is 10 Wh).
ams_count_regulatedOriginates from PowerRegulatorListener.
Count of devices regulated at any given time (each single device is marked with <see cref="ams_regulated_state"/>)
ams_cumulative_imported_energyEnergy (strictly speaking active energy) as "officially" reported by the meter (målerstand), updates every hour.
Value in Watthours, resolution is 1 Wh.
See also <see cref="ams_cumulative_imported_reactive_energy"/> which is assumed less important.
(Note <see cref="ams_ceae"/> which has "shorter" name). Could have been called ams_ciae (cumulative imported active energy).
Note: For Kamstrup and Aidon, value as given by meter is multiplied by 10 by GatewayListener (since resolution is 10 Wh).
ams_cumulative_imported_reactive_energyThis is the reactive power usage. Probably not important as of May 2018.
(Note <see cref="ams_cere"/> which has "shorter" name). Could have been called ams_cire.
Note: For Kamstrup and Aidon, value as given by meter is multiplied by 10 by GatewayListener (since resolution is 10 Wh).
ams_cumulative_plus_calculated_energyOriginates from BPAPI Listener.
This is the most frequently updated total meter reading in Wh consisting of the "official" value
<see cref="ams_cumulative_imported_energy"/> (active energy) from the meter itself (updated every hour), with
the ECO Energy Controller's additional <see cref="ams_calculated_energy"/> (updated every 2 or 10 second)
BPAPI Listener calculates this sum itself.
ams_cumulative_plus_calculated_energy_today<see cref="ams_cumulative_plus_calculated_energy"/> registered so far today (in Wh).
ams_current_power_usageDO NOT USE THIS VALUE. It is quite "random" since only given each minute.
Use instead <see cref="ams_iap_slp_avg"/>

Imported Active Power.
This is the power usage (in Watts) as reported by the meter each 2 sec or 10 sec. Can be used to indicate power usage.
(Note <see cref="ams_eap"/> which has "shorter" name). Could have been called ams_iap
ams_disable_autotuningIf true, autotuning of the power regulation will be disabled.
ams_disable_regulation_untilSet to date up to which PowerRegulatorListener should not regulate this device.
ams_eapExported Active Power
(Note <see cref="ams_current_power_usage"/> which has "longer" name)
ams_eap_slp_avgAverage Exported Active Power since last push
ams_eap_slp_maxMAX Exported Active Power since last push
ams_eap_slp_minMIN Exported Active Power since last push
ams_erpExported Reactive Power
ams_erp_slp_avgAverage Exported Reactive Power since last push
ams_erp_slp_maxMAX Exported Reactive Power since last push
ams_erp_slp_minMIN Exported Reactive Power since last push
ams_expensive_hour_avoidance_activeDecides whether the energy control algorithm should avoid the most expensive hours (based on Nordpool prices).
ams_hourly_pricing_outputActual output from Power Price Regulator. The Power Price changes the power limit for the peak shaving regulator algorithm based on the price,
this property is the value it changed to.
ams_i1Current I1. Signed 16 bit value.
ams_i1_slp_avgAverage I1 since last push
ams_i1_slp_maxMAX I1 since last push
ams_i1_slp_minMIN I1 since last push
ams_i2Current I2. Signed 16 bit value.
ams_i2_slp_avgAverage I2 since last push
ams_i2_slp_maxMAX I2 since last push
ams_i2_slp_minMIN I2 since last push
ams_i3Current I3. Signed 16 bit value.
ams_i3_slp_avgAverage I3 since last push
ams_i3_slp_maxMAX I3 since last push
ams_i3_slp_minMIN I3 since last push
ams_iap_slp_avgAverage Imported Active Power since last push
Will be stored directly as AggregationType.Average with AggregationPeriod.Minute.
Note that this is much better to use than <see cref="ams_current_power_usage"/>
ams_iap_slp_maxMAX Imported Active Power since last push
ams_iap_slp_minMIN Imported Active Power since last push
ams_irpImported Reactive Power
ams_irp_slp_avgAverage Imported Reactive Power since last push
ams_irp_slp_maxMAX Imported Reactive Power since last push
ams_irp_slp_minMIN Imported Reactive Power since last push
ams_longest_regulated_since_last_tuningHolds the time in minutes of the longest period with continuous regulation since last tuning of limit.
ams_member_1Node IDs of devices to decrease power consumption when <see cref="ams_regulation_state"/> is set to <see cref="DeviceProperty_ams_regulation_state.ImportLimited"/>.
Should have been ams_pril_member* where pril is for Power Regulator Import Limiter, but the legacy name is
kept for backwards compatibility with less code mess.
ams_meter_type0 = unknown
1 = KaifaV1
2 = KamstrupV1
3 = AidonV1
4 = LandisV1
ams_power_multiplication_factorMultiplication factor (integer) applied to energy/power/current values reported from AMS meters.
Some meters are installed to report values with arbitrary resolution.
ams_power_price_avg_last_30_daysAverage power price in the last 30 days
ams_power_price_avg_todayIndicate the average price (nok/Mwh) of today's power prices.
ams_power_price_high_last_30_daysMaximum power price value in the last 30 days
ams_power_price_high_thresholdUpper limit of Power Price Regulator. any price above the limit will force the regulator to be in maximum level of regulation.
Value is a percentual related to the average price of the day. Default value is 25.
ams_power_price_low_last_30_daysMinimum power price values in the last 30 days
ams_power_price_low_thresholdLower limit of Power Price Regulator in øre/Kwh. any price below the value will not be regulated.
ams_power_price_nowIndicate the current price (nok/Mwh).
ams_power_regulator_tuning_phaseSet to 1 when power regulator tuning phase starts, then set to 0 when done.
ams_power_usage_thresholdThreshold value in Watt for <see cref="ams_current_power_usage"/> / <see cref="ams_iap_slp_avg"/>
When above threshold, start turning off corresponding devices for ams_member_x properties (when <see cref="DeviceProperty."/>

Magic values:
Set to -1 to restart initial tuning period where it will wait for one week before tuning repetitively until a suitable limit is found.
Set to -2 to do an immediate tuning (it may take a minute before it takes effect).
ams_power_voltageAktuell spenning som AMS-måleren registrerer. Ingen nominell måleenhet pr oktober 2018 (desi-Volt er en del brukt).
<see cref="ams_power_voltage"/> (V1), <see cref="ams_v2"/> and <see cref="ams_v3"/>
ams_prel_avg_pwr_expected_next_windowOriginates from PowerRegulatorListener.
Average power (in W) expecteded for next window. not necessarily hour since the window can be adjusted.
name maintain hour to match PRIL properties which are hourly.
ams_prel_avg_pwr_last_windowOriginates from PowerRegulatorListener.
Average power (in W) registered for last window. not necessarily hour since window can be adjusted.
ams_prel_member_1Node IDs of devices to increase power consumption when <see cref="ams_regulation_state"/> is set to <see cref="DeviceProperty_ams_regulation_state.ExportLimited"/>.
prel is short for Power Regulator Export Limiter.
ams_prel_pwr_regulated_sumOriginates from PowerRegulatorListener.
Sum of potential power regulated (in W) (each single device is marked with <see cref="ams_regulated_state"/>)
For PREL this is related with <see cref="estimated_unreg_power"/>.
ams_prel_total_count_regulatedSum of all <see cref="ams_prel_count_regulated"/>. Stored by PowerRegulatorListener
ams_prel_total_pwr_regulated_sumSum of all <see cref="ams_prel_pwr_regulated_sum"/> (in kW). Stored by PowerRegulatorListener
ams_pwr_regulated_sumOriginates from PowerRegulatorListener.
Sum of potential power regulated (in W) (each single device is marked with <see cref="ams_regulated_state"/>)
As of Oct 2018 corresponds to sum of <see cref="user_defined_power"/> for regulated devices.
ams_regulated_by_hourly_pricingFlag that indicates if we are in a expensive hour
ams_regulated_stateTells whether the device is currently being regulated or not.
0 = not regulated
1 = import regulated
2 = export regulated
ams_regulation_priorityPriority level per device for import regulation by PowerRegulator.cs. Multiple devices may have
the same value.
Should have been ams_pril_regilation_priority where pril is for Power Regulator Import Limiter, but the
legacy name is kept for backwards compatibility with less code mess.
ams_total_count_regulatedSum of all <see cref="ams_count_regulated"/>. Stored by PowerRegulatorListener
ams_total_pwr_regulated_sumSum of all <see cref="ams_pwr_regulated_sum"/> (in kW). Stored by PowerRegulatorListener
ams_tslhr_countNumber of transactions since last hourly reset
ams_v1_slp_avgAverage V1 since last push
ams_v1_slp_maxMAX V1 since last push
TODO: Utilize this in order to improve aggregations of <see cref="ams_power_voltage"/>
ams_v1_slp_minMIN V1 since last push
TODO: Utilize this in order to improve aggregations of <see cref="ams_power_voltage"/>
ams_v2Voltage V2.
<see cref="ams_power_voltage"/> (V1), <see cref="ams_v2"/> and <see cref="ams_v3"/>
ams_v2_slp_avgAverage V2 since last push
ams_v2_slp_maxMAX V2 since last push
ams_v2_slp_minMIN V2 since last push
ams_v3Voltage V3.
<see cref="ams_power_voltage"/> (V1), <see cref="ams_v2"/> and <see cref="ams_v3"/>
ams_v3_slp_avgAverage V3 since last push
ams_v3_slp_maxMAX V3 since last push
ams_v3_slp_minMIN V3 since last push
app_version_countDeviceModel.App
Counts number of customers with this app_version
application_startValue 1 counts number of times application (like BPAPIListener) has been started. Value 0 used to create history of restarts.
astroswitch_combined_modeAmalgation of switch_mode and astroswitch_mode. // Mode. 00=Off 01=On 02=Astro
Device.Initialize will translate this into switch_mode and astroswitch_mode respectively (but that is not used by app)
astroswitch_modeNote that this property does NOT originate from the device itself but is set by <see cref="Device.Initialize"/>
astroswitch_override_end_timeTime (HH:MM) when Astroswitch should be overridden on. Set to 00:00 to disable (for both override_start_time and override_end_time)
astroswitch_override_start_timeTime (HH:MM) when Astroswitch should be overridden off. Set to 00:00 to disable (for both override_start_time and override_end_time)
astroswitch_risetimeSunrise time change
astroswitch_settimeSunset time change
auto_stateFor Thermia Radio Node
auxiliary_equipmentProduktpresentasjon. Spesialgenerert side hvor alle tilbehørskategorier listes opp
avg_prel_pwr_last_hour_highest_partlyOriginates from PowerRegulatorListener.
Highest value for partly average power (in W) (highest value of average for last time window. currently 3 minutes).
Capped at <see cref="ams_power_usage_threshold"/>
avg_pwr_last_hour_highest_partlyOriginates from PowerRegulatorListener.
Highest value for partly average power (in W) (highest value of average for last hour, last 59, 58, 57 ... 30 minutes).
Capped at <see cref="ams_power_usage_threshold"/>
battery_notification_modeNote that for some devices like MoistureSensor og WirelessTemperatureDetector this property is hard-coded to ON in all cases.
battery_typeDeviceModel.Product.
Type of battery used by device.
Calculated by <see cref="ProductCodeInfo.TryGetBatteryTypeAndNumber(ProductCode, out BatteryType)"/>
batteryLevelUsually battery level in percent of full capacity
CheckPassword_accessCountGjelder BasicAuthHttpModule metode BasicAuthHttpModuleCheckPassword.
(see Coding.Method.BasicAuthHttpModuleCheckPassword for how this method-name gets translted into only "CheckPassword").
(dette er den mest praktiske DeviceProperty å be om aggregations for hvis man ønsker statistikk for bruken av BPAPI).
Not to be confused with DeviceProperty.VerifyPassword_accessCount
clock_notification_triggeredThis will normally NOT be sent to the user as a notification. Instead BPAPIListener automatically sends P1HHmmddMMyy to the gateway when clock_notification_triggered is received
communication_error_stateFor Thermia Radio Node: 0 = Communication with heat pump OK, 1 = Cannot communicate with heat pump
compatible_with_sikomAngir kompatiblitet for tilleggsutstyr fra andre produsenter enn Sikom. De kommer da med i listen over tilleggsutstyr i produktpresentasjonen.
(samtidig kan vi bruke det at product_producer er noe annet enn Sikom som grunnlag for endre litt i måten produktet presenteres på)
Connection_CountConnection_Count and Connection_CurrentWaitingForActivation should normally correspond to each other
Connection_CurrentRunningShould normally be zero
Connection_CurrentWaitingForActivationConnection_Count and Connection_CurrentWaitingForActivation should normally correspond to each other
control_by_radioEnheten styrer strømkurser via radioforbindelse med enheter som igjen har control_by_relay.

BØR spesifiseres sammen med protokoll slik som protocol_connx_2 slik at kan lenkes til kompatible enheter.
(control_by_radio er altså et generelt begrep, protokoll slik som protocol_connx_2 forklarer nærmere.
control_by_relayEnheten styrer strømkurser ved å åpne / lukke rele
control_device_or_groupFor Sikom ECO-Comfort: Wireless panel. Which device or group to control. 0xFF = not registered. 00-63 = device. 64-68 = group 1-5
corrupt_iccidSignifies that gateway attempted to connect with corrupt ICCID that was successfully changed.
See GatewayListener.HandleMessage for details.
corrupt_status_messageIndicates that a corrupt status messages was received and discarded. the value is the discarded message.
count_days_in_operationTODO: Lookout for possible missing use of translatorHexDecimal in the hardware abstraction model.
TOOD: In other words, the value seen may be a hexadecimal once, not a decimal one.
count_paired_devicesFor <see cref="Vendor_Sikom.CTMSwitch"/>:
currentCurrent in some units of A (Ampere).
For <see cref="Vendor_Sikom.CTMSwitch"/>, Measured current value (deci-ampere). From 0 to 25A (255=25.5A)
TODO: Add translator and turn into ampere instead
current_maxMaximum current setting set by user.
May be set to values between (and including) current_max_min and current_max_max.
If not set, it defaults to current_max_max.
When current_max_max decreases and current_max_max < current_max, our system automatically sets current_max to current_max_max.
When current_max_min increases and current_max_min > current_max, our system automatically sets current_max to current_max_min.
current_max_dynamicMaximum current setting as seen on the device.
Known by Easee people as dynamicChargerCurrent.
When NOT charging, it fluctuates and can be higher than current_max_max or lower than current_max_min.
When charing, our system ensures this is equal to current_max or less if power regulated.
Our system does not touch this when not charging. There is no reason for doing so.
current_max_maxMaximum value current_max can be set to.
Known by Easee people as maxChargerCurrent and may only be changed by Easee installers.
See maxChargerCurrent in https://developer.easee.cloud/docs/current-limits-and-control#max-charger-current
When current_max_max decreases and current_max_max < current_max, our system automatically sets current_max to current_max_max.
When current_max_max decreases and current_max_max < current_max_min, our system automatically sets current_max_min to current_max_max.
current_max_minMinimum value current_max can be set to.
When current_max_max decreases and current_max_max < current_max_min, our system automatically sets current_max_min to current_max_max.
When current_max_min increases and current_max_min > current_max, our system automatically sets current_max to current_max_min.
current_power_usageThis is the power usage (in Watts) as reported by the device. Can be used to indicate power usage.
current_stateFor <see cref="Vendor_Sikom.CTMSwitch"/>: Strømflagg, (always 1 when no current sensor)
customer_notificationWill always show as "1" as DeviceProperty but aggregations are available, counting number of notifications (number of messages) actually sent customer (including delayed ones). See also customer_notification_delayed
customer_notification_delayed_and_discardedWill always show as "1" as DeviceProperty but aggregations are available, counting number of notifications (number of messages) NOT sent customer
customer_notification_delayed_and_sentWill always show as "1" as DeviceProperty but aggregations are available, counting number of delayed notifications (number of delayed messages)
datetimeDate and time as seen on the device. Correlate with Created-value to ascertain correctness.
NOTE: For AstroSwitch a received value of '0' will be treated as 1 Jan 0001 00:00:00.
descriptionDeviceModel.App
General description for this entity
description_additionalDeviceModel.Product.
Only use this for child products / derived products in the ProductPresentation.
Use keyword -description_additional- to insert this text into description_short / description_long.
detector_byte_1DATA_1 = master data - actual chamber value
detector_byte_2DATA_2 = master data - average chamber value
detector_byte_3DATA_3 = master data - status byte of the detector
detector_input_first_delayFor Sikom ECO-Comfort: 8 bits for indicating which detector input should have delay before alarm is sent (First bit (LSB, leftmost when translated) = input 1, last bit (MSB, rightmost when translated) = input 8)
detector_message_triggeredSet to "1" whenever <see cref="last_com"/> is one of F, T, R, X, E, B, C (Set to "1" for all other values).
Will ALWAYS be sent as notification to customer, every time gateway reports this as "1".
device_modelBPAPI recognized device model based on vendor and vendor_type properties.
Enum DeviceModel.ToString(). Not stored in database.
device_model_readableReadable version (Enum DeviceModel.Description) of 'device_model'-property. Not stored in database.
device_typeEnum DeviceType.ToString(). Not stored in database.
device_type_readableReadable version (Enum DeviceType.Description) of 'device_type'-property. Not stored in database.
DeviceAddedInformation about new Device added to Gateway
DeviceAdded_triggeredValue 1 = A new device has been discovered, values greater than 1 means some kind of error occurred. 10 = already registered.
DeviceRemovedInformation about Device removed from Gateway.
dimensionsDeviceModel.Product.
Write like "70mm x 89mm x 58mm (h x b x d)" for instance.
display_invert_modeWhite-on-black instead of black-on-white.
document_urlFor Docs. Link to "real" document containing information. Link must end in .pdf, .doc, .gif or similar.
dst_modeDaylight saving time mode
1 = DST, 0 = "normal" time / winter-time.

NOTE: Setting of DST supported as of April 2023
easee_charger_op_modeCharger operation mode.

No car connected.
Disconnected = 1

Car connected, charger is waiting for load balancer or remote authorization. SuspendedEVSE.
AwaitingStart = 2

Charging.
Charging = 3

Car has paused/stopped charging.
Completed = 4

Error in charger.
Error = 5

Charger is waiting for car to take energy. SuspendedEV.
ReadyToCharge = 6
el_numberDeviceModel.Product.
Write without "EL" or any spaces (write just the digits)
error_codeFor Thermia Radio Node: Error code from heatpump. Bit 0-4 = main category. Bit 5-7 = sub category (parsed as xx-y in BPAPI). Note that from 28 May 2015 error_code will no longer influence heatpump_notification_triggered
error_stateFor Thermia Radio Node
estimated_reg_powerThe power (in W) that this device releases when regulated out, as estimated by the system itself, compared
to when regulated in (raw value, no PWM or other partial regulation scheme accounted for). Will be a
negative value (representing the power "added" when the device is regulated out. Only relevant to set for
devices which have switch_mode (and when an <see cref="DeviceModel.ECOEnergyController"/> / <see
cref="Vendor_Sikom.ECOEnergyController"/> is installed)
estimated_unreg_powerThe power (in W) that this device draws when unregulated, as estimated by the system itself, compared to
when regulated out (raw value, no PWM or other partial regulation scheme accounted for). Will be a positive
value. Only relevant to set for devices which have switch_mode (and when an <see
cref="DeviceModel.ECOEnergyController"/> / <see cref="Vendor_Sikom.ECOEnergyController"/> is installed)
events_last_handledUsed exclusively by the week program listener to indicate the timestamp when events were last handled (used on server restart)
ext_flagsFor <see cref="Vendor_Sikom.CTMVentilDriver"/>
external_simSikom GSM Fixi. 0 eller 1 avhengig om om external sim benyttes eller ikke
fan_speedFor Thermia Radio Node: 0=Auto, 1=Low, 2=Mid, 3=High
faq_device_property_1DeviceModel.Doc.
deviceProperty that this Document gives additional information about (FAQ). Multiple faq_device_property_xx may be specified.
firmware_revisionSee also <see cref="firmware_revision_reminder"/> (if that one exist there is important information for the user to know abut firmware_revision)
See also <see cref="firmware_revision_log"/> (attempts at upgrading)
firmware_revision_logAttempts at auto-upgrading firmware.
firmware_revision_reminderIf exists then this information is important for the user to know
full_powerFor Thermia Radio Node: Special flag. Full power if bit 7 is set
gateway_iccidIntegrated Circuit Card Identifier. Identifies the Subscriber Identification Module (SIM-card) that securely stores the International Mobile Subscriber Identity (IMSI).
gateway_imeiInternational Mobile Station Equipment Identity. Usually unique, used to identify 3GPP (i.e., GSM, UMTS and LTE) and iDEN mobile phones, as well as some satellite phones.
gateway_imsiInternational mobile subscriber identity. Used to identify the user of a cellular network and is a unique identification associated with all cellular networks.
gateway_offline_countTotal number of gateways determined to be offline by a particular Listener.
Note that virtual gateways are not included in this number for GatewayListener
gateway_online_countTotal number of gateways determined to be online by a particular Listener.
Note that virtual gateways are not included in this number for GatewayListener.
See also gateway_online_new_count
gateway_online_new_countNew gateways coming online. See also gateway_online_count (total number)
gateway_place_yr_noOnly used internally by BPAPI. Not relevant for external use. This property is stored in the database as a GatewayProperty, not a DeviceProperty.
gateway_registration_idExtra identification of gateway. Used for stronger authentication by BPAPI Listener.
gateway_SikomGSMECOComfort_offline_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMECOComfort_online_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMECOComfort_online_new_countNew gateways coming online. See also gateway_SikomGSMECOComfort_online_count (total number)
gateway_SikomGSMECOComfort4G_offline_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMECOComfort4G_online_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMECOComfort4G_online_new_countNew gateways coming online. See also gateway_SikomGSMECOComfort4G_online_count (total number)
gateway_SikomGSMECOController_offline_countNote that virtual gateways are not included in this number for GatewayListener
Note that <see cref="HardwareAbstraction.GSMECOController4G"/> is included in this number.
gateway_SikomGSMECOController_online_countNote that virtual gateways are not included in this number for GatewayListener.
Note that <see cref="HardwareAbstraction.GSMECOController4G"/> is included in this number.
gateway_SikomGSMECOController_online_new_countNew gateways coming online. See also gateway_SikomGSMECOController_online_count (total number)
Note that <see cref="HardwareAbstraction.GSMECOController4G"/> is included in this number.
gateway_SikomGSMECOController4G_offline_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMECOController4G_online_countNote that virtual gateways are not included in this number for GatewayListener.
gateway_SikomGSMECOController4G_online_new_countNew gateways coming online. See also gateway_SikomGSMECOController4G_online_count (total number)
gateway_SikomGSMECOStarter_offline_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMECOStarter_online_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMECOStarter_online_new_countNew gateways coming online. See also gateway_SikomGSMECOStarter_online_count (total number)
gateway_SikomGSMFixi4G_offline_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMFixi4G_online_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMFixi4G_online_new_countNew gateways coming online. See also gateway_SikomGSMFixi4G_online_count (total number)
gateway_SikomGSMFixiPlus_offline_countNote that virtual gateways are not included in this number for GatewayListener
Note that <see cref="HardwareAbstraction.GSMFixiPlus4G"/> is included in this number.
gateway_SikomGSMFixiPlus_online_countNote that virtual gateways are not included in this number for GatewayListener
Note that <see cref="HardwareAbstraction.GSMFixiPlus4G"/> is included in this number.
gateway_SikomGSMFixiPlus_online_new_countNew gateways coming online. See also gateway_SikomGSMFixiPlus_online_count (total number)
gateway_SikomGSMMiniPlus_offline_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMMiniPlus_online_countNote that virtual gateways are not included in this number for GatewayListener
gateway_SikomGSMMiniPlus_online_new_countNew gateways coming online. See also gateway_SikomGSMMiniPlus_online_count (total number)
gc_total_memory_MBMeasured in MB. Source: GC.GetTotalMemory() (GC = Garbage Collector)
general_notification_modeDenotes mode for alarms other than burglar alarm. See also master_notification_mode. ONLY USED FOR ECO-Starter as of late June 2015
gprs_abndActive Band. 1 = GSM850, 2 = GSM900, 3 = DCS1800, 4 = PCS1900
gprs_active_external_sim_cardFor Sikom GSM Mini Plus this is just gprs_active
gprs_apnAccess Point Name.
gprs_arfcnAssigned radio channel
gprs_bsicBase station identification code
gprs_cidCell identifier.
gprs_gateway_listener_addressAddress of BPAPI Listener to connect to. Usually api.connome.com. Use api-test.connome.com for testing. For ECO-Starter use raw-command &1 for reconnecting GPRS after changing this property (not needed for ECO-Comfort)
See also <see cref="gprs_gateway_listener_connection_reset"/>
gprs_gateway_listener_endpointEndpoint of BPAPI Listener to connect to.
gprs_gateway_listener_portPort number of BPAPI Listener to connect to.
See also <see cref="gprs_gateway_listener_connection_reset"/>
gprs_lacLocalization area code
gprs_mmMobility Management state
gprs_net_name_ascOperator name
gprs_nomNetwork Operator Mode
gprs_plmnGPRS country code and operator code (MCC + MNC) (Mobile Country Code + Mobile Network Code).
Examples of MCC values: 242 = Norway, 240 = Sweden, 238 = Denmark, 244 = Finland
See also enum <see cref="BPAPIData.MCC_ISO_3166_1"/>
gprs_racRouting area code
gprs_rrRadio Resource state
gprs_rssiReceived signal strength indication in dBm. Greater than -74 Excellent, -74 to -83 Very Good, -84 to -93 OK, -94 to -103 Marginal, -104 to -110 Very Poor, Less than -110 Very poor / no signal.
See also DeviceProperty.signal_quality
gprs_sdService domain
gprs_txpwrTransmitting power
guarantee_v1Standard garantivilkår.
hao_modeOne of "Home", "Away", "Out". Temporary idea connected with <see cref="Vendor_Inbuilt.HAO"/> / <see cref="DeviceType.HAO"/> / <see cref="DeviceModel.HAO"/> / <see cref="NodeId.HAO"/>
See also <see cref="DeviceProperty_hao_mode"/>.

For HAO-panel (ProductCode.HAO / ProductCode.CTMHAO) stored directly in databasen.<br>
For mTouchOne set by GatewayListener based on switch_mode and switch_thermostat_active.<br>
For Sikom thermostats set by Device.Initialize based on switch_mode and switch_master_mode.<br>
has_temperature_sensor_registeredIndicates that the device has a SLE AAA Temp Sensor registered.
heatpump_modeFor Thermia Radio Node: 0=Auto, 1=Heat, 2=Cool, 3=Dry, 4=Fan only, 5=Internal cleaning
heatpump_notification_delay_minutesNot in use as of June 2015. Hardcoded in BPAPI Listener to 30 minutes.
Delay for sending of notification. If corresponding value for notification_triggered is reset within this time period then no notification will be sent
heatpump_notification_triggeredFor Thermia Radio Node: Will be set whenever communication_error_state or error_state is not '0' (after 28.05.2015 error_code not '0' no longer cause this to be set)
horizontal_air_flowFor Thermia Radio Node: 1=Area1, 2=Area2, 3=Area3, 4=Area8, 0=Swing, 5=Fixed
humidity_maxWhen the humidity becomes greater than this limit then humidity_slave will be turned on. Do not confuse with humidity_notification_max
humidity_notification_maxMaximum allowed humidity (humidity at or above this value will result in humidity_notification_triggered). Do not confuse with humidity_max
humidity_notification_minMinimum allowed humidity (humidity at or below this value will result in humidity_notification_triggered)
humidity_notification_min_adjustableA typical user interface (like MinHytte app) will not allow setting of humidity_notification_min unless this property is set to "1" (Adjustable).
humidity_notification_modeSee also humidity_notification_min and humidity_notification_max
humidity_notification_triggeredWill be set when humidity at or below humidity_notification_min or at or above humidity_notification_max
humidity_slavenodeId of device to be controlled according to humidity_max (usually setting switch_mode to 1 when humidity exceeds humidity_max).
See also temperature_slave.
importanceFor Products and Docs. Use -1 for less important, +1 for more important (or use whatever scale you prefer). Note that gateways will always be more important than other types of equipment.
important_informationPossible code values as of Mar 2019 are:
1: "FirmwareUpgradeRequiredInOrderToSupportThisDevice" =>
The firmware version of your gateway is out-of-date in relation to this device. The system will attempt to automatically upgrade your gateway. If this message does not go away then please contact support.
(Detailed information: Generated by GatewayListener.AutoConfigureFirmware-mechanism, either because 1) Impossible to upgrade, 2) Upgrade in progress or 3) Upgrade failed.)
included_product_1DeviceModel.Product.
product included in this product ("pakkeløsning"). Multiple included_product_xx may be specified.
increased_update_frequency_to_dateDate of until when to increase the device's update frequency.
Index_application_startValue 1 counts number of times application (like BPAPI) has been started. Value 0 used to create history of restarts.
input_1_typeType of equipment connected to input 1. For Sikom the value corresponds to <see cref="HardwareAbstraction.SikomRadio.RAlarmType"/>
For GSM Alarm Controller III this will reflect type of equipment connected to input 1, 2, 3 or 4 (node-id 101 - 104)
Bemerk at "1" i input_1_type refererer til ECO-Node som kan ha to input-innganger.
input_2_typeType of equipment connected to input 2. For Sikom the value corresponds to <see cref="HardwareAbstraction.SikomRadio.RAlarmType"/>
Bemerk at "2" i input_2_type refererer til ECO-Node som kan ha to input-innganger.
input_state_notification_modeNOTE: For GSMFixi, this maps to both device 6 and 255.
input_state_notification_triggeredSee also <see cref="ralarmtype_as_given_in_warning_message"/>
input_status_1Equipment specific status-information.
installation_type_new_buildUse this to indicate whether product is suitable for installation in new buildings (new constructions).
installation_type_rehabUse this to indicate whether product is suitable when rehabilitating buildings.
internal_logDeviceModel.Doc and DeviceModel.Product.
Only shown for DocumentationAudience.Internal and below.
Useful for general (manual) logging, especially for Docs and Products which are publicly available so we cannot use the
short_description and long_description-properties for this purpose.
InvalidSubscription_NotTrial_3monthsNumber of non-Trial Subscriptions (previously paying customers) that have expired in the last 3 months(90 days)
InvalidSubscription_Trial_3monthsNumber of Trial Subscriptions that have expired in the last 3 months(90 days)
is_software_groupIndicates that a device is a software group. Needed because software groups share many properties with hardware groups.
A software group (unlike groups stored in the firmware of the gateway) does not have a limitation of 8 devices.
There is also no limitation to number of software groups added to a gateway.
When controlling a software group, the API sends commands to each individual member (device) of the group instead of sending a command directly to a group.
Also note that software groups do not have/need a NodeID.
IsAtHighLoadThis is a formulae based conclusion of queue-situation and response times withing BPAPIListener.
Experimental as of Nov 2016. See GatewayListener.HandleMessage for formulae
last_comLast com from detector.

Hex Ascii Description
0x00 Nothing registered. (Normally sent on day push)
0x4E ‘N’ Normal mode
0x46 ‘F’ Fire mode
0x54 ‘T’ Test mode active
0x52 ‘R’ Reset detector. Exit from testmode.
0x58 ‘X’ Restart detector. Long press on button registered on detector.
0x45 ‘E’ Error in detector chamber.
0x42 ‘B’ Battery low warning. Only for 3.6V battery.
0x43 ‘C’ Clear Error and Battery warning done in detector.
last_updatedIndicates if the timestamp this device was last updated/modified
latitudeAs of Mar 2019 only used for <see cref="ProductCode.ECOAstroSwitch"/>.
Note how BPAPI Listener will always set this to position of gateway, any attempt to use other values will be rectified.
light_level_maxFor mTouch dimmer: Maximum hardware percentage light level that dimmer can use.
light_level_minFor mTouch dimmer: Minimum hardware percentage light level that dimmer can use.
light_value_mode0 = single value (one preset value, <see cref="prestored_single_value"/>),
1 = multi value (four preset values from <see cref="prestored_multi_value_1"/> to <see cref="prestored_multi_value_4"/>)

For CTM mTouch Dimmer: Represents display mode of dimmer(displaymodus) and is a value of 0-3.
link_device_propertyDeviceModel.Doc.
deviceProperty that this Document describes.
link_doc_1DOC that this Document gives additional information about (FAQ). Multiple link_doc_xx may be specified. Use with care, link_device_property is preferred.
link_product_1DeviceModel.Doc.
Product that this Document gives additional information about (FAQ). Multiple link_product_xx may be specified. Use with care, link_device_property is preferred.
longitudeAs of Mar 2019 only used for <see cref="ProductCode.ECOAstroSwitch"/>.
Note how BPAPI Listener will always set this to position of gateway, any attempt to use other values will be rectified.
marketing_urlKun for produkter fra andre produsenter enn Sikom. Lenker til produsentens nettside.
master_notification_modeMain setting of notification (alarm). Usually denotes burglar alarm on / off. Sikom GSM ECO-Comfort/ECO-Controller/MiniPlus has special value of 2 meaning all alarms off. ECO-Starter uses general_notification_mode in addition to master_notification_mode
master_notification_mode_seconds_delayDelay after corresponding xx_notification_mode is set to 1 (On) before alarm is activated (time to get out of room).
master_notification_seconds_delayDelay after alarm is triggered before message will be sent (should be renamed master_notification_triggered_seconds_delay)
mcomfy_sensor_positionFor <see cref="Vendor_Sikom.CTMSwitch"/>:
member_1nodeId of device-member in position 1
Note: Member 1 - 8 is used for groups in a gateway!
Note: Member 1 - 64 is used for Scenarios <see cref="DeviceModel.LightPlug"/>
member_2nodeId of device-member in position 2
member_3nodeId of device-member in position 3
member_4nodeId of device-member in position 4
member_5nodeId of device-member in position 5
member_6nodeId of device-member in position 6
member_7nodeId of device-member in position 7
member_8nodeId of device-member in position 8
messageAlarmQueue_CountNote that aggregates like MIN and MAX stored by the aggregation mechanism will not necessarily be true representatives as
this value is just sampled at regular intervals (spikes with duration of sub-seconds for instance will only randomly show up as MAX-aggregate)
messageAlarmQueue_ResponseTime_msResponse time for handling of message (stored by GatewayListener.MessageQueuePicker)
Note that aggregates like MIN and MAX stored by the aggregation mechanism will not necessarily be true representatives as
this value is just sampled at regular intervals (not every messages is run through the aggregation mechanism)
messageEECQueue_CountNote that aggregates like MIN and MAX stored by the aggregation mechanism will not necessarily be true representatives as
this value is just sampled at regular intervals (spikes with duration of sub-seconds for instance will only randomly show up as MAX-aggregate)
messageEECQueue_ResponseTime_msResponse time for handling of message (stored by GatewayListener.MessageQueuePicker)
Note that aggregates like MIN and MAX stored by the aggregation mechanism will not necessarily be true representatives as
this value is just sampled at regular intervals (not every messages is run through the aggregation mechanism)
messageOrdinaryQueue_CountNote that aggregates like MIN and MAX stored by the aggregation mechanism will not necessarily be true representatives as
this value is just sampled at regular intervals (spikes with duration of sub-seconds for instance will only randomly show up as MAX-aggregate)
messageOrdinaryQueue_ResponseTime_msResponse time for handling of message (stored by GatewayListener.MessageQueuePicker)
Note that aggregates like MIN and MAX stored by the aggregation mechanism will not necessarily be true representatives as
this value is just sampled at regular intervals (not every messages is run through the aggregation mechanism)
messagePingQueue_CountNote that aggregates like MIN and MAX stored by the aggregation mechanism will not necessarily be true representatives as
this value is just sampled at regular intervals (spikes with duration of sub-seconds for instance will only randomly show up as MAX-aggregate)
messagePingQueue_ResponseTime_msResponse time for handling of message (stored by GatewayListener.MessageQueuePicker)
Note that aggregates like MIN and MAX stored by the aggregation mechanism will not necessarily be true representatives as
this value is just sampled at regular intervals (not every messages is run through the aggregation mechanism)
not_visible_at_gatewayUse this to remove devices from Sikom gateways
notification_textText used when sending notifications. Usually hardware specific. Not used by BPAPI when sending notifications.
page_orientationDefault is "Block" (CSS docBlock). Other values: "LongThin" (CSS docLongThin with display: block)
percent_level0 - 100%. Typical for dimmers (light level) or Thermostat in regulator-mode (power level).
NOTE: For <see cref="ProductCode.CTMmTouchOne"/> this property is artificially created by <see cref="Device.Initialize"/>
phase_sectionFor mTouch dimmer: Whether phase section dimming is enabled or not(faseavsnitt).
ping_interval_in_minutesStandard value is 15 minutes. Used to keep alive TCP/IP sessions for NAT'ed gateways so BPAPIListener kan send commands to gateway.
Use a lesser value if you want gateway to reconnect sooner when BPAPIListener is reset (but beware of increased data-traffic cost). Do not use 1, as this will regularly be manually changed to 15.
(Note that after introduction of the new TCPIPListener-concept summer 2015 the Listener-part keeping the connections will be restarted very infrequent, reducing
the need for such reduction of ping_interval_in_minutes)
ping_notification_delay_minutesNot in use as of June 2015. Hardcoded in BPAPI Listener to 30 minutes.
Delay for sending of notification. If corresponding value for notification_triggered is reset within this time period then no notification will be sent
ping_notification_modeNot in use as of June 2015
Usually stored at server-level. Note that for devices such as Thermia Radio Node ping_notification_mode is hardcoded ON at the gateway-level, that is, the gateway will send ping_notification_triggered to the server regardless of this setting.
Note that as of June 2015 this is hardcoded ON in BPAPI Listener, in other words, the actual value for this setting will be ignored.
Example of server-level use is Humidity-sensors for Thermia Customers.
plasmacluster_modeFor Thermia Radio Node
plug_and_socket_typeDeviceModel.Product.
See http://www.worldstandards.eu/electricity/plugs-and-sockets/ for information about plug and socket types.
Type F is assumed if not given. Type J is used for instance for Products going to Switzerland like GSMMiniPlusTypeJ (plug_and_socket_type will often be reflected in the user_defined_name)
powerUsually what KIND of power supplied to the device, like "220V mains" or "Battery". See power_voltage for measurement of actual voltage level.
power_battery_voltage_2For Sikom GSM Fixi Plus this is 10 bits reading.
For WirelessDetector WFIRE this is Loaded VOLT on battery
power_battery_voltage_3For WirelessDetector WFIRE this is Lowest registered VOLT on battery (Reset every 30 days)
power_by_low_voltageDo not confuse with power_by_low_voltage_mode (which is used in a control context)
power_by_low_voltage_modeFor GSM AlarmController III. 0=12V supply disabled. 1=12V supply activated.
Do not confuse with power_by_low_voltage (which is used in a product-presentation context)
power_by_mainsIf this is lower than 5V, there is a strong indication that the GEC3 is not supplied
with 230V power and is running on the built-in battery.
power_notification_minutes_delayWaiting time in minutes before power_notification_triggered is sent
power_notification_seconds_delayWaiting time in seconds before power_notification_triggered is sent
power_on_causeBit 7 – Reserved
This bit is unused and reserved for future use. For compatibility with future devices, always write this bit to zero
when this register is written. This bit will always return zero when read.

Bit 6 – SYST: System Reset Request
This bit is set if a system reset request has been performed. Refer to the Cortex processor documentation for more details.

Bit 5 – WDT: Watchdog Reset
This flag is set if a Watchdog Timer reset occurs.

Bit 4 – EXT: External Reset
This flag is set if an external reset occurs.

Bit 3 – Reserved
This bit is unused and reserved for future use. For compatibility with future devices, always write this bit to zero
when this register is written. This bit will always return zero when read.

Bit 2 – BOD33: Brown Out 33 Detector Reset
This flag is set if a BOD33 reset occurs.

Bit 1 – BOD12: Brown Out 12 Detector Reset
This flag is set if a BOD12 reset occurs.

Bit 0 – POR: Power On Reset
This flag is set if a POR occurs.
power_voltageActual measured voltage level. See "power" for what KIND of power supplied to the device.
prestored_multi_value_1Relevant for <see cref="light_value_mode"/> 1
prestored_multi_value_2Relevant for <see cref="light_value_mode"/> 1
prestored_multi_value_3Relevant for <see cref="light_value_mode"/> 1
prestored_multi_value_4Relevant for <see cref="light_value_mode"/> 1
prestored_single_valueRelevant for <see cref="light_value_mode"/> 0
price_consumer_nokDeviceModel.Product.
Price including VAT (MVA)
price_dealer_nokDeviceModel.Product.
Price excluding VAT (MVA)
price_increase_mail_sent_logInfo about last time that DatabaseListener.SubscriptionRenewer sent mails about price increase.
private_memory_size_MBMeasured in MB. Source: Process.GetCurrentProcess().PrivateMemorySize64.
prlsa_unconfirmedprlsa = PowerRegulatorListenerSilentAdjustment.

If this exists, it holds a comma separated list of *._prlsa properties for which the values sent to the
physical device is not confirmed. Shall only be written from empty to something by PowerRegulator when
sending commands to units, and shall only be cleared (one element in the list at a time) by BaseListener as
the properties are confirmed set.
product_codeEquivalent to user_defined_name of products
Calculated by <see cref="Device.TryGetProductCode(DeviceModel, string, string)"/>
Using <see cref="device_model"/>, <see cref="model_name"/> and <see cref="model_number"/>
product_producerDeviceModel.Product.
Bruk "Miscellaneous" (diverse) hvis du legger til ulikt tilleggsutstyr som er kompatibelt med Sikom
(vi trenger ikke eksakt produsent i slike tilfeller). Husk å markere med "compatible_with" Sikom etterpå.
program_memberWhich device (or group) is a member of this program
program_schedule_fridayIf Length is 24 then can be assumed to represent on / off per 24 hours (digit 0 or 1 for every hour)
program_schedule_mondayIf Length is 24 then can be assumed to represent on / off per 24 hours (digit 0 or 1 for every hour)
program_schedule_saturdayIf Length is 24 then can be assumed to represent on / off per 24 hours (digit 0 or 1 for every hour)
program_schedule_sundayIf Length is 24 then can be assumed to represent on / off per 24 hours (digit 0 or 1 for every hour)
program_schedule_thursdayIf Length is 24 then can be assumed to represent on / off per 24 hours (digit 0 or 1 for every hour)
program_schedule_tuesdayIf Length is 24 then can be assumed to represent on / off per 24 hours (digit 0 or 1 for every hour)
program_schedule_wednesdayIf Length is 24 then can be assumed to represent on / off per 24 hours (digit 0 or 1 for every hour)
protocol_alarm_input_1DeviceModel.Product.
Product supports screw terminal alarm-input with 12V supply. GSM Alarm Controller III against wired PIR / Smoke detektor. Electrical identical with protocol_node_accessory_1
protocol_cloudIndicates that the device communicates via the cloud, e.g. REST API.
protocol_connx_1DeviceModel.Product.
Sikom Protocol Comfort (old Sikom radio-protocol), like AComfort / HyttaMi Comfort. Replaced around 2014 by connx_2.
protocol_connx_2DeviceModel.Product.
Sikom Protocol Eco (new Sikom radio-protocol, like <see cref="GatewayType.GSMECOComfort"/>
protocol_connx_3Sikom Protocol eco_light (for ECOLightPlug og ECOLightPlugMaster). As of Jun 2019 never used for in-sale products.
protocol_ctm_classicProtocol for CTM devices (like it existed as of 2018 / 2019)
protocol_ethernetDeviceModel.Product.
Protocol for LAN Gateways
protocol_gprsAlle Sikom produkter med protocol_gprs regnes som MinHytte-kompatible
protocol_node_accessory_1DeviceModel.Product.
Product is a Node or NodeAccessory supporting Sikom Nodetilbehørsgrensesnitt (NodeAccessory plugged into Node with RJ45-plug). Electrical identical with protocol_alarm_input_1
protocol_relay_outputEnheten kontrollerer eller lar seg kontrollere via reléutgang. Used to link products like Comforttemp750 og MicroTemp MTC2 to GSMFixiSMS.
(helst ikke sett protocol_relay_output for GSMAlarmControllerIII (her selger vi heller egen termostat) og i hvertfall ikke for GSM12APlus (her passer overhodet ikke Comforttemp750 og MicroTemp MTC2)).
protocol_SiSPSikom Serial Protocol. As of Jun 2019 used between app and Bluetooth devices.
protocol_slave_relay_1DeviceModel.Product.
Sikom produkter med Slave-relé funksjon, altså slik som GS33 som kan styres av GSMFixiSMS eller GSMAlarmControllerIII pr september 2014
protocol_software_updateDeviceModel.Product.
Product is software-updateable over the Internet
protocol_temperature_input_1DeviceModel.Product.
Product supports screw terminal temperature-input "Temperaturføler via rekkeklemmer" (Sensor og Gateway / Node).
push_on_changeRelevant for AMS and Astroswitch (and from May 2019 ECOActator)
TODO: Are we going to use this?
Assumed meaning: If 0 then a status will be pushed for every <see cref="push_update_interval_minutes"/> minute.
Should normally be set to 1 if push_update_interval_minutes is used.
push_update_interval_minutes0 = not activated. Normally set to 30. Interval for which device will independently push updates to Gateway / server (usually only when properties like temperature, temperatur_outside or humidity have changed).
See also <see cref="DeviceProperty.push_update_is_supported"/> (not all combinations of Gateways / Devices support push-update)
For <see cref="DeviceModel.LightPlug"/> and <see cref="DeviceModel.Dimmer"/> a value > 0 means a push update will be triggered on change.
(actually only the values 0 and 1 is accepted by virtual hardware abstraction for these two devices)

// TODO: IMPORTANT!! (Jan 2018) There is possibly missing abstraction code for a concept called "push change" that affects among others
// TODO: IMPORTANT!! ECODimmer, LightPlug and AWSMeter. Instead of storing that separately, it is mixed up with push_update_interval_minutes
push_update_is_supportedNote that is used both by product-presentation (DeviceModel.Product) and BPAPI internal code.
Important for DeviceModel.ECONode and SI-3 to show as 0.
1 means that this device support push-updates. This is typically used as an indication by the app to show temperature / humidity graphs.
Typically supported by GSMGSMFixiPlus for node 1, 2 and ECOComfort for DeviceModel.ThermiaRadioNode, DeviceModel.MoistureSensorTemperatureDetector, DeviceModel.WirelessTemperatureDetector and DeviceModel.ECODimmer.
See also DeviceProperty.push_update_interval_minutes
push_update_last_statusBenyttes internt av virtualisering, skal ikke være synlig i BPAPI HTML grensesnitt.
Lagres normalt som temperature_temperature_outside_humidity.
push_update_triggeredBenyttes internt av virtualisering, skal ikke være synlig i BPAPI HTML grensesnitt.
push_update_triggered_lastBenyttes internt av virtualisering, skal ikke være synlig i BPAPI HTML grensesnitt.
Når gjorde siste push_update.
ralarmtype_as_given_in_warning_messageTells which <see cref="HardwareAbstraction.SikomRadio.RAlarmType"/> is responsible.
reactivation_delay_hoursNOTE: Ignored for Sikom Living app (only relevant for old apps, MinHytte / Thermia) as of Jan 2018.
NOTE: (From 17 aug used also in combination with *_user_setting, that is Sikom Living app, but not offered in the app itself.
NOTE: That is, GatewayListener.CheckAllGateways will now instead of p.LastValid.AddHours(24) do AddHours(reactivation_delay_hours, default 24)
NOTE: Check values with
NOTE: SELECT * FROM properties WHERE name = 'reactivation_delay_hours' AND current = TRUE ORDER BY property_id DESC
NOTE: All with 24 are probably MinHytte customers, other values are probably manually set for Sikom Living customers.

If set to zero ("0") then corresponding notification_mode will NOT be reset (even if reactivation_notification_mode is "On")
(Before 13 Dec 2017 it would be reset immediately after a notification_triggered (assumed that reactivation_notification_mode is "On")).

Note that BPAPIListener will in any case have a 10-minute filter preventing identical notifications being sent successively to the users (notification_recipients).
Defaults to "24" if not exists. Defaults to "24" for all new ECO-Comfort gateways created. Ignored if reactivation_notification_mode is "Off". See reactivation_notification_mode.

THIS WAS NOT IMPLEMENTED AFTER ALL (DELETE COMMENT):
Note that GatewayListener.HandleMessageOrdinary will, for <see cref="AppSkin.SikomLiving"/> customers, use 0 hours if the default value of 24 is encountered.
reactivation_notification_modeNOTE: Ignored for Sikom Living app (only relevant for old apps, MinHytte / Thermia) as of Jan 2018.

If this setting is "On" then for every notification_triggered (like temperature_notification_triggered)
the corresponding notification_mode will be reset to "On" after the time-delay given by
reactivation_delay_hours (unless notification_mode has been manually set to "On" and then "Off" in the meantime).
Defaults to "On" for all new ECO-Comfort gateways created, and with reactivation_delay_hours defaulting to "24".
registered_stateFor Sikom ECO-Comfort: 0 if position is clear. Registered otherwise.
registration_mode1 means gateway is currently looking for new devices (called "innmeldingsmodus" in Norwegian)
regulator_modeFor mTouch termostat: 0 = Termostat. 1 = Regulator (for Regulator vil percent_level indikerer hvor mye den er av / på innenfor en syklus)
replaced_by_productDeviceModel.Product.
Existence of this property means that the product is no longer being produced nor offered for sale but we still want to provide support and documentation.
The value of this property refers to which newer product that replaces this product.
See also to_be_replaced_by_product which marks products that are no longer being produced.
Possible translation for web is "Utgått produkt".
response_time_port_14147_msNormal range is 1000-2000 ms. Note that Listener vil usually cap this value at 50000 ms
response_time_port_4146_msNormal range is 1000-2000 ms. Note that Listener vil usually cap this value at 50000 ms
restrict_to_documentation_audienceDeviceModel.Doc and DeviceModel.Product.
Document or Product is restricted for a given DocumentationAudience and below (graded as Consumer, Dealer, Internal, InternalAll)
For instance if Internal is given then will be restricted to Internal and Internall.
Note that usually Products are automatic restricted to Internal through DeviceProperty.under_development but products for sale
but not for public sale, like GSMControlUnitBosch, WirelessHumiditySensorBosch and WirelessHumiditySensorThermia, are marked with
DeviceProperty.restrict_to_documentation_audience Internal
rs485_notification_message</summary>
switch_pulse_mode,
<summary>
The App use this value to set switch_pulse when the Pulse button is pressed.
range [1,9]
Always part of AppView for Eco Actuator and Eco Actuator Potfree
rs485_notification_modeIntrodusert feb 2020 for ICAS integrasjon (ECO Controller 4G, med software 2.6 eller nyere)
0 = Kommando "w00" = Sikom modus. altså den originale default måten å benytte RS485 porten på.
1 = Kommando "w01" = ICAS/generell alarm modus. Kortslutning av A og B linjene fører til "Alarm: RS485 TRIGGED!".
Denne sendes en gang. Når kortslutning opphører, sendes "Alarm: RS485 RESET!"
Dette gjentas for hver kortslutning og åpning.
NOTE: Will always be considered ON (w01) by BPAPIListener.BaseListener.HandlePropertyEventSendCustomerNotification
rssiCTM Lyng utstyr: Styrken på signalet som tilleggsutstyret mottar fra sentralenheten (lavere tall = bedre signalstyrke).
Se også rssi_2 som er styrken på signalet som sentralenheten mottar fra tilleggsutstyret.
Bemerk at ved push fra tilleggsutstyr vil ikke denne verdien være relevant (fordi intet signal mottatt, push ble autonomt bestemt)
rssi_2CTM Lyng utstyr: Styrken på signalet som sentralenheten mottar fra tilleggsutstyret (lavere tall = bedre signalstyrke).
Se også rssi som er styrken på signalet som tilleggsutstyret mottar fra sentralenheten.
safety_mode_is_activeIndicates that the device has entered safety mode.
The device has lost contact with the SLE AAA Temp Sensor.
safety_productTilstedeprodukt / sikkerhetsprodukt (if value 1)
sensor_failureNOTE: This does not end with 'triggered'. Change to sensor_failure_triggered if you want alarm for this sent to customer.
short_circuit_triggeredAssumed to be definition of 'Kortsluttning' from CTM documentation.

NOTE: <see cref="DeviceProperty.overload_triggered"/> / <see cref="DeviceProperty.short_circuit_triggered"/> is NOT
NOTE: reported to customer through BaseListener.HandlePropertyEventSendCustomerNotification as of Apr 2019
signal_qualityFor GSM this is the value given by AT+CSQ, 2-9 Marginal, 10-14 OK, 15-19 Good, 20-30 Excellent.
See http://m2msupport.net/m2msupport/atcsq-signal-quality/ for information about link between signal_quality (AT+CSQ) og gprs_rssi
sikom_eflagFor Sikom GSM Mini Plus this is 'Internal Flag eeprom'
sikom_rflagFor Sikom GSM Mini Plus this is 'Internal Flag'
sms_notification_number_1SMS number used when sending notifications. Usually hardware specific. Not used by BPAPI when sending notifications.
sms_notification_number_1_garbageRelevant for GSMFixiPlus. Reports what garbage was reported within I1-response due to bug in GSM-module. See code in BPAPI Listener for detailed explanation.
sms_notification_number_1_mode0 or 1 for ECO-Comfort. Bitwise Burglar, Fire, Temperature, Power, Other for ECO-Starter (11111 = all on)
See also <see cref="sms_notification_number_1"/>
sms_notification_number_2SMS number used when sending notifications. Usually hardware specific. Not used by BPAPI when sending notifications.
sms_notification_number_2_mode0 or 1 for ECO-Comfort. Bitwise Burglar, Fire, Temperature, Power, Other for ECO-Starter (11111 = all on)
See also <see cref="sms_notification_number_2"/>
startup_light_level_minFor mTouch dimmer: Minimum light level at device startup.
status_request_not_answeredWill be set if a status-request (Sxx-command) done more than 20 seconds ago was not answered <see cref="Device.Initialize"/> (that is, if it did not result
in setting of any property like switch_mode / temperature and similar)
(see Device.Initialize for the code-logic of this mechanism)
sub_addressFor Sikom ECO-Comfort: Address within equipment if more than 1 output (0-255)
Typically relevant for EGR-3 and similar (value 0, 1 or 2).
Subscription_avg_Income_per_SubscriberTotal subscription rate for active subscriptions in NOK (* 12 for Monthly) divided by number of valid subscriptions for a given day.
"bruker PaymentAmountNOKExVAT på payment objekt som tilsvarer datidens pris."
A price increase will be reflected as the customer start making payments with the new price.
SubscriptionRegisterPaymentCallback_paymentValue 1 counts number of times subscription payment has been registered (new subscription subscribed to)
SupportIncident_OnlineGateway_monthNumber of SupportIncidents during the past 30 days per 100 Gateways currently online.
SupportIncident_OnlineGateway_yearNumber of SupportIncidents during the past 365 days, per 100 Gateways currently online.
SupportIncident_RecentlyOnlineGateway_3monthsNumber of SupportIncidents in the past 90 days regarding customer with a gateway that has come online within 30 days of the SupportIncident
per 100 Gateways that have come online less than 120 days ago.
SupportIncident_RecentlyOnlineGateway_monthNumber of SupportIncidents in the past 30 days regarding customer with a gateway that has come online within 30 days of the SupportIncident
per 100 Gateways that have come online less than 60 days ago.
switch_master_modeFor <see cref="DeviceModel.BEHAECOReceiver"/>. Value 0 means heater is turned completely off. (compared to anti-freeze and eco-mode) (the normal condition is assumed to be value 1).<br>
Also parsed for all <see cref="DeviceModel.WirelessThermostat"/> (called Standby mode)
but only supported by SI-4 and later models and Glamox plug (model_name Glamox).<br>
<br>
Note that this is the opposite of actual bit reported by device.
Not to be confused with switch_power_state. See switch_readable_mode for more explanation.
switch_master_mode_follows_switch_modeIf set then <see cref="switch_master_mode"/> will be set by TrySendToGatewayOrStoreInDatabase at the same time as switch_mode
See <see cref="switch_reduction_mode"/> for more information.

NOTE: 9 Oct 2017. Candidate for reuse with <see cref="Vendor_Sikom.WirelessThermostat"/> / <see cref="DeviceModel.WirelessThermostat"/>
(implemented 12 Feb 2020 for SI-4 and Glamox)

NOTE: From 27 Feb 2020 also introduced concept of HAOMode for Sikom thermostats which support thermostat_master_mode possible negating
need for switch_reduction_mode / switch_master_mode_follows_switch_mode
switch_minutes_leftOnly relevant when switch_timer_active = 1 (relevant for SikomGSMFixiPlus)
switch_modeCommanded mode. May differ from switch_state (actual relay-state) for instance when under thermostat control.
Now how (for thermostats) a value of 0 does not have a single meaning (it may mean either "eco", "anti_freeze" and "off").
A value of 1 on the other hand is usually precise (Meaning "on" if dumb switch and "comfort" if thermostat).

Note that for products like <see cref="ProductCode.CTMmTouchOne"/> this value should be ignored (considered irrelevant) when
<see cref="DeviceProperty.switch_thermostat_active"/> is 0. Same issues with <see cref="ProductCode.CTMmTouchDim"/> and percent level == 99.

See also <see cref="DeviceProperty.switch_reduction_mode"/> which explains what is the precise meaning of 0 and 1.
switch_mode_logLog for who sat the state of switch_mode last. If switch_mode is controlled from the api, source is set to the customer triggering it. The value contains the state which switch_mode have been tried to be changed to.
Doesn't say anything about whether the command has failed or not
switch_mode_prlsaprlsa = PowerRegulatorListenerSilentAdjustment.
If != 0, the <see cref="DeviceProperty.switch_mode"/> property shall be "masked" when sent to the device so
that the power consumption is reduced. Note that <see cref="DeviceProperty.switch_mode"/> property can be in
either the power consuming mode or the non-power-consuming mode. Whether 0 or 1 is power consuming depends
on <see cref="DeviceProperty.regulation_type"/>, <see cref="Device.IsInPowerConsumingMode"/>.

This is how it works:
If <see cref="DeviceProperty.switch_mode"/> is in power consuming mode and <see
cref="DeviceProperty.switch_mode_prlsa"/> != 0, the device shall be set to non-power-consuming mode, else
the device shall follow <see cref="DeviceProperty.switch_mode"/>.
switch_power_stateFor BEHAECOReceiver. Value 0 means Panel Heater is turned off by switch on the heater itself and not possible to turn on by any remote control (the normal condition is value 1).
Not to be confused with switch_master_mode. See switch_readable_mode for more explanation.
switch_pulseLaget for Sikom ECO-Comfort Sikom ECO-Starter, b1-b5 med parameter 0-60 sekunder.
Gjelder også GSM Alarm Controller III (r-kommando).
Fra 29 jul 2019 støttes også for GSMECO (czz29*), for <see cref="ProductCode.ECOActuator10A"/> / <see cref="ProductCode.ECOActuatorPotFree"/>
switch_readable_modeFor ECONode, SI3, GMSFixiSMS (zone 1 & 2) and similar with thermostat-control: Will switch between "on" / "off" or "comfort" / "eco" dependent on switch_thermostat_active.
For BEHAECOReceiver: Explains the actual state of the panel heater. "power_off" (switch_power_state = 0, not possible to turn on remotely), "master_off" (switch_master_mode = 0, through czz1x-command), "anti_freeze" (off), "eco" (night), "comfort" (normal). Will never show as "on".
For ECOThermostatPlug: Will show as "anti_freeze", "comfort", "on".
Not stored in database but inserted dynamically by <see cref="Device.Initialize"/>-
switch_reduction_modeFor <see cref="ProductCode.ECOBEHAPlug"/>:
(and from 24 Jan 2020, also for <see cref="ProductCode.ECOGlamoxPlug"/>) Bemerk at for denne kan det sendes Jzz0 / Jzz1 men den har egentlig ingen effekt (neste RSzz vil vise at ble ikke endret)
(and from 25 Jan 2020, also for <see cref="ProductCode.ECOThermostatSI416A"/>) Bemerk at for denne kan det sendes Jzz0 / Jzz1 men den har egentlig ingen effekt (neste RSzz vil vise at ble ikke endret)
Explains the type of reduction mode attained when setting switch_mode to OFF. Either "off", "anti_freeze" (only BEHA) or "eco". Dependent on switch_master_mode and switch_thermostat_active.
Not stored in database but inserted dynamically by <see cref="Device.Initialize"/> and treated specifically by TrySendToGatewayOrStoreInDatabase.

NOTE: From 27 Feb 2020 also introduced concept of HAOMode for Sikom thermostats which support thermostat_master_mode possible negating
need for switch_reduction_mode / switch_master_mode_follows_switch_mode

For <see cref="ProductCode.ECODimplexReceiver"/>
Explains the type of reduction mode attained when setting switch_mode to OFF. Either "off" or "eco".
Stored in database (through ordinary HardwareAbstraction-mechanism) and treated specifically by TrySendToGatewayOrStoreInDatabase.
switch_stateActual relay state of switch (on / off)
switch_thermostat_activeEco / comfort active or not.
If 0 then switch_mode 0 will usually mean "off" or "anti_freeze" and 1 will not have any meaning.
If 1 then switch_mode 0 will mean "eco" and 1 will mean "comfort".
Not relevant to set for some kind of thermostats (for instance SI-3, SI-4 or CTM mTouch One).
Not desired to set for other thermostats (because of danger of freezing water for instance).
switch_timer_active1 means timer activated (relevant for SikomGSMFixiPlus)
tcp_ip_messageWill always show as "1" as DeviceProperty but aggregations are available, counting number of TCP/IP messages received. See also tcp_ip_message_not_ping.
Note that from 24 Nov 2016 this will no longer count administrative messages within BPAPI
tcp_ip_message_not_pingSee also tcp_ip_message
Note that from 24 Nov 2016 this will no longer count administrative messages within BPAPI
temperatureEr normalt underforstått "temperature inside" (jamnfør temperature_outside)

For <see cref="ProductCode.CTMmTouchOne"/> termostat: Lufttemperatur.

Note that for AppView <see cref="DeviceProperty.temperature"/> will always be the most important temperature (the one used for controlling) while
<see cref="DeviceProperty.temperature_2"/> will be the secondary temperature. This is (pr Feb 2019) only relevant for <see cref="ProductCode.CTMmTouchOne"/> which
can control based on either air or floor-temperature. AppView will also add temperature_source in clear-text explaining what the source is.
temperature_2For Sikom equipment this will be the temperature as measured on input 2 (seldom used, input 1 is used normally, see "temperature")

For <see cref="ProductCode.CTMmTouchOne"/> termostat: Gulvfølertemperatur.

Note that for AppView <see cref="DeviceProperty.temperature"/> will always be the most important temperature (the one used for controlling) while
<see cref="DeviceProperty.temperature_2"/> will be the secondary temperature. This is (pr Feb 2019) only relevant for <see cref="ProductCode.CTMmTouchOne"/> which
can control based on either air or floor-temperature. AppView will also add temperature_2_source in clear-text explaining what the source is.
temperature_adcDirekte adc-verdi for temperatur. Benyttes når gateway også leverer fra seg "oversatt" verdi. Lite bruk for i vanlig drift.
For GSMMiniPlus a value lower than 0x68 means "too hot".
For <see cref="Vendor_Sikom.CTMSwitch"/>: "Measured NTC value"
temperature_adc_max_seenFor <see cref="Vendor_Sikom.CTMSwitch"/>: Max NTC temperature ever reached, This is kept in eeprom and will be erased after “clear memory”
temperature_antifreezeFor mTouch termostat: Bare tillatt med temperaturer mellom 5 og 20 grader. Settes kun på termostaten, kan ikke styres fra server.
temperature_as_given_in_warning_messageThis is useful when an actual warning message like "AAlarm: Device XX TEMPERATURE YYC" is received. Often (always?) the temperature value given
will be the limit instead of the actual temperature. We therefore do not want to log it as DeviceProperty.temperature but we do want
to forward it in the warning message sent to the end user.
By introducing this property (16 Nov 2015) the warning message sent to the user does not change, but the temperature will no longer show in the log
Note that in principle we could also use temperature_max / temperature_min instead of this value when constructing the warning message
but now we keep more faithful to what the gateway actually explains us.
temperature_comfortNote that for ECONode this property will never show up in BPAPI if a temperatur-detector is not connected to input-1
temperature_comfort_prlsaprlsa = PowerRegulatorListenerSilentAdjustment.
Number of degrees Celsius that the PowerRegulatorListener has silently adjusted the temperature in the background.
(As of Feb 2019 will always be a negative value, that is, adjustment is done by lowering the temperature.
But, in principle we might also adjust the temperature upwards, for instance heating the house extra before morning,
in order for the termostats to turn off in the morning).
While silent adjustment is in force all messages to and from gateway for setting of temperature and reading of temperature
will be adjusted with this value (that is, temperature_eco / temperature_comfort will be adjusted with this value, keeping
the fact of a adjustment "hidden" from the app (or any other naïve BPAPI-user only relating to temperature_eco / temperature_comfort)).
temperature_current_settingFor Thermia Radio Node: Current temp setting on heat pump. 128 = Invalid data (or because heatpump_mode is Auto or Dry)
For CTM Termostat: setpunkt temperatur
temperature_ecoNote that for ECONode this property will never show up in BPAPI if a temperatur-detector is not connected to input-1
temperature_eco_prlsaprlsa = PowerRegulatorListenerSilentAdjustment.
Number of degrees Celsius that the PowerRegulatorListener has silently adjusted the temperature in the background.
(As of Feb 2019 will always be a negative value, that is, adjustment is done by lowering the temperature.
But, in principle we might also adjust the temperature upwards, for instance heating the house extra before morning,
in order for the termostats to turn off in the morning).
While silent adjustment is in force all messages to and from gateway for setting of temperature and reading of temperature
will be adjusted with this value (that is, temperature_eco / temperature_comfort will be adjusted with this value, keeping
the fact of a adjustment "hidden" from the app (or any other naïve BPAPI-user only relating to temperature_eco / temperature_comfort)).
temperature_limitFor mTouch termostat: Maximum temperature limit for heaters to avoid heat damage to floor.
(Parkettbegrenser)
Equivalent to Setpunkt Max Vokter
Set to 20-35 °C
temperature_limit_activeFor mTouch termostat: Whether temperature limit for heaters to avoid heat damage has activated itself.
temperature_limit_enabledFor mTouch termostat: Whether temperature limit for heaters to avoid heat damage is enabled.
temperature_maxMaximum allowed temperature (temperature at or above this value will result in temperature_notification_triggered).
Note that for ECONode this property will never show up in BPAPI if a temperatur-detector is not connected to input-1
For SI-4, this value shouldn't be above 40
temperature_max_adjustableA typical user interface (like MinHytte app) will not allow setting of temperature_max unless this property is set to "1" (Adjustable).
See also temperature_use_full_scale
temperature_minMinimum allowed temperature (temperature at or below this value will result in temperature_notification_triggered).
Note that for ECONode this property will never show up in BPAPI if a temperatur-detector is not connected to input-1
For SI-4, this value shouldn't be below 5
temperature_notification_modeSee also temperature_min and temperature_max.
Note that for ECONode this property will never show up in BPAPI if a temperatur-detector is not connected to input-1
temperature_notification_triggeredWill be set when temperature at or below temperature_min or at or above temperature_max, or is generally used as a temperature-related alarm.
Might also have a connected <see cref="temperature_as_given_in_warning_message"/>.
temperature_notification_user_settingOnly relevant for Sikom Living users.
Reset temperature_notificaton_mode back to 1 after 24 hours if corresponding _user_setting is set to 1.
See GatewayListener.CheckAllGateways()
If you're looking for usages, try searching for "_user_setting" in the project instead.
temperature_onFor Thermia Radio Node: Temperature (taken from profile 0) when no switch_thermostat_active and pump is on
temperature_sensor_no_com_notification_triggeredIs set to 1 (triggered) when the device has not received temperatures from the SLE AAA Temp Sensor for more than 24h.
Relevant only when there is a SLE AAA Temp Sensor registered.
temperature_sensor_sourceFor CTM-products: 0 = luft, 1 = gulv. Which temperature sensor is used for regulating temperature.
temperature_setpointFor mTouch termostat: Settpunktet den regulerer etter nå
temperature_slavenodeId of device to be controlled by thermostat (like SI-3 Termostat).
See also humidity_slave.
temperature_surveillance_temporary_variableFor Sikom ECO-Comfort: Temporary variable. Used for temperature surv storing. 0=Hi 1=Lo 2=De/Active or 0=moisture control device 1=moisture level trigg)
temperature_use_full_scaleTODO: CANDIDATE FOR REMOVAL!
A typical user interface (like MinHytte app) will show full scale (typical -99 / +99) for setting of temperatures like Eco and Comfort temperatures if this setting is enabled.
See also temperature_max_adjustable
NOTE: As of 11 Dec 2017 this was used for only 4 customers (1 Fixi, 2 ECO-Starters). TODO: In other words, candidate for removal!
time_since_last_status_messageFor ECOActuator: On time since last status message was sent in 1/1000 part
time_since_power_up_daysFor DeviceModel.WirelessDetecto WFIRE. RI_Day Total number of days since power up. 230VAC and battery power.
time_since_power_up_on_battery_daysFor DeviceModel.WirelessDetecto WFIRE. RI_Bat - Number of days on battery since power up.
to_be_replaced_by_productDeviceModel.Product.
Existence of this property means that the product is no longer being produced but that we have still have some in stock for sale.
The value of this property refers to which newer product that will replace this product in the future.
See also replaced_by_product which marks products that are neither produced nor sold anymore.
Possible translation for web is "Ikke lenger i produksjon" or "Utgående produkt".
Will maybe only be shown for DocumentationAudience.Internal.
under_developmentDeviceModel.Product.
Product is under development and only to be shown on internal pages (intern.sikom.no).
Will only be shown for DocumentationAudience.Internal.
under_operation_stateFor Thermia Radio Node: Bit 7 shows if the pump is turned on or off. The bit is set to 1 if the pump is on
user_defined_name_max_lengthUsed for gateways with local display for which we store user_defined_name in the gateway (GSMAlarmControllerIII and GSMECOStarter)
USED ONLY BY APP (so App knows how not to generate errors on API-side)
Not used by BPAPI (name lengths are instead given in HardwareAbstraction like this: AddParameter(1, user_defined_name, "Q01*#", "RQ01", "RQE", ValidatorMaxLength(16),

TODO: Det kan være aktuelt å finne metode for API'et å kommunisere hardware-abstraksjons informasjon ut til app (kanskje gjennom autogenerering av .js / .java / .h / .m filer)
TODO: En slik løsning vil selvsagt gjøre at app må oppdateres for å kunne støtte nye enheter.
user_defined_powerThe power (in W) that this device can draw. Only relevant to set for devices which have switch_mode (and when an <see cref="DeviceModel.ECOEnergyController"/> / <see cref="Vendor_Sikom.ECOEnergyController"/> is installed)
user_invisibleUsed by app. Property "Synlig" under "Soneinnstillinger". See also "not_visible_at_gateway.
For DeviceModel.Product can be used to hide products from public view (not much in use as of 20 Nov 2015)
user_position_controlPosition of devices (counted from 0) in the Control screen in the app.
A value of -1 means the device shouldn't be visible at the homescreen
As of Nov 2017 only used by <see cref="AppSkin.SikomLiving"/>
See also <see cref="user_position_home"/>
user_position_homePosition of devices (counted from 0) in the Home screen in the app.
A value of -1 means the device shouldn't be visible at the homescreen
As of Nov 2017 only used by <see cref="AppSkin.SikomLiving"/>
See also <see cref="user_position_control"/>
ValidSubscription_Online00YearsPercentage of gateways first seen online 0 years ago having a valid paying subscription
ValidSubscription_Online00Years_totalTotal count of gateways first seen online 0 years ago having a valid subscription now.
ValidSubscription_Online01YearsPercentage of gateways first seen online 1 year ago having a valid paying subscription
ValidSubscription_Online01Years_totalTotal count of gateways first seen online 1 year ago having a valid subscription now.
ValidSubscription_Online02YearsPercentage of gateways first seen online 2 years ago having a valid paying subscription
ValidSubscription_Online02Years_totalTotal count of gateways first seen online 2 years ago having a valid subscription now.
ValidSubscription_Online03YearsPercentage of gateways first seen online 3 years ago having a valid paying subscription
ValidSubscription_Online03Years_totalTotal count of gateways first seen online 3 years ago having a valid subscription now.
ValidSubscription_Online04YearsPercentage of gateways first seen online 4 years ago having a valid paying subscription
ValidSubscription_Online04Years_totalTotal count of gateways first seen online 4 years ago having a valid subscription now.
ValidSubscription_Online05YearsPercentage of gateways first seen online 5 years ago having a valid paying subscription
ValidSubscription_Online05Years_totalTotal count of gateways first seen online 5 years ago having a valid subscription now.
ValidSubscription_ProductionAge00YearsPercentage of gateways with production age 0 years having a valid paying subscription
ValidSubscription_ProductionAge01YearsPercentage of gateways with production age 1 years having a valid paying subscription
ValidSubscription_ProductionAge02YearsPercentage of gateways with production age 2 years having a valid paying subscription
ValidSubscription_ProductionAge03YearsPercentage of gateways with production age 3 years having a valid paying subscription
ValidSubscription_ProductionAge04YearsPercentage of gateways with production age 4 years having a valid paying subscription
ValidSubscription_ProductionAge05YearsPercentage of gateways with production age 5 years having a valid paying subscription
VendorExample values: 1000000001 = Connome, 1000001003 = Sikom, 1000001002 = Inbuilt (see vendor_readable)
vendor_and_device_model_readableFor Sikom equipment this is a combination of "Sikom", RType and model_name
vendor_typeBemerk hvordan for GACIII sone 1-6 denne settes til "1" FixedZone, men rapporteres som RTYPE "0" gjennom Z**.
VerifyPassword_accessCountOriginates from OrderController.VerifyPassword.
Not to be confused with CheckPassword_accessCount
vertical_air_flowFor Thermia Radio Node: 0=Auto, 1=Angle1 (Coanda), 2=Angle4 (Normal), 3=Angle5 (Coanda), 4=Swing
WebAppView_accessCountAccess count for the WebApp
week_program_eventsA string representation of the events of the week program, showing what timestamp to trigger an event (minutes since monday 00:00), what DeviceProperty to change, and what value to change it to.
week_program_membersShows the device nodeIds that are part of this week program, and weather they are active or not.
zaptec_charger_op_modeCharger operation mode.

Unknown = 0

Disconnected = 1

Connected_Requesting = 2

Connected_Charging = 3

Connected_Finished = 4

PropertyProperty

NameComment
//functionality_production_target_date//Note problem with setting a date because we do not know which app-version to put a date under.
//If system is going to be designed around app-versions then there is a problem integrating new functionality
//We could solve this by setting a date once, and then copying it automatically for all new app-versions though
//(See CustomerController.AddProperty)
//
//functionality_status//See enum PropertyProperty_functionality_status
//
cid_latitudeLatitude coordinates of gateway acquired from Google API using:
<see cref="DeviceProperty.gprs_cid"/>, <see cref="DeviceProperty.gprs_lac"/> and <see cref="DeviceProperty.gprs_plmn"/>
Calculated by <see cref="GoogleAccess.TryGetPositionCoordinatesFromLocationData(string, string, string, out GoogleAccess.Position, out string)"/>
cid_longitudeLongitude coordinates of gateway acquired from Google API using:
<see cref="DeviceProperty.gprs_cid"/>, <see cref="DeviceProperty.gprs_lac"/> and <see cref="DeviceProperty.gprs_plmn"/>
Calculated by <see cref="GoogleAccess.TryGetPositionCoordinatesFromLocationData(string, string, string, out GoogleAccess.Position, out string)"/>
descriptionDeviceProperty.functionality
General description for this entity
logGeneral log information for this entity.
When child under CustomerProperty.notifications, remember to ask for History for this to see all messages being sent, and also log child-properties for those again (children go two level deep)
manual_invoice_invoice_numberInvoice number from TripleTex
manual_invoice_payment_receivedTODO: Is there a need for this? Jan 2018.
Use value '1' when payment has been received for <see cref="CustomerProperty.manual_invoice"/>
offer_request_itemEquivalent to OrderController.OfferRequestDto.Room with format room.name + "|" + room.panelHeaters + "|" + heatingCable + "|" + fireDetection + "|" + intruderDetection;
payment_amount_NOK_ex_vatPayment amount in NOK excluding VAT calculated from approximate currency rate towards NOK when transaction was made.
The rate used will normally be the rate found at http://www.norges-bank.no/Statistikk/Valutakurser/valuta/EUR for the preceding month,
in other words this value is only an approximate.
payment_authorization_idAuthorization id as returned from Nets
payment_buy_descriptionThe text being shown to the user (customer) when completing the payment process (as seen from the user's perspective)
payment_callback_from_addressIP-address from which Subscription/RegisterPaymentCallback or WebShop/RegisterPaymentCallback was called. The existence of this property means that callback from the Payment provider (Nets) has been registered (only one callback per transaction is allowed).
payment_completeThe existence of this property means that the payment process has been completed (operation SALE has been completed / customer's credit card has been debited).
payment_country_codeTwo letter (ISO 3166-1 alfa-2) country code. For subscription-payments this is based on (in descending order of priority) country_code_by_plmn, country_code_by_ip_address, country
payment_final_callback_urlURL of the Account registration web-application (relevant when payment was originally initiated from it)
payment_gatewayThe gateway for which the subscription payment is made. Used to calculate subscription_valid_to_date for gateway.
payment_originWhere the payment originated from, and whether the payment renewed an existing subscription or paid for a new one
<see cref="PropertyProperty_payment_origin"/>
payment_provider_urlNormally https://epayment.nets.eu/Netaxept/ (before Dec 2014: epayment.bbs.no). Other values, like test.epayment.nets.eu (before Dec 2014: epayment-test.bbs.no) may be taken as an indication that the payment was a test-transaction (that is, not a real payment).
payment_query_errorThis will occur quite infrequently. Signifies that some credit-card information like payment_pan_hash is probably not available.
payment_registerPayment has been registered initially with the Payment provider.
payment_requrrenceHow often Connome is allowed to ask for repeated payment. Usually set to half of the actual subscription period
payment_subscription_from_dateUsually old valid-to-date for Gateway's subscription before payment for subscription
payment_subscription_to_dateNew valid-to-date for Gateway's subscription after payment for subscription
payment_vatMVA (VAT) in Norwegian kroner (NOK).
web_shop_order_amount_to_invoiceDette gjelder når faktura skal sendes kunden.

Pr desember 2014 benyttes denne for bedriftsabonnement (web_shop_order_item er SubscriptionCompany_[ValueCode])

Bemerk at teoretisk kan en ha multiple slike amount_to_invoice...
web_shop_order_itemEquivalent to OrderController.WebShopRegisterDto.Item with format item.name + "|" + item.quantity.ToString() + "|" + item.price.ToString("0.00").Replace(",", ".");


Automatically generated from BPAPI source-code 2025-12-05 00:06

Assembly built at 2025-09-16 10:02