mirror of
https://github.com/Hypfer/Valetudo.git
synced 2025-10-26 11:27:27 +00:00
chore(release): 2023.05.0
This commit is contained in:
parent
3ccd63ffc1
commit
71808b8bf0
@ -19,7 +19,10 @@ class CurrentStatisticsCapabilityMqttHandle extends CapabilityMqttHandle {
|
||||
*/
|
||||
constructor(options) {
|
||||
super(Object.assign(options, {
|
||||
friendlyName: "Current Statistics"
|
||||
friendlyName: "Current Statistics",
|
||||
helpMayChange: {
|
||||
"Properties": "Available statistics depend on the robot model.",
|
||||
}
|
||||
}));
|
||||
this.capability = options.capability;
|
||||
|
||||
|
||||
@ -19,7 +19,10 @@ class TotalStatisticsCapabilityMqttHandle extends CapabilityMqttHandle {
|
||||
*/
|
||||
constructor(options) {
|
||||
super(Object.assign(options, {
|
||||
friendlyName: "Total Statistics"
|
||||
friendlyName: "Total Statistics",
|
||||
helpMayChange: {
|
||||
"Properties": "Available statistics depend on the robot model.",
|
||||
}
|
||||
}));
|
||||
this.capability = options.capability;
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Hi and welcome to the Valetudo Newcomer Guide.
|
||||
|
||||
This should hopefully answer all the questions you might have and also be interesting to read for people that haven't been following the recent development.
|
||||
|
||||
_Last update: 2023-04-23_
|
||||
_Last update: 2023-05-29_
|
||||
|
||||
|
||||
## What is Valetudo?
|
||||
|
||||
@ -63,10 +63,11 @@ Homie autodiscovery info is best viewed with something like [MQTT Explorer](http
|
||||
- [Consumables monitoring (`ConsumableMonitoringCapability`)](#consumablesmonitoringconsumablemonitoringcapability)
|
||||
- [Consumable (minutes) (`<CONSUMABLE-MINUTES>`)](#consumableminutesconsumable-minutes)
|
||||
- [Consumable (percent) (`<CONSUMABLE-PERCENT>`)](#consumablepercentconsumable-percent)
|
||||
- [Reset the consumable (`<CONSUMABLE-MINUTES>/reset`)](#resettheconsumableconsumable-minutesreset)
|
||||
- [Reset the consumable (`<CONSUMABLE-PERCENT>/reset`)](#resettheconsumableconsumable-percentreset)
|
||||
- [Current Statistics (`CurrentStatisticsCapability`)](#currentstatisticscurrentstatisticscapability)
|
||||
- [Current Statistics Area (`area`)](#currentstatisticsareaarea)
|
||||
- [Current Statistics Time (`time`)](#currentstatisticstimetime)
|
||||
- [Refresh current statistics (`refresh`)](#refreshcurrentstatisticsrefresh)
|
||||
- [Fan control (`FanSpeedControlCapability`)](#fancontrolfanspeedcontrolcapability)
|
||||
- [Fan (`preset`)](#fanpreset)
|
||||
- [Go to location (`GoToLocationCapability`)](#gotolocationgotolocationcapability)
|
||||
@ -77,12 +78,15 @@ Homie autodiscovery info is best viewed with something like [MQTT Explorer](http
|
||||
- [Clean segments (`clean`)](#cleansegmentsclean)
|
||||
- [Speaker volume control (`SpeakerVolumeControlCapability`)](#speakervolumecontrolspeakervolumecontrolcapability)
|
||||
- [Speaker volume (`value`)](#speakervolumevalue)
|
||||
- [Total Statistics (`TotalStatisticsCapability`)](#totalstatisticstotalstatisticscapability)
|
||||
- [Total Statistics Area (`area`)](#totalstatisticsareaarea)
|
||||
- [Total Statistics Count (`count`)](#totalstatisticscountcount)
|
||||
- [Total Statistics Time (`time`)](#totalstatisticstimetime)
|
||||
- [Water control (`WaterUsageControlCapability`)](#watercontrolwaterusagecontrolcapability)
|
||||
- [Water (`preset`)](#waterpreset)
|
||||
- [Wi-Fi configuration (`WifiConfigurationCapability`)](#wi-ficonfigurationwificonfigurationcapability)
|
||||
- [Frequency (`frequency`)](#frequencyfrequency)
|
||||
- [IP addresses (`ips`)](#ipaddressesips)
|
||||
- [Refresh configuration (`refresh`)](#refreshconfigurationrefresh)
|
||||
- [Signal (`signal`)](#signalsignal)
|
||||
- [Wireless network (`ssid`)](#wirelessnetworkssid)
|
||||
- [Zone cleaning (`ZoneCleaningCapability`)](#zonecleaningzonecleaningcapability)
|
||||
@ -124,10 +128,18 @@ Homie autodiscovery info is best viewed with something like [MQTT Explorer](http
|
||||
- [Current Statistics Time (`sensor.mqtt`)](#currentstatisticstimetime)
|
||||
- [Dust bin attachment (`binary_sensor.mqtt`)](#dustbindustbin)
|
||||
- [Error (`sensor.mqtt`)](#vacuumstatusstatusstateattribute)
|
||||
- [Fan (`select.mqtt`)](#fanpreset)
|
||||
- [Map data (`camera.mqtt`)](#rawmapdataforhomeassistantmap-data-hass)
|
||||
- [Map segments (`sensor.mqtt`)](#mapsegmentssegments)
|
||||
- [Mop attachment (`binary_sensor.mqtt`)](#mopmop)
|
||||
- [Play locate sound (`button.mqtt`)](#locatelocate)
|
||||
- [Reset <CONSUMABLE-MINUTES> Consumable (`button.mqtt`)](#resettheconsumableconsumable-minutesreset)
|
||||
- [Reset <CONSUMABLE-PERCENT> Consumable (`button.mqtt`)](#resettheconsumableconsumable-percentreset)
|
||||
- [Speaker volume (`number.mqtt`)](#speakervolumevalue)
|
||||
- [Total Statistics Area (`sensor.mqtt`)](#totalstatisticsareaarea)
|
||||
- [Total Statistics Count (`sensor.mqtt`)](#totalstatisticscountcount)
|
||||
- [Total Statistics Time (`sensor.mqtt`)](#totalstatisticstimetime)
|
||||
- [Trigger Auto Empty Dock (`button.mqtt`)](#autoemptydockmanualtriggertrigger)
|
||||
- [Vacuum (`vacuum.mqtt`)](#robot)
|
||||
- [Water (`select.mqtt`)](#waterpreset)
|
||||
- [Water tank attachment (`binary_sensor.mqtt`)](#watertankwatertank)
|
||||
@ -160,6 +172,10 @@ Home Assistant components controlled by this device:
|
||||
- Command response topic: `<TOPIC PREFIX>/<IDENTIFIER>/AutoEmptyDockManualTriggerCapability/trigger`
|
||||
- Data type: [enum](https://homieiot.github.io/specification/#enum) (allowed payloads: `PERFORM`)
|
||||
|
||||
Home Assistant components controlled by this property:
|
||||
|
||||
- Trigger Auto Empty Dock ([`button.mqtt`](https://www.home-assistant.io/integrations/button.mqtt/))
|
||||
|
||||
|
||||
|
||||
|
||||
@ -184,6 +200,8 @@ Home Assistant components controlled by this device:
|
||||
|
||||
*Node, capability: [ConsumableMonitoringCapability](/pages/usage/capabilities-overview.html#consumablemonitoringcapability)*
|
||||
|
||||
**Note:** This is an optional exposed capability handle and thus will only be available via MQTT if enabled in the Valetudo configuration.
|
||||
|
||||
{% include alert.html type="warning" content="Some information contained in this document may not be exactly what is sent or expected by actual robots, since different vendors have different implementations. Refer to the table below.
|
||||
|
||||
|------+--------|
|
||||
@ -220,6 +238,20 @@ Home Assistant components controlled by this property:
|
||||
|
||||
|
||||
|
||||
##### Reset the consumable (`<CONSUMABLE-MINUTES>/reset`) <a id="resettheconsumableconsumable-minutesreset" />
|
||||
|
||||
*Property, command, not retained*
|
||||
|
||||
- Command topic: `<TOPIC PREFIX>/<IDENTIFIER>/ConsumableMonitoringCapability/<CONSUMABLE-MINUTES>/reset/set`
|
||||
- Command response topic: `<TOPIC PREFIX>/<IDENTIFIER>/ConsumableMonitoringCapability/<CONSUMABLE-MINUTES>/reset`
|
||||
- Data type: [enum](https://homieiot.github.io/specification/#enum) (allowed payloads: `PERFORM`)
|
||||
|
||||
Home Assistant components controlled by this property:
|
||||
|
||||
- Reset <CONSUMABLE-MINUTES> Consumable ([`button.mqtt`](https://www.home-assistant.io/integrations/button.mqtt/))
|
||||
|
||||
|
||||
|
||||
##### Consumable (percent) (`<CONSUMABLE-PERCENT>`) <a id="consumablepercentconsumable-percent" />
|
||||
|
||||
*Property, readable, retained*
|
||||
@ -241,12 +273,38 @@ Home Assistant components controlled by this property:
|
||||
|
||||
|
||||
|
||||
##### Reset the consumable (`<CONSUMABLE-PERCENT>/reset`) <a id="resettheconsumableconsumable-percentreset" />
|
||||
|
||||
*Property, command, not retained*
|
||||
|
||||
- Command topic: `<TOPIC PREFIX>/<IDENTIFIER>/ConsumableMonitoringCapability/<CONSUMABLE-PERCENT>/reset/set`
|
||||
- Command response topic: `<TOPIC PREFIX>/<IDENTIFIER>/ConsumableMonitoringCapability/<CONSUMABLE-PERCENT>/reset`
|
||||
- Data type: [enum](https://homieiot.github.io/specification/#enum) (allowed payloads: `PERFORM`)
|
||||
|
||||
Home Assistant components controlled by this property:
|
||||
|
||||
- Reset <CONSUMABLE-PERCENT> Consumable ([`button.mqtt`](https://www.home-assistant.io/integrations/button.mqtt/))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#### Current Statistics (`CurrentStatisticsCapability`) <a id="currentstatisticscurrentstatisticscapability" />
|
||||
|
||||
*Node, capability: [CurrentStatisticsCapability](/pages/usage/capabilities-overview.html#currentstatisticscapability)*
|
||||
|
||||
**Note:** This is an optional exposed capability handle and thus will only be available via MQTT if enabled in the Valetudo configuration.
|
||||
|
||||
{% include alert.html type="warning" content="Some information contained in this document may not be exactly what is sent or expected by actual robots, since different vendors have different implementations. Refer to the table below.
|
||||
|
||||
|------+--------|
|
||||
| What | Reason |
|
||||
|------|--------|
|
||||
| Properties | Available statistics depend on the robot model. |
|
||||
|------+--------|
|
||||
|
||||
" %}
|
||||
|
||||
##### Current Statistics Area (`area`) <a id="currentstatisticsareaarea" />
|
||||
|
||||
*Property, readable, retained*
|
||||
@ -266,16 +324,6 @@ Home Assistant components controlled by this property:
|
||||
|
||||
|
||||
|
||||
##### Refresh current statistics (`refresh`) <a id="refreshcurrentstatisticsrefresh" />
|
||||
|
||||
*Property, command, not retained*
|
||||
|
||||
- Command topic: `<TOPIC PREFIX>/<IDENTIFIER>/CurrentStatisticsCapability/refresh/set`
|
||||
- Command response topic: `<TOPIC PREFIX>/<IDENTIFIER>/CurrentStatisticsCapability/refresh`
|
||||
- Data type: [enum](https://homieiot.github.io/specification/#enum) (allowed payloads: `PERFORM`)
|
||||
|
||||
|
||||
|
||||
##### Current Statistics Time (`time`) <a id="currentstatisticstimetime" />
|
||||
|
||||
*Property, readable, retained*
|
||||
@ -333,6 +381,10 @@ Sample value:
|
||||
max
|
||||
```
|
||||
|
||||
Home Assistant components controlled by this property:
|
||||
|
||||
- Fan ([`select.mqtt`](https://www.home-assistant.io/integrations/select.mqtt/))
|
||||
|
||||
|
||||
|
||||
|
||||
@ -380,6 +432,10 @@ Sample payload:
|
||||
- Command response topic: `<TOPIC PREFIX>/<IDENTIFIER>/LocateCapability/locate`
|
||||
- Data type: [enum](https://homieiot.github.io/specification/#enum) (allowed payloads: `PERFORM`)
|
||||
|
||||
Home Assistant components controlled by this property:
|
||||
|
||||
- Play locate sound ([`button.mqtt`](https://www.home-assistant.io/integrations/button.mqtt/))
|
||||
|
||||
|
||||
|
||||
|
||||
@ -448,6 +504,83 @@ Home Assistant components controlled by this property:
|
||||
|
||||
|
||||
|
||||
#### Total Statistics (`TotalStatisticsCapability`) <a id="totalstatisticstotalstatisticscapability" />
|
||||
|
||||
*Node, capability: [TotalStatisticsCapability](/pages/usage/capabilities-overview.html#totalstatisticscapability)*
|
||||
|
||||
**Note:** This is an optional exposed capability handle and thus will only be available via MQTT if enabled in the Valetudo configuration.
|
||||
|
||||
{% include alert.html type="warning" content="Some information contained in this document may not be exactly what is sent or expected by actual robots, since different vendors have different implementations. Refer to the table below.
|
||||
|
||||
|------+--------|
|
||||
| What | Reason |
|
||||
|------|--------|
|
||||
| Properties | Available statistics depend on the robot model. |
|
||||
|------+--------|
|
||||
|
||||
" %}
|
||||
|
||||
##### Total Statistics Area (`area`) <a id="totalstatisticsareaarea" />
|
||||
|
||||
*Property, readable, retained*
|
||||
|
||||
- Read topic: `<TOPIC PREFIX>/<IDENTIFIER>/TotalStatisticsCapability/area`
|
||||
- Data type: [integer](https://homieiot.github.io/specification/#integer) (unit: cm²)
|
||||
|
||||
Sample value:
|
||||
|
||||
```json
|
||||
3150000
|
||||
```
|
||||
|
||||
Home Assistant components controlled by this property:
|
||||
|
||||
- Total Statistics Area ([`sensor.mqtt`](https://www.home-assistant.io/integrations/sensor.mqtt/))
|
||||
|
||||
|
||||
|
||||
##### Total Statistics Count (`count`) <a id="totalstatisticscountcount" />
|
||||
|
||||
*Property, readable, retained*
|
||||
|
||||
- Read topic: `<TOPIC PREFIX>/<IDENTIFIER>/TotalStatisticsCapability/count`
|
||||
- Data type: [integer](https://homieiot.github.io/specification/#integer) (unit: #)
|
||||
|
||||
Sample value:
|
||||
|
||||
```json
|
||||
5
|
||||
```
|
||||
|
||||
Home Assistant components controlled by this property:
|
||||
|
||||
- Total Statistics Count ([`sensor.mqtt`](https://www.home-assistant.io/integrations/sensor.mqtt/))
|
||||
|
||||
|
||||
|
||||
##### Total Statistics Time (`time`) <a id="totalstatisticstimetime" />
|
||||
|
||||
*Property, readable, retained*
|
||||
|
||||
This handle returns the total statistics time in seconds
|
||||
|
||||
- Read topic: `<TOPIC PREFIX>/<IDENTIFIER>/TotalStatisticsCapability/time`
|
||||
- Data type: [integer](https://homieiot.github.io/specification/#integer) (unit: seconds)
|
||||
|
||||
Sample value:
|
||||
|
||||
```json
|
||||
7200
|
||||
```
|
||||
|
||||
Home Assistant components controlled by this property:
|
||||
|
||||
- Total Statistics Time ([`sensor.mqtt`](https://www.home-assistant.io/integrations/sensor.mqtt/))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#### Water control (`WaterUsageControlCapability`) <a id="watercontrolwaterusagecontrolcapability" />
|
||||
|
||||
*Node, capability: [WaterUsageControlCapability](/pages/usage/capabilities-overview.html#waterusagecontrolcapability)*
|
||||
@ -528,16 +661,6 @@ Sample value:
|
||||
|
||||
|
||||
|
||||
##### Refresh configuration (`refresh`) <a id="refreshconfigurationrefresh" />
|
||||
|
||||
*Property, command, not retained*
|
||||
|
||||
- Command topic: `<TOPIC PREFIX>/<IDENTIFIER>/WifiConfigurationCapability/refresh/set`
|
||||
- Command response topic: `<TOPIC PREFIX>/<IDENTIFIER>/WifiConfigurationCapability/refresh`
|
||||
- Data type: [enum](https://homieiot.github.io/specification/#enum) (allowed payloads: `PERFORM`)
|
||||
|
||||
|
||||
|
||||
##### Signal (`signal`) <a id="signalsignal" />
|
||||
|
||||
*Property, readable, retained*
|
||||
|
||||
@ -716,4 +716,4 @@ Capability | <a href='#dreame_1c'>1C</a> | <a href='#dreame_1t'>1T</a> | <a href
|
||||
|
||||
<br/><br/><br/><br/><br/>
|
||||
This page has been autogenerated.<br/>
|
||||
Autogeneration timestamp: 2023-04-23T15:27:30.533Z
|
||||
Autogeneration timestamp: 2023-05-29T16:06:23.453Z
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "valetudo",
|
||||
"version": "2023.04.0",
|
||||
"version": "2023.05.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "valetudo",
|
||||
"version": "2023.04.0",
|
||||
"version": "2023.05.0",
|
||||
"license": "Apache-2.0",
|
||||
"workspaces": [
|
||||
"backend",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "valetudo",
|
||||
"version": "2023.04.0",
|
||||
"version": "2023.05.0",
|
||||
"description": "Self-contained control webinterface for vacuum robots",
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
|
||||
@ -138,6 +138,11 @@ function keyFn(key) {
|
||||
}
|
||||
|
||||
|
||||
ConsumableMonitoringCapabilityMqttHandle.prototype.genConsumableFriendlyName = (type, subType) => {
|
||||
return `${type}`
|
||||
}
|
||||
|
||||
|
||||
class FakeMqttController extends MqttController {
|
||||
// @ts-ignore
|
||||
constructor() {
|
||||
@ -198,21 +203,6 @@ class FakeMqttController extends MqttController {
|
||||
optionalExposedCapabilities: this.getOptionalExposableCapabilities()
|
||||
});
|
||||
|
||||
// __.--,
|
||||
// ,--'~-.,;=/
|
||||
// { /,”” ‘ |
|
||||
// `|\_ (@\(@\_
|
||||
// \( _____(./
|
||||
// | `-~--~-‘\
|
||||
// | / / , \
|
||||
// | | (\ \ \
|
||||
// _\_|.-‘` `’| ,-= )
|
||||
// (_ ,\ ____ \ ,/
|
||||
// \ |--===--(,,/
|
||||
// ```========-/
|
||||
// \_______ /
|
||||
// NOBODY TOUCH MA DELICIOUS SPAGHETTI 🍝🍝🍝
|
||||
|
||||
this.generatePromise = new Promise((resolve, reject) => {
|
||||
this.resolveGenerate = resolve;
|
||||
this.rejectGenerate = reject;
|
||||
@ -319,7 +309,7 @@ class FakeMqttController extends MqttController {
|
||||
let markdown = "";
|
||||
|
||||
// Inject consumable friendly names since we're not using the standard ones
|
||||
if (handle instanceof PropertyMqttHandle && handle.parent instanceof ConsumableMonitoringCapabilityMqttHandle && handle.topicName !== "refresh") {
|
||||
if (handle instanceof PropertyMqttHandle && handle.parent instanceof ConsumableMonitoringCapabilityMqttHandle && !handle.topicName.endsWith("reset")) {
|
||||
if (handle.getBaseTopic().endsWith("<CONSUMABLE-MINUTES>")) {
|
||||
handle.friendlyName = "Consumable (minutes)";
|
||||
handle.hassComponents[0].friendlyName = "Consumable (minutes)";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user