New Entity Proposal: Cooker #501
Replies: 24 comments 13 replies
-
FWIW this guy already said he would convert his MQTT-based solution to an mqtt cooker platform if we implement this: https://community.home-assistant.io/t/anova-sous-vide-control-over-mqtt/48146 |
Beta Was this translation helpful? Give feedback.
-
Don't have time for full feedback, but just to let you know that we cannot store relative times in the state machine (Time left on timer). Instead, you could store the timestamp that the cooker will be done. |
Beta Was this translation helpful? Give feedback.
-
My thought on this: State: [
STATE_OFF, # offline or idle
STATE_ON, # working
STATE_DONE, # depends on device, may means keep warming or idle
]
State Attributes: [
'operation_mode': [Bake, Broil, Warming, etc] # when state is in STATE_ON or STATE_DONE
'done_at': date_time # when the state will change / has changed from STATE_ON to STATE_DONE
'current_temperature',
'target_temperature',
]
Device Attributes: [
'unit_of_measurement ',
'min_temperature',
'max_temperature',
'precision', # whole degrees or tenths of a degree
]
Supported Feature: [
'support_turn_off',
'support_turn_on', # some appliance won't allow remote turn on, only be able to remote turn off
]
Services: [
'turn_off',
'turn_on': {
'service_data': ['operation_mode', 'target_temperate', 'operation_period']
] |
Beta Was this translation helpful? Give feedback.
-
@awarecan Nice proposal, I've added a little bit to it. Also, can you explain to me the difference between state attributes and device attributes? I'm still learning hass 🏡 😄
I'm not sure how to support extra modes or toggles yet. I might look at the vacuum component for inspiration I own the 4 devices that I linked in the OP, and this state should be able to support all 4 of them. |
Beta Was this translation helpful? Give feedback.
-
I actually have same question, because device_state_attributes will override state_attributes... I finally found a piece of document this time
|
Beta Was this translation helpful? Give feedback.
-
Awesome, thanks for the docs. That means I updated my proposal to reflect that everything should belong in I also have a question about component/directory structure for these things. The type of entity is cooker, and I have multiple platforms to add. Even though 2 of the new platforms are by the same company (Smarter), I keep them as separate platforms because the config info is different per device. Here is the proposed structure:
(I don't know how to write tests for mqtt_sous_vide or whirlpool_microwave yet) |
Beta Was this translation helpful? Give feedback.
-
Component should support only one communication protocol, BLE and TCP/IP should resident in different component as my understanding. MQTT is a different story, IMO, you should have a cooker/mqtt.py, not cooker/mqtt_anova.py. I know you familiar with vacuum component, you can reference vacuum/mqtt.py demo.py is not for specific brand or communication protocol, it basic use as an example for other developers and for unit test purpose. |
Beta Was this translation helpful? Give feedback.
-
@syssi has a rice cooker, so pinging him if he has some ideas / to let him know this is being discussed here. |
Beta Was this translation helpful? Give feedback.
-
Had some time for this, this looks ok. Most of the linked examples companies like the ones for smart kettle or coffeemaker will probably be out of business in a couple of years, but sure let's add them to the mix ☕️ . |
Beta Was this translation helpful? Give feedback.
-
Take a look at this. https://github.com/aprosvetova/xiaomi-kettle |
Beta Was this translation helpful? Give feedback.
-
Awesome, ty. Looking into this over the weekend |
Beta Was this translation helpful? Give feedback.
-
I think this would be super useful |
Beta Was this translation helpful? Give feedback.
-
I second this. |
Beta Was this translation helpful? Give feedback.
-
https://github.com/roblandry/pywemo/tree/crockpot This would make a good addition to this component |
Beta Was this translation helpful? Give feedback.
-
This would be fantastic. I'm currently working on a Python API for GE kitchen appliances, starting with my oven. I'd love to create an HA integration as well, but without a matching entity type, all I can do is be hacky with sensors and switches (and maybe water heaters?). |
Beta Was this translation helpful? Give feedback.
-
To maybe add a little motivation here, I've been able to implement a halfway (well, eighthway, anyway) decent oven and a pretty solid fridge using the |
Beta Was this translation helpful? Give feedback.
-
I've begun thinking about this for my Traeger grill integration. While some of this makes sense for my cooker some of it doesn't quite line up with what I'd need. I'm curious why this proposal and the climate/water heater entities are so specific? It feels like it would be more powerful to have all these entities become collections of even smaller parts such as:
This would handle setting a temperature and maintaining a temperature. Could have the properties suggested above.
This would be an entity that basically lets you set modes in a drop down of some kind. These two small entities would let any kind of device take advantage of these kinds of features. This way we can handle edge cases in higher level logic instead of continuing to duplicate entity logic (like we have now with climate and water heaters) I can create more formal proposals for these if anyone's interested. Edit: Renamed SwitchEntity because of course that already exists xD |
Beta Was this translation helpful? Give feedback.
-
I have a few former Tuya, now Tasmota MQTT based cookers if you need some info |
Beta Was this translation helpful? Give feedback.
-
This would also help extensions like https://github.com/simbaja/ha_gehome/ that currently represents ovens as |
Beta Was this translation helpful? Give feedback.
-
Is this thread still active? I started #945 for adding cookers (and might've ended up on a workable 'generic appliance' domain): I sortof danced around the idea in my post but a generic 'appliance' with run/pause and modes (other optional things like 'run for x', 'set temperature' etc might be useful) - this would serve things like cookers/ovens and things like dishwashers and laundry machines (could even see showers, kettles, EV chargers - and plenty more managing to fit quite easily into this generic) |
Beta Was this translation helpful? Give feedback.
-
Yeah I believe it's a bit ui and also a fixed set of services.
16/08/2023 6:05:28 pm Allen Porter ***@***.***>:
…
Is that about how it shows up in the frontend? (e.g. you include all the same controls on a UI panel?) I'm curious how that would compare to the device panel for that device, with all its entities for the device shown together. It seems like given this discussion has been open since 2018, going with separate entities could be a much faster path forward given *operation* was the only unique attribute in your proposal.
—
Reply to this email directly, view it on GitHub[#501 (reply in thread)], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AALDOPLGWKQPWIA5JRG6U2TXVRPIDANCNFSM4W6QIDPA].
You are receiving this because you commented.[Tracking image][https://github.com/notifications/beacon/AALDOPN3PU3KVMOWVRGU233XVRPIDA5CNFSM4W6QIDPKYY3PNVWWK3TUL52HS4DFWFCGS43DOVZXG2LPNZBW63LNMVXHJKTDN5WW2ZLOORPWSZGOABTMZKI.gif]
|
Beta Was this translation helpful? Give feedback.
-
I'm looking to integrate Dreo ChefMaker. To my surprise there is no
Will be working on it here https://github.com/iRonin/hass-dreo/tree/chefmaker-support |
Beta Was this translation helpful? Give feedback.
-
The split between vacuum and lawn mower some time ago was a nice improvement which got me thinking about this topic. I wasn't aware of architectural discussions at the time. when I noticed this discussion, it surprised me that it is still open. With the introduction of Voice, controlling appliances and differentiating an appliance from other devices is becoming more and more relevant. As discussed above: Based Proposal 1: Pro's:
Proposal 2: Pro's:
Proposal 3: Pro's:
Personally, I would lean towards option 2 since this gives the best bang for your buck. It allows for a large number of appliances to be easily captured and organized. |
Beta Was this translation helpful? Give feedback.
-
Hello all, I'd like to get my Anova Precision Cooker 1.0 (Bluetooth-only) supported. I see this discussion has been going for six years now. The current Anova integration appears to use the anova API, which is being deprecated for older devices (and which if I understand it was never going to work with the even older Bluetooth devices anyways.) Maybe I try to bring the original PR from @arbreng to a workable state? Do we still need a new entity for this, or is there something I can glob onto? (What is the anova wifi integration using?) |
Beta Was this translation helpful? Give feedback.
-
I am in the process of adding support for my Anova Precision Cooker in the Google Assistant and Alexa components, however this is currently not possible as none of the current components really matches up well with its functionality.
Connected microwaves, ovens, tea kettles, and coffee pots are all things, but we have no good way to support them natively in Home Assistant.
I propose creating a new type of Entity: the Cooker. A Cooker can encompass anything that heats food or beverage to a set temperature, for a set time, or both.
This is needed if we want to expose cooker-type entities to assistant services, since breaking the cooker up into its constituent switches and sensors will not work well for that.
State
Properties
Microwaves use power instead of temperature, which would have to be accounted for somehow.
I have a PR open for the sous-vide type cooker here.
Beta Was this translation helpful? Give feedback.
All reactions