syssi / homeassistant-goecharger-mqtt Goto Github PK
View Code? Open in Web Editor NEWgo-eCharger integration for Home Assistant using the MQTT API
License: Apache License 2.0
go-eCharger integration for Home Assistant using the MQTT API
License: Apache License 2.0
Try to improve the naming of some sensors / keys using this implementation of @0xFEEDC0DE64
Since updating HA to 2023.3 the log states the following:
2023-02-05 10:51:12.959 WARNING (MainThread) [homeassistant.helpers.frame] Detected integration that called async_setup_platforms instead of awaiting async_forward_entry_setups; this will fail in version 2023.3. Please report issue to the custom integration author for goecharger_mqtt using this method at custom_components/goecharger_mqtt/__init__.py, line 44: hass.config_entries.async_setup_platforms(entry, PLATFORMS)
2023-02-05 10:51:14.768 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.go_echarger_090851_ate (<class 'custom_components.goecharger_mqtt.sensor.GoEChargerSensor'>) is using state class 'measurement' which is impossible considering device class ('energy') it is using; expected None or one of 'total', 'total_increasing'; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
2023-02-05 10:51:15.479 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.go_echarger_090851_dwo (<class 'custom_components.goecharger_mqtt.sensor.GoEChargerSensor'>) is using state class 'measurement' which is impossible considering device class ('energy') it is using; expected None or one of 'total', 'total_increasing'; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
2023-02-05 10:51:15.483 WARNING (MainThread) [homeassistant.components.sensor] Sensor sensor.go_echarger_090851_dwo has device class energy, state class measurement and unit Wh thus indicating it has a numeric value; however, it has the non-numeric value: unknown (<class 'str'>); Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
2023-02-05 10:51:16.029 WARNING (MainThread) [homeassistant.components.sensor] Sensor sensor.go_echarger_090851_loa has device class current, state class measurement and unit A thus indicating it has a numeric value; however, it has the non-numeric value: unknown (<class 'str'>); Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
2023-02-05 10:51:16.296 WARNING (MainThread) [homeassistant.components.sensor] Sensor sensor.go_echarger_090851_trx has device class None, state class measurement and unit None thus indicating it has a numeric value; however, it has the non-numeric value: unknown (<class 'str'>); Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
2023-02-05 10:51:16.326 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.go_echarger_090851_cards (<class 'custom_components.goecharger_mqtt.sensor.GoEChargerSensor'>) is using state class 'measurement' which is impossible considering device class ('energy') it is using; expected None or one of 'total', 'total_increasing'; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
Especially the first one appears to be time sensitive given it will fail with the next HA release...
I tried to add the sensor.go_echarger_xxxxxx_eto
to the energy dashboard in HA. But then it complained that since it is of type measurement it is missing the last_reset attribute. But since this is a value that will increase over time, showing the accumulated energy, should it not be of type total, or total_increasing, instead?
https://developers.home-assistant.io/docs/core/entity/sensor/
Hi there,
thank you for the integration - Works reliably so far.
But i have two questions:
Thank you so far.
Best regards,
fox
I have configured the Go-Echarger that it ist connected to MQTT. I am seeing a topic ist created with "go-eCharger/001680/status". But the integration does not show any actie entity.
Hi,
to optimize my PV - charging control, I need a way, to disallow automatic charge start, when plugging in the charging plug.
Maybe you can make this key writable?
acs | R/W | uint8 | Config | access_control user setting (Open=0, Wait=1) |
---|
Thanks a lot.
Could somebody do me a favor? Please check the total energy
at your go-e app and compare the value with the eto
sensor in Home Assistant. Could you provide both values? I assume something like this:
# go-echarger value: 10 kW
# eto sensor value: 100 kW
Follow-Up of #65
Key | R/W | Type | Category | Description |
---|---|---|---|---|
dwo | R/W | optional<double> | Config | Lade Energy Limit, gemessen in Wh, null bedeutet deaktiviert, nicht mit der next trip energie zu verwechseln |
Key | R/W | Type | Category | Description |
---|---|---|---|---|
wan | R/W | string | Config | wifiApName |
wak | R/W | string | Config | WiFi AccessPoint Key (read/write from http) |
tof | R/W | minutes | Config | timezone offset in minutes |
tds | R/W | uint8 | Config | timezone daylight saving mode, None=0, EuropeanSummerTime=1, UsDaylightTime=2 |
utc | R/W | string | Status | utc time |
clp | R/W | array | Config | current limit presets, max. 5 entries |
cid | R/W | string | Config | color_idle, format: #RRGGBB |
cwc | R/W | string | Config | color_waitcar, format: #RRGGBB |
cch | R/W | string | Config | color_charging, format: #RRGGBB |
cfi | R/W | string | Config | color_finished, format: #RRGGBB |
fna | R/W | string | Config | friendlyName |
awc | R/W | uint8 | Config | awattar country (Austria=0, Germany=1) |
cco | R/W | double | Config | car consumption (only stored for app) |
ct | R/W | string | Config | car type, free text string (max. 64 characters, only stored for app) |
mca | R/W | uint8 | Config | minChargingCurrent |
ama | R/W | uint8 | Config | ampere_max limit |
awp | R/W | float | Config | awattarMaxPrice in ct |
psmd | R/W | milliseconds | Config | forceSinglePhaseDuration (in milliseconds) |
sumd | R/W | milliseconds | Config | simulate unpluging duration (in milliseconds) |
mpwst | R/W | milliseconds | Config | min phase wish switch time (in milliseconds) |
mptwt | R/W | milliseconds | Config | min phase toggle wait time (in milliseconds) |
sch_week | R/W | object | Config | scheduler_weekday, control enum values: Disabled=0, Inside=1, Outside=2 |
sch_satur | R/W | object | Config | scheduler_saturday, control enum values: Disabled=0, Inside=1, Outside=2 |
sch_sund | R/W | object | Config | scheduler_sunday, control enum values: Disabled=0, Inside=1, Outside=2 |
mci | R/W | milliseconds | Config | minimumChargingInterval in milliseconds (0 means disabled) |
mcpd | R/W | milliseconds | Config | minChargePauseDuration in milliseconds (0 means disabled) |
mcpea | R/W | optional<milliseconds> | Status | minChargePauseEndsAt (set to null to abort current minChargePauseDuration) |
log | R/W | string | Config | load_group_id |
lop | R/W | uint16 | Config | load_priority |
lof | R/W | uint8 | Config | load_fallback |
map | R/W | array | Config | load_mapping (uint8_t[3]) |
lot | R/W | uint32 | Config | load balancing total amp |
loty | R/W | uint8 | Config | load balancing type (Static=0, Dynamic=1) |
spl3 | R/W | float | Config | threePhaseSwitchLevel |
Key | R/W | Type | Category | Description |
---|---|---|---|---|
awpl | R/W | array | Status | awattar price list, timestamps are measured in unix-time, seconds since 1970 |
With Home assistant core 2202.8 and 8.1, integration does not start. Receiving the following error:
"Logger: homeassistant.config_entries
Source: config_entries.py:338
First occurred: 14:16:59 (1 occurrences)
Last logged: 14:16:59
Error importing platform config_flow from integration goecharger_mqtt to set up goecharger_mqtt configuration entry: cannot import name 'MqttServiceInfo' from 'homeassistant.components.mqtt' (/usr/src/homeassistant/homeassistant/components/mqtt/init.py)"
Home Assistant 2022.8.1
Supervisor 2022.07.0
Operating System 8.4
Frontend 20220802.0 - latest
I got this issue today after integrating GOeCharger Version 0.15.1. Mostly all entities are in status "unavailable". Hope the following log entry will help to solve this issue.
WARNING (MainThread) [homeassistant.helpers.frame] Detected integration that called async_setup_platforms
instead of awaiting async_forward_entry_setups; this will fail in version 2023.3. Please report issue to the custom
integration author for goecharger_mqtt using this method at custom_components/goecharger_mqtt/init.py, line 44:
Hi.
This is probably a NOOB issue. ;)
I can't get my charger to connect with my Home-assistant mqqt server, its working fine with my sonoff. I think the problem is in my goecharge app mqtt setup, what exactly should i type in the 'url' to get a connection? :)
I thought it was my mqttuser:mqttpass@HAip:mqttport ?
If i add manual in itegrations, it says its added successfully, but no feedback from charger.
-hopefully its me who's wrong ;)
Use a single level wildcard to discover available go-e devices:
$ mosquitto_sub -t '/go-eCharger/+/var' -v
/go-eCharger/000001/var 11
The keys fna
, ffna
, sse
, oem
and typ
aren't available.
Hi.
For the following values the unit of measurement should be watt (W) instead of kilo watt (kW):
Best,
eicosan
Hi,
not sure whats wrong with 2022.10.4, but this integration stops working. I went back to 2022.10.3 and its working again.
The Go-e charger is on v54.7 but I tried v054.3 and its also not working on 2022.10.4.
Anyone else have this issue?
The integration stopped working after update to Home Assistant to 2022.8.0 yesterday. I had no problems before updating.
I got the following error message in the log then:
Logger: homeassistant.config_entries
Source: [config_entries.py:796](http://config_entries.py:796/)
First occurred: 20:47:15 (3 occurrences)
Last logged: 20:47:52
Error occurred loading configuration flow for integration goecharger_mqtt: cannot import name 'MqttServiceInfo' from 'homeassistant.components.mqtt' (/usr/src/homeassistant/homeassistant/components/mqtt/__init__.py)
I tried to reinstall the integration and now I get the following message:
Hi,
the HA 2022.07 release show a deprecation warning for the NumberEntity.
2022-07-07 08:46:05 WARNING (MainThread) [homeassistant.components.number] custom_components.goecharger_mqtt.definitions.number is setting deprecated attributes on an instance of NumberEntityDescription, this is not valid and will be unsupported from Home Assistant 2022.10. Please report it to the custom component author.
2022-07-07 08:46:05 WARNING (MainThread) [homeassistant.components.number] custom_components.goecharger_mqtt.definitions.number is setting deprecated attributes on an instance of NumberEntityDescription, this is not valid and will be unsupported from Home Assistant 2022.10. Please report it to the custom component author.
2022-07-07 08:46:05 WARNING (MainThread) [homeassistant.components.number] custom_components.goecharger_mqtt.definitions.number is setting deprecated attributes on an instance of NumberEntityDescription, this is not valid and will be unsupported from Home Assistant 2022.10. Please report it to the custom component author.
2022-07-07 08:46:05 WARNING (MainThread) [homeassistant.components.number] custom_components.goecharger_mqtt.number::GoEChargerNumber is overriding deprecated methods on an instance of NumberEntity, this is not valid and will be unsupported from Home Assistant 2022.10. Please report it to the custom component author.
Best regards
I am trying to set the transaction id (trx) which basically works with any MQTT client but it isn't available in the UI. Tried to do in in YAML but it didn't work. Any suggestions what I can do?
/go-eCharger/072246/amp 12
/go-eCharger/072246/amp/set 10
/go-eCharger/072246/amp/result success
/go-eCharger/072246/amp 10
Got a go-eCharger with firmware 041.0 and MQTT connected.
mosquitto_sub shows that status-data is posted by the charger:
go-eCharger/012345/status {"version":"B","tme":"0703221448","rbc":"16","rbt":"7580066","car":"1","amp":"16","err":"0","ast":"0","alw":"1","stp":"0","cbl":"32"...
Alle 98 entities generated by the integration are unavailable or disabled.
The MQTT server (HAs own Mosquitto) uses username/password. Could that be the problem?
I could intenrate go-eCharger successfully - the device and 98 entities can be found.
But only the switches are available, all read-only entities are not available and the sensors could not be read.
Do I miss something or does this just not work with the latest firmware? I'm using 054.7., the hardware number is V3.
after I added the first wallbox with the GUI I cannot add another.
Hi,
thanks for the integration. Works like a charm!
Is it possible to add a button to restart the charger? With Firmware 053.0 there is the ability to do this with an API call rst=1
.
I need this to start charging the new Renault ZOE (R135) .
I currently solved this with a command line switch. But its far from perfect....
I hope its possible. Thanks a lot.
Thanks for the integration. Iโm unfortunately not getting any data out of the box. I'm seeing this in the logs:
Logger: homeassistant
Source: components/mqtt/client.py:214
First occurred: 3:23:25 PM (3 occurrences)
Last logged: 3:29:27 PM
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/util/logging.py", line 151, in async_wrapper
await async_func(*args)
File "/usr/src/homeassistant/homeassistant/components/mqtt/discovery.py", line 282, in async_integration_message_received
result = await hass.config_entries.flow.async_init(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 225, in async_init
flow, result = await task
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 252, in _async_init
result = await self._async_handle_step(flow, flow.init_step, data, init_done)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/goecharger_mqtt/config_flow.py", line 79, in async_step_mqtt
assert subscribed_topic == "/go-eCharger/+/var"
AssertionError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/util/logging.py", line 153, in async_wrapper
log_exception(format_err, *args)
File "/usr/src/homeassistant/homeassistant/util/logging.py", line 115, in log_exception
friendly_msg = format_err(*args)
File "/usr/src/homeassistant/homeassistant/components/mqtt/client.py", line 214, in <lambda>
f"Exception in {msg_callback.__name__} when handling msg on "
AttributeError: 'functools.partial' object has no attribute '__name__'
This assert seems to be blowing up async_step_mqtt
assert subscribed_topic == "/go-eCharger/+/var"
At the very least, the config process should probably be aborted with self.async_abort there so that there is feedback to the user.
Also, that assert is a bit odd given that there are two topic names listed in the manifest.json
"mqtt": [
"/go-eCharger/+/var",
"go-eCharger/+/var"
],
I did get it working with this quick hack:
assert subscribed_topic == "/go-eCharger/+/var"
As of Home Assistant Core 2022.11, options is available as a standard property of SelectEntityDescription.
This may cause issues in custom components if a custom options property was previously implemented.
Please adjust the custom component by either dropping or renaming the custom options property.
Hi,
In the other custom goe-charger integration there is a switch to turn on/off allow charging.
In your integration I can do this by select force-state =2
(1=stopped, not sure what 0 does)
It would be nice to simply have a switch to start/stop charging. Makes things much easier.
Thanks a lot :-)
/go-eCharger/072246/cards [{"name":"User 1","energy":0,"cardId":true},{"name":"User 2","energy":0,"cardId":false},{"name":"User 3","energy":0,"cardId":false},{"name":"User 4","energy":0,"cardId":false},{"name":"User 5","energy":0,"cardId":false},{"name":"User 6","energy":0,"cardId":false},{"name":"User 7","energy":0,"cardId":false},{"name":"User 8","energy":0,"cardId":false},{"name":"User 9","energy":0,"cardId":false},{"name":"User 10","energy":0,"cardId":false}]
I have an MQTT server under Proxmox running. I can see the go-eCharger topic there, witch has all info.
How can i link your integration to my MQTT server?
Thanks!!
$ mosquitto_sub -t '/go-eCharger/#' -v | grep fna
/go-eCharger/072246/fna/set go
/go-eCharger/072246/fna/result invalid json InvalidInput: go
/go-eCharger/072246/fna/set "go"
/go-eCharger/072246/fna/result String length 2 exceeds range 4 to 64 "go"
go-eCharger/072246/fna/set "gogogo"
/go-eCharger/072246/fna/result success
The unique id is generated by serial_number
+ api_key
+ attribute
. The attribute
could change by accident and should be avoided.
As already commented in the HA Forum, this integration treats Current values as integers, not as floats.
I see 2 problems here:
extract_item_from_array_to_float
,def extract_item_from_array_to_int(value, key) -> int:
"""Extract item from array to int."""
return round(float(json.loads(value)[int(key)]))
Though I have never ever developed in Python before. So maybe this is complete nonsene.
Hi guys I have spent 2 hours trying to receive any data from the wallbox.
so I switched the mosquitto to debug mode and got this
2023-02-28 17:22:25: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/rssi', ... (3 bytes))
2023-02-28 17:22:25: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/utc', ... (25 bytes))
2023-02-28 17:22:25: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/loc', ... (32 bytes))
2023-02-28 17:22:25: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/rbt', ... (7 bytes))
2023-02-28 17:22:25: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/nrg', ... (39 bytes))
2023-02-28 17:22:25: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/fhz', ... (6 bytes))
2023-02-28 17:22:26: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/utc', ... (25 bytes))
2023-02-28 17:22:26: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/loc', ... (32 bytes))
2023-02-28 17:22:26: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/rbt', ... (6 bytes))
2023-02-28 17:22:26: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/nrg', ... (39 bytes))
2023-02-28 17:22:26: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/fhz', ... (6 bytes))
2023-02-28 17:22:26: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/utc', ... (25 bytes))
2023-02-28 17:22:26: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/loc', ... (32 bytes))
2023-02-28 17:22:26: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/rbt', ... (7 bytes))
2023-02-28 17:22:26: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/nrg', ... (39 bytes))
2023-02-28 17:22:26: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/fhz', ... (6 bytes))
2023-02-28 17:22:27: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/utc', ... (25 bytes))
2023-02-28 17:22:27: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/loc', ... (32 bytes))
2023-02-28 17:22:27: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/rbt', ... (6 bytes))
2023-02-28 17:22:27: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/nrg', ... (39 bytes))
2023-02-28 17:22:27: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/fhz', ... (6 bytes))
2023-02-28 17:22:27: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/utc', ... (25 bytes))
2023-02-28 17:22:27: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/loc', ... (32 bytes))
2023-02-28 17:22:27: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/rbt', ... (7 bytes))
2023-02-28 17:22:27: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/nrg', ... (39 bytes))
2023-02-28 17:22:27: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/fhz', ... (6 bytes))
2023-02-28 17:22:28: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/utc', ... (25 bytes))
2023-02-28 17:22:28: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/loc', ... (32 bytes))
2023-02-28 17:22:28: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/rbt', ... (6 bytes))
2023-02-28 17:22:28: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/nrg', ... (39 bytes))
2023-02-28 17:22:28: Received PUBLISH from go-echarger_096071 (d0, q0, r1, m0, 'go-eCharger/096071/fhz', ... (6 bytes))
2023-02-28 17:22:28: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/utc', ... (25 bytes))
2023-02-28 17:22:28: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/loc', ... (32 bytes))
2023-02-28 17:22:28: Received PUBLISH from go-echarger_093546 (d0, q0, r1, m0, 'go-eCharger/093546/rbt', ... (7 bytes))
The devices do not show up at the broker and the integration does not show any values. Do you have any ideas?
Hi guys, is there any service to restart the wallbox? In the app I can restart it.
Often the box will only charge the car after I restart it for whatever reason so I want to make an automation if the car is not charging under certrain conditions when it should, restart the box.
Thanks
/go-eCharger/072246/pha [false,false,false,true,false,false]
[ A , B , C , D , E , F ]
A: Phase L1 after contactor
B: Phase L2 after contactor
C: Phase L3 after contactor
D: Phase L1 before contactor
E: Phase L2 before contactor
F: Phase L3 before contactor
I saw that some people already had the same symptoms, but none of their solutions could help me so far.
all the Read-only entities show unavailable. I use the MQTT addon on HA and when I connect to it I can see the topics coming in fine. All the shellies I use also work fine through MQTT.
When I listen to the topic through the MQTT broker integration I can also see the messages coming in.
Firmware version of the charger is 0.54.11
Optimistic because the current state cannot be retrieved at the moment.
Hello is there an entity available if a car is plugged in? in this integration I cannot find it, it seems:
sensor.goecharger_garage_rechts**_cable_lock_mode**
in the other integration I can see with this if a car is plugged in
I installed this integration, and it works pretty smoothly out of the box. The only thing I need help finding is a simple button/switch to start/stop charging.
Am I understanding it correctly that I need to enable frc
buttons? And if so, how do I do that?
It looks like depending on the mqtt
component at the manifest.json
isn't sufficient. If the mqtt
isn't installed the component tries to access MQTT_DATA
nevertheless and fails.
$ mosquitto_sub -t '/go-eCharger/+/var' -v
/go-eCharger/000001/var 11
^^^^^^ this is the serial number
This custom integration uses deprecated DEVICE_CLASS_*
constants in its codebase.
The DEVICE_CLASS_*
constants have been deprecated and replaced in Home Assistant Core 2021.12 (over a year ago). I would highly suggest updating/migrating this integration to the new enums.
For example, for the device classes supported by the sensor
platform, there is now a SensorDeviceClass
enum. So if a sensor previously used the DEVICE_CLASS_ENERGY
constant, it should now use SensorDeviceClass.ENERGY
. Other platforms (like binary_sensor
, and number
) provide similar enumerations for their supported device classes.
The migration thus only consists of replacing constants with an enumeration member and is, therefore, very low impact and should be fairly straightforward.
If I can help resolve any questions regarding this change or migration, feel free to ask or respond to this issue. I'm happy to help!
Kindest regards,
../Frenck
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.