You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This note documents observed MQTT actions after triggering charging-related actions through either:
the official Smappee app, or
the public Smappee REST API.
The goal is to record the observed behaviour as accurately as possible, without assuming that REST API endpoint names and MQTT action names map one-to-one.
Sensitive values such as bearer tokens, service location IDs, smart device UUIDs and charging station IDs are replaced by placeholders.
The main reason for this are the sometimes buggy api-calls (#103#156 etc)
Experimental setup
MQTT traffic was monitored while triggering charging actions through the Smappee app and through REST API calls.
The REST API calls used the following endpoint families:
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Purpose
This note documents observed MQTT actions after triggering charging-related actions through either:
The goal is to record the observed behaviour as accurately as possible, without assuming that REST API endpoint names and MQTT action names map one-to-one.
Sensitive values such as bearer tokens, service location IDs, smart device UUIDs and charging station IDs are replaced by placeholders.
The main reason for this are the sometimes buggy api-calls (#103 #156 etc)
Experimental setup
MQTT traffic was monitored while triggering charging actions through the Smappee app and through REST API calls.
The REST API calls used the following endpoint families:
/dev/v3/servicelocation/{service_location_id}/smartdevices/{smart_device_uuid}/actions/...and:
/dev/v3/chargingstations/{charging_station_id}/connectors/{connector_id}/modeThe observed MQTT actions were then compared with the action that was triggered.
Observations
1. Smappee app mode button: Standard
Trigger
Clicked Standard in the official Smappee app.
Observed MQTT action
2. Smappee app mode button: Smart
Trigger
Clicked Smart in the official Smappee app.
Observed MQTT action
3. Smappee app mode button: Solar
Trigger
Clicked Solar in the official Smappee app.
Observed MQTT action
4. Smappee app: Pause charging followed by Resume charging
Trigger
(only available in STANDARD mode)
Observed MQTT actions
Note
No separate
resumechargingMQTT action was observed in this test. setchargingmode seems to do the resume charging.5. Smartdevices endpoint:
setChargingModewithSTANDARDREST call
Observed MQTT action
6. Smartdevices endpoint:
setChargingModewithSMARTREST call
Observed MQTT action
7. Smartdevices endpoint:
setChargingModewithSOLARREST call
Observed MQTT action
8. Smartdevices endpoint:
pauseChargingREST call
Observed MQTT action
9. Smartdevices endpoint:
normalChargingModeREST call
Observed MQTT action
10. Smartdevices endpoint:
smartChargingModeREST call
Observed MQTT action
11. Smartdevices endpoint:
setPercentageLimitREST call
Observed MQTT action
Note
This looks similar to the MQTT action observed when using the max charging speed slider in the Smappee app.
12. Chargingstations endpoint: connector mode
NORMALREST call
Observed MQTT action
13. Chargingstations endpoint: connector mode
SMARTREST call
Observed MQTT action
14. Chargingstations endpoint: connector mode
PAUSEDREST call
Observed MQTT action
15. Chargingstations endpoint: connector mode
NORMALwith ampere limitREST call
Observed MQTT actions
Note
The REST call used an ampere limit, while the observed MQTT action reported a percentage limit.
This REST call also resulted in two MQTT actions being observed.
16. Smartdevices endpoint:
startChargingwithout bodyREST call
Observed MQTT action
Note
In this observation, the charger seemed to remain in the current selected mode (
STANDARD,SMARTorSOLAR).17. Smartdevices endpoint:
startChargingwithpercentageLimit = 5REST call
Test condition
The charger was in
STANDARDmode.Observed MQTT action
Additional observation
Although the MQTT action reported
percentageLimit = 100, the Smappee app slider moved to5%.This may indicate that the app, API response path and MQTT action do not report the same limit value in this case.
18. Smartdevices endpoint:
stopChargingREST call
Observed MQTT action
Additional observation
This ended the charging session in this test.
Afterwards, charging could be started again using either
startChargingorsetChargingMode.Summary of observed mappings
setchargingmode = {"mode":"STANDARD"}setchargingmode = {"mode":"SMART"}setchargingmode = {"mode":"SOLAR"}pausecharging = {}setchargingmode = {"mode":"STANDARD"}setChargingModewithSTANDARDsetchargingmode = {"mode":"STANDARD"}setChargingModewithSMARTsetchargingmode = {"mode":"SMART"}setChargingModewithSOLARsetchargingmode = {"mode":"SOLAR"}pauseChargingpausecharging = {}normalChargingModenormalchargingmode = {}smartChargingModesmartchargingmode = {}setPercentageLimitsetpercentagelimit = {"percentageLimit":10}startChargingwithout bodystartcharging = {"percentageLimit":100}startChargingwithpercentageLimit = 5startcharging = {"percentageLimit":100}; app slider moved to5%stopChargingstopcharging = {}NORMALnormalchargingmode = {}SMARTsmartchargingmode = {}PAUSEDpausecharging = {}NORMALwith ampere limitsetpercentagelimit = {"percentageLimit":4}andnormalchargingmode = {}Preliminary observations
1. App mode buttons consistently use
setchargingmodeThe official Smappee app mode buttons produced the following MQTT actions:
In these observations, the app mode buttons did not produce
normalchargingmode = {}orsmartchargingmode = {}directly.2. The smartdevices
setChargingModeendpoint matches the app mode MQTT actionsThe smartdevices
setChargingModeendpoint produced the same type of MQTT action as the app mode buttons:3. The
chargingstationsconnector mode endpoint produces different MQTT actionsThe
chargingstationsconnector mode endpoint produced different MQTT actions:These differ from the app mode button observations, even when the resulting user-visible mode may be related.
4. Pause appears as
pausechargingBoth the app pause action and the tested REST pause actions resulted in:
5. Resume was observed as
setchargingmodeIn the app test, after pausing and then resuming, the observed MQTT actions were:
No separate
resumechargingMQTT action was observed in this test.6. Ampere limits may appear as percentage limits on MQTT
When using the
chargingstationsendpoint with:{ "mode": "NORMAL", "limit": { "unit": "AMPERE", "value": 7 } }the MQTT stream showed:
So the MQTT stream did not directly report the ampere value from the REST call in this observation.
7. One REST call may result in multiple MQTT actions
The
NORMALwith ampere limit call produced two MQTT actions:This indicates that MQTT observations should not assume one REST call always produces exactly one MQTT action.
8.
startChargingmay reportpercentageLimit = 100on MQTTThe
startChargingaction without a request body produced:In this observation, the selected charging mode appeared to remain unchanged.
9.
startChargingwith a percentage limit showed different app and MQTT observationsWhen calling
startChargingwithpercentageLimit = 5while inSTANDARDmode, the observed MQTT action was:However, the Smappee app slider moved to
5%.This suggests that, at least in this observation, the MQTT action did not directly reflect the slider value shown in the app.
10.
stopChargingappears asstopchargingand ended the sessionThe
stopChargingaction produced:In this observation, it ended the charging session. Charging could afterwards be started again using either
startChargingorsetChargingMode.All reactions