Specifikationer Currently One

Tekniska Specifikationer

Event Source och Custom MQTT

Enheten publicerar data dels på sin EventSource, dels på din lokala MQTT-broker om du har definierat en i den mobila appen.

EventSource nås på http://host_or_ip/events

Message Types / Topics

status

När en klient ansluter till events, (för mqtt när enheten startar), publiceras ett meddelande på

events: status online
mqtt: currently/one/<DEVICE_ID>/status online

tätt följt av

config

events: config
mqtt: currently/one/<DEVICE_ID>/config

Exempel på config-body:

{
"id": "3c690779cf58",
"v": "my-SNAPSHOT",
"m": "HAN",
"stat_t": "currently/one/3c690779cf58/state",
"cmd_t": "currently/one/3c690779cf58/cmd",
"t": "2022-12-09T09:12:18-0130",
"rr": "POWERON",
"progress_t": "currently/one/3c690779cf58/progress",
"rssi": "-62",
"txPwr": "76"
}

ping

När det gått ca 15s utan aktivitet publiceras ett ping-meddelande på

events: ping
mqtt: currently/one/<DEVICE_ID>/progress

state

När förbrukningen ändras, publiceras ett meddelande på

events: state
mqtt: currently/one/<DEVICE_ID>/state

Exempel på state-body från mätare med HAN-port:

{
"W": 470,
"Wh": 114653698,
"L1": 201,
"L2": 169,
"L3": 100,
"P": 0,
"Ph": 23583,
"t": "2022-12-09T09:13:27-0130",
"m": "HAN",
"id": "3c690779cf58"
}
och motsvarande från blinkande mätare:
{
"W": 470,
"Wh": 1047,
"t": "2022-12-09T09:13:27-0130",
"m": "BLINK",
"id": "3c690779cf58"
}
Exempel på discovery (endast mqtt):
topic:
homeassistant/sensor/power_3c690779cf58/config
body: 
{
"uniq_id": "power_3c690779cf58",
"obj_id": "power_3c690779cf58",
"name": "Currently 3c690779cf58 Using",
"dev_cla": "power",
"stat_t": "currently/one/3c690779cf58/state",
"unit_of_meas": "W",
"val_tpl": "{{value_json.W}}"
}

Attribut

 Namn Beskrivning Enhet Kommentar Motsvarande OBIS
t Timestamp 0-0.1.0.0
W Effekt, aktiv 3-fas uttag W 1-0:1.7.0
Wh Energi, aktiv 3-fas förbrukad Wh
total_increasing
1-0:1.8.0
L1, L2, L3 Effekt, aktiv fas uttag W 1-0:21.7.0
P Effekt, aktiv 3-fas producerad W 1-0:2.7.0
Ph Energi, aktiv 3-fas producerad Wh
(total_increasing)
P1, P2, P3 Effekt, aktiv fas producerad W 1-0:22.7.0
R Effekt, reaktiv 3-fas uttag var
Rh Energi, reaktiv 3-fas förbrukad varh
(total_increasing)
R1, R2, R3 Effekt, reaktiv fas uttag var
Q Effekt, reaktiv 3-fas producerad var
Qh varh
(total_increasing)
Q1, Q2, Q3 var
I1, I2, I3 Fasström A 1-0:31.7.0
U1, U2, U3 Fasspänning V 1-0:32.7.0

 

Kommentarer:

total_increasing Similar to total, with the restriction that the state represents a monotonically increasing positive total which periodically restarts counting from 0, e.g. a daily amount of consumed gas, weekly water consumption or lifetime energy consumption. Statistics of the accumulated growth of the sensor's value since it was first added is updated every 5 minutes. A decreasing value is interpreted as the start of a new meter cycle or the replacement of the meter.

https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes

REST-kommandon

Enheten lyssnar på http på port 80, och nås via mDNS hostname currentlyone_DEVICEID.local, t.ex http://currentlyone_3c690779cf58.local

POST har Content-Type: application/x-www-form-urlencoded, response är application/json.

Info

GET /api/v1/info

Exempel: curl -X GET 'http://currentlyone_3c690779cf58.local/api/v1/info'
{"id":"3c690779cf58","v":"1.2.7","m":"ALL","ssid":"dLink","localIP":"10.0.1.5","t":"2023-01-08T20:44:34+0100","rr":"SW","rssi":"-52"}

och

POST /api/v1/info

name: enhetens namn, max 63 tecken
mqtt: url till custom MQTT broker enligt [user[:pass]@]host[:port]
imps: för blinkande mätare, imps/kWh. Default är 1000

Exempel: curl -d "name=Casa Mia" -d "mqtt=currently:secret@10.0.1.101" -d "imps=500" 'http://currentlyone_3c690779cf58.local/api/v1/info'

Fota

POST /api/v1/fota

url: url från vilken enheten ska ladda ner ny firmware
md5: MD5 för utpekad firmware

Exempel: curl -d "url=https://collector.currently.cloud/firmware/one/device-1.3.0-esp32v1.bin" -d "md5=b19ed8cb2e101495ce22a8ec2a79c20b" 'http://currentlyone_3c690779cf58.local/api/v1/fota'

Restart

POST /api/v1/restart

Exempel: curl -X POST 'http://currentlyone_3c690779cf58.local/api/v1/restart'

Factory reset

POST /api/v1/factory_reset

Exempel: curl -X POST 'http://currentlyone_3c690779cf58.local/api/v1/factory_reset'

Firmware upload

POST /api/v1/firmware

firmware: file

Exempel: Använd browser för att göra denna POST

Scan for WiFi

GET /api/v1/scan

Exempel: curl -X GET 'http://currentlyone_3c690779cf58.local/api/v1/scan'

{"deviceId":"3c690779cf58","version":"my-SNAPSHOT","networks":[
{"ssid":"dLink","auth":true,"rssi":-43},
{"ssid":"Awesome Foursome","auth":true,"rssi":-69},
{"ssid":"Fantastic5","auth":true,"rssi":-83},
{"ssid":"TN_wifi_D830D9","auth":true,"rssi":-83}
]}

Provision WiFi

POST /api/v1/provision

ssid: Namn på WiFi-nätet
pass: Passkey (lämnas tom för öppet nät)
gmtOffset: enhetens offset (vintertid) i sekunder från GMT (default 3600)

mDNS

Hostname

Currently annonserar sitt namn enligt CurrentlyOne_DEVICEID.local, t.ex svarar den på http://currentlyone_3c690779cf58.local.

Om man inte känner till sitt DEVICEID, leta på annonserad service:

Service

Currently annonserar servicen "_currently._tcp."

Appar

På Android kan t.ex. appen "Service Browser" användas för att se vad som finns på ditt lokala nätverk.

Blink-sensor

Default-inställningen är att förbrukning och effekt beräknas på 1000 imp/kWh. Kontakta supporten om du har en annan mätarfrekvens. 

Cloud Service

Enheten postar även data till Currently Ones cloud service. Då används givetvis krypterad kommunikation via https.

Denna cloud service behöver data för att kunna presentera historik i mobila appen.

Hårdvara

Elektroniken är baserad på en ESP32-C3 och programmerad med en Arduino-baserad Firmware.

Strömförsörjningen sker via HAN-porten (RJ12) eller micro-USB-kontakten.

Enheterna är designade och tillverkade i Skåne, Sverige.

Uppdateringar

Uppdateringar av enhetens Firmware sker via nätet, och styrs via den mobila appen.

Uppdateringar av mobila appen sker via AppStore eller Google Play.

MQTT-kommandon (deprekeras)

Alla kommandon sänds på topic prefix
currently/one/<DEVICE_ID>/cmd
eller
currently/one/all/cmd

fota

topic: currently/one/<DEVICE_ID>/cmd/fota

message:

{
"url": "https://collector.currently.cloud/firmware/one/device-1.0.1-esp32v1.bin",
"md5": "53f78a7fc3a3dd4b823b9e7b071fc8f0"
}

ping

topic: currently/one/<DEVICE_ID>/cmd/ping

message:
{} 

restart

topic: currently/one/<DEVICE_ID>/cmd/restart

message:
{}