Ga naar hoofdinhoud

Firehose

Met Firehose publiceer je realtime telemetrie van installaties in je portfolio naar een destination die jij beheert — Kafka, AMQP 0.9, MQTT of HTTP. In Watt configureer je dit als een pipeline: kies installaties als databron, stel een destination in en kies een delivery mode.

Configuratie onder Developer → Firehose in Watt. Toegang via het Early Access Program; zonder feature-flag is het menu niet zichtbaar.

De message body is het Envi.Baseenvi.baseDe energiecontroller van Envitron die apparaten uitleest, aanstuurt en data opslaat achter de hoofdaansluiting. realtime-JSON-document (schema 1.0.0 hieronder). Binnen één pipeline gaan alle geselecteerde installaties naar de destination van die pipeline (één topic, exchange + routing key, MQTT-topic of URL). Andere pipelines kunnen andere destinations hebben — ook voor dezelfde installatie.

Installatie-identiteit​

De JSON-body bevat geen installatie-id. De broninstallatie staat in transportmetadata:

DestinationInstallatie-identiteit
KafkaMessage-key = installatie-UUID
AMQP 0.9Header / property installation_uuid
MQTTProperty installation_uuid
HTTPRequest-header installation_uuid

Concepten​

TermBetekenis
PipelineAfleverconfiguratie: installaties + destination + delivery mode.
DestinationWaar events naartoe gaan: protocol + verbindingsparameters (broker, exchange/topic/URL, credentials).

Eén destination per pipeline op dit moment.

Payload (realtime schema 1.0.0)​

Berichten voldoen aan Envi.Baseenvi.baseDe energiecontroller van Envitron die apparaten uitleest, aanstuurt en data opslaat achter de hoofdaansluiting. realtime schema 1.0.0:

  • JSON Schema draft 2020-12, additionalProperties: false
  • Alleen time is verplicht op rootniveau; main_meter, battery en solar verschijnen als dat subsysteem op de installatie aanwezig is

We kunnen nieuwe properties toevoegen aan het huidige schema zonder version bump. Breaking of niet-backwards-compatible wijzigingen — zoals removals of renames — worden expliciet gecommuniceerd; alleen additieve velden niet.

Voorbeeld​

{
"time": 1763633359.6,
"main_meter": {
"status": "degraded",
"active_power_w": -391240
},
"battery": {
"status": "unavailable",
"active_power_w": -138412,
"active_power_setpoint_w": -300000,
"soc": 28.7,
"charge_limit_w": 400000,
"remaining_charge_time_s": 5963,
"discharge_limit_w": 400000,
"remaining_discharge_time_s": 2137
},
"solar": {
"status": "available",
"active_power_w": -319684,
"active_power_setpoint_w": -503665,
"rated_power_w": 600000
}
}

Schema​

Download: realtime-1.0.0.schema.json

Realtime telemetry

High frequency, minimal data telemetry data

objectadditionalProperties: false
timenumberrequired
main_meterobject

Grid connection information

statusstringrequired
availabledegradedunavailable
active_power_winteger

Active power measured on the grid connect (POI), return delivery / export is negative

batteryobject

Global battery information, remaining charge/discharge available when trading is possible

statusstringrequired
availabledegradedunavailable
active_power_winteger

Active power of all Batteries, charging is positive, discharging is negative

active_power_setpoint_winteger

Active power setpoint, charging is positive, discharging is negative

baseline_power_winteger | null

Power the battery would produce/consume without active steering. Schedule active: scheduled power. No schedule: 0 (natural idle).

socnumber≥ 0≤ 100

Average SOC of all available batteries

charge_limit_winteger≥ 0
remaining_charge_time_sinteger≥ 0
discharge_limit_winteger≥ 0
remaining_discharge_time_sinteger≥ 0
solarobject

Global information of all PV

statusstringrequired
availabledegradedunavailable
active_power_winteger

Active power of all PV, production is negative

active_power_setpoint_winteger≤ 0

Active power setpoint

rated_power_winteger≥ 0
min_power_winteger | null

Most negative signed power bound (= full production capacity). Production is negative.

max_power_winteger | null

Least negative signed power bound (= production floor). Production is negative.

baseline_power_winteger | null

Power the PV system would produce without active steering. Schedule active: scheduled limit. Real-time steering: last pre-steering power. No steering: current actual production.

Delivery mode​

ModeHoe lang data bewaard kan blijvenGedrag
live (default)~60 sLevert alleen recente events. Geen inhaal na downtime; mislukte aflevering wordt gedropt.
durable~14 dagenBewaart events zodat aflevering na downtime kan inhalen; blijft retrien binnen dat venster.

Overschakelen van live naar durable herstelt geen data die onder live al is verlopen.

Pauzeren stopt aflevering; events worden niet gebufferd zolang de pipeline gepauzeerd is (bij live mis je data). Verwijderen haalt de pipeline definitief weg, inclusief eventuele nog niet afgeleverde durable backlog.

Destinations​

ProtocolPubliceert naar
KafkaEen topic op een of meer brokers.
AMQP 0.9Een bestaande exchange + verplichte routing key (exchange wordt niet voor je gedeclareerd).
MQTTEen MQTT-topic.
HTTPEen HTTP-URL (POST / PUT / PATCH).

Verplichte velden hangen van het protocol af (brokers/host/URL, topic of routing key, credentials). Destinations moeten publiek bereikbaar zijn. Credentials en TLS verschillen per protocol — gebruik wat het formulier aanbiedt; niet-ondersteunde velden worden door de API geweigerd.

Delen​

Pipelines horen bij de organisatie: alle gebruikers van dezelfde organisatie zien dezelfde pipelines en kunnen ze aanmaken, bewerken, pauzeren of verwijderen. Er is geen privé-lijst per gebruiker — behandel Firehose als een gedeelde integratie voor de organisatie.

Support​

Early Access of integratievragen: 050 785 1000 of support@envitron.com.