el_webapi_api

Last updated:

0 purchases

el_webapi_api Image
el_webapi_api Images
Add to Cart

Description:

el webapi api

EchonetLiteWebAPIClient #
A ECHONET Lite Web API Client written for dart
This client implements the ECHONET Lite Web API Guideline version 1.1.4. The client is an http client that supports parsing JSON results replied from a ECHONET Lite Web API server into dart objects. The current version supports all devices defined in the Device Description v1.4.0.
Features #

Get a list of device (abstracted information only) that is currently available at the Web API server


final RegisteredDeviceList devList = await client.getRegisteredDevices();

for (final Profile profile in devList.profiles) {
print(profile.toJson());
}

copied to clipboard

Fetch a list of device resources

final List<EchonetLiteDevice>? devices =
await client.fetchRegisteredDevicesResources(devList);
if (devices != null) {
for (final EchonetLiteDevice dev in devices) {
if (dev.runtimeType == TemperatureSensor) {
final TemperatureSensor temperatureSensor = dev as TemperatureSensor;
print(temperatureSensor.toJson());
}
}
}
copied to clipboard

Get device resources by type

final List<EchonetLiteDevice>? temperatureSensors =
await client.getDeviceResourcesByType(DeviceType.temperatureSensor, null);
if (temperatureSensors != null) {
for (final EchonetLiteDevice sensor in temperatureSensors) {
final TemperatureSensor temperatureSensor = sensor as TemperatureSensor;
print(temperatureSensor.toJson());
}
}
copied to clipboard

Get a device resource by id (support 49 devices from the Device Description v1.4.0.

final TemperatureSensor sensor =
await client.getTemperatureSensor('temperatureSensor1653899075894947');
print(sensor.toJson());
copied to clipboard

Set a device with pair of {property: value}

bool setResult = await client.setOperationStatus('generalLighting1653899076208582', false);
// Or
bool setResult2 = await client.setPropertyNameWithValue('generalLighting1653899076208582','operationStatus', false);
copied to clipboard
Supported devices #

airCleaner
airConditionerVentilationFan
bathHeatingStatusSensor
bathroomHeaterDryer
co2Sensor
coldOrHotWaterHeatSourceEquipment
commercialAirConditionerIndoorUnit
commercialAirConditionerOutdoorUnit
commercialShowcase
commercialShowcaseOutdoorUnit
controller
cookingHeater
currentSensor
electricEnergySensor
electricLock
electricRainDoor
electricWaterHeater
emergencyButton
enhancedLightingSystem
evCharger
evChargerDischarger
floorHeater
fuelCell
gasMeter
generalLighting
homeAirConditioner
humanDetectionSensor
humiditySensor
hvSmartElectricEnergyMeter
hybridWaterHeater
illuminanceSensor
instantaneousWaterHeater
lightingSystem
lvSmartElectricEnergyMeter
monoFunctionalLighting
powerDistributionBoardMetering
pvPowerGeneration
refrigerator
riceCooker
smartElectricEnergySubMeter
storageBattery
switch
temperatureSensor
tv
ventilationFan
vocSensor
washerDryer
waterFlowMeter
wattHourMeter

Usage #

See /example folder
Refer to /test/mock_web_api_server/responses/all_properties/{deviceType}.json for reponses that will be returned from the ECHONET Lite Web API server
Refer to /test/mock_web_api_server/expectedResults/parsed_devices.dart for more usage examples.

Additional information #

Json serialization and deserialization files {deviceType}.g.dart are auto-generated.
Typo mistakes were reported to the ECHONET Lite Web API Working group and will be corrected in the future release. Therefore, the coldOrHotWaterHeatSourceEquipment and instantaneousWaterHeater might not work with the current ECHONET Lite Web API server (v1.3.0).

Contributing #
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to provide tests as appropriate.
License #

BSD 3, See LICENSE

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.