Request for yeedi vacuum integration

how do I add the yeedi nodered nodes to my homeassistant?

Hi @Tomschin, how can we integrate your project in homeassistant?
Because I have imported your json string…and than?

If you have installed NodeRed and imported my code. You should see the buttons in the picture above.
Doubleclick on Yeedi in the center of the flows. (The button above the big yellow box.)
Enter your ecovas-account information.
Deploy the changes in NodeRed.
Now the buttons like Start and Pause should be sent to your vacuum.

Then go to Settings/Devices & service/Node-RED Companion/1 Device there you should find all the controls for your device.

I don’t get the Yeedi or the large yellow box when I import?
I have to assume something else is missing yet.
Did you have to setup that up before creating the rest of this?
Where are those instructions?

No. You just need a running instance of “home assistant” and the add-on “Node-RED” installed. Then import the code. Thats all. Thats the complete instruction.

Hi Thomas, Many thanks for your explanations and work.

It seems that the code that you shared in your earlier posts don´t show the result that you shown in your screenshot.

After copy & import the latest code I see:

It works, but it produce only the “basic” control (START, STOP, PAUSE).

Can you maybe share again your latest code?

Many thanks and best regards
Holger

Ups! Sorry Timothy and thanks to Holger!
Yes, I thought that there will come a better solution, which will no longer need
my quick and dirty Node-RED implementation. But as this not happend I did some improvements to my “code”. I post the latest version below.
In my installation “Water level select”, “Clean Speed” and “DoNotDisturbEnabled” are disabled, because they don’t work with my device. But everything I need for my automations works well.

[{"id":"c36b1de29da98452","type":"tab","label":"Yeedi wraper","disabled":false,"info":"","env":[]},{"id":"00da3990aa1dcec5","type":"junction","z":"c36b1de29da98452","x":800,"y":140,"wires":[["525bb7f78609c84a","3c937b1ec2f0b8c7","bbb4a8505e9503b2","adaf2722574f64cc","8a9b9d352ef70daf"]]},{"id":"c726b10d2784cbb0","type":"junction","z":"c36b1de29da98452","x":880,"y":640,"wires":[["c38683f58d3997ad","81b5a564a295f628","311142287a52e12d"]]},{"id":"87a15596779f9eaf","type":"junction","z":"c36b1de29da98452","x":800,"y":660,"wires":[["20f68fece4a2323d"]]},{"id":"90410e3b60b0b397","type":"inject","z":"c36b1de29da98452","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":true,"onceDelay":"2","topic":"","payload":"true","payloadType":"bool","x":90,"y":420,"wires":[["2988643542f59213"]]},{"id":"bdf6cee0f07c166f","type":"ha-sensor","z":"c36b1de29da98452","name":"Battery","entityConfig":"3a94ee165e08d90c","version":0,"state":"payload.value","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1000,"y":440,"wires":[[]]},{"id":"e821d0d77d09b055","type":"ha-sensor","z":"c36b1de29da98452","name":"Cleaning time","entityConfig":"57eb93c83f69ac2e","version":0,"state":"payload.value.totalTimeFormatted","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1020,"y":560,"wires":[[]]},{"id":"c38683f58d3997ad","type":"ha-sensor","z":"c36b1de29da98452","name":"LifeSpanFilter","entityConfig":"7dd1cf189c1cfd51","version":0,"state":"payload.value.filter","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1020,"y":620,"wires":[[]]},{"id":"311142287a52e12d","type":"ha-sensor","z":"c36b1de29da98452","name":"LifeSpanSideBrush","entityConfig":"e9895259df570745","version":0,"state":"payload.value.side_brush","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1030,"y":680,"wires":[[]]},{"id":"81b5a564a295f628","type":"ha-sensor","z":"c36b1de29da98452","name":"LifeSpanMainBrush","entityConfig":"b0c84fca9e24b9a7","version":0,"state":"payload.value.main_brush","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1030,"y":740,"wires":[[]]},{"id":"9fe41e61c7754f63","type":"switch","z":"c36b1de29da98452","name":"Type","property":"payload.type","propertyType":"msg","rules":[{"t":"eq","v":"info","vt":"str"},{"t":"eq","v":"ChargeState","vt":"str"},{"t":"eq","v":"SleepStatus","vt":"str"},{"t":"eq","v":"BatteryInfo","vt":"str"},{"t":"eq","v":"DoNotDisturbEnabled","vt":"str"},{"t":"eq","v":"LastCleanLogs","vt":"str"},{"t":"eq","v":"LifeSpan","vt":"str"},{"t":"eq","v":"WaterBoxInfo","vt":"str"},{"t":"eq","v":"WaterLevel","vt":"str"},{"t":"eq","v":"LastError","vt":"str"},{"t":"eq","v":"MoppingSystemInfo","vt":"str"},{"t":"eq","v":"CleanSpeed","vt":"str"},{"t":"eq","v":"CurrentUsedSpotAreas","vt":"str"},{"t":"eq","v":"CleanSum","vt":"str"},{"t":"eq","v":"CurrentUsedCustomAreaValues","vt":"str"},{"t":"eq","v":"CleanReport","vt":"str"},{"t":"eq","v":"CleanLog","vt":"str"},{"t":"eq","v":"CurrentSpotAreaID","vt":"str"},{"t":"eq","v":"ChargingPosition","vt":"str"},{"t":"eq","v":"Position","vt":"str"},{"t":"eq","v":"RelocationState","vt":"str"},{"t":"eq","v":"ContinuousCleaningEnabled","vt":"str"},{"t":"eq","v":"CarpetPressure","vt":"str"},{"t":"eq","v":"DusterRemind","vt":"str"},{"t":"nempty"}],"checkall":"false","repair":false,"outputs":25,"x":650,"y":460,"wires":[["00da3990aa1dcec5"],["f327048b487ed5a1"],["5d1d20b36d21bce0"],["bdf6cee0f07c166f"],["d4982f217a65f53d"],["e821d0d77d09b055"],["c726b10d2784cbb0"],["f297f8a81f991db7"],["cd837e27c3c0e299","cea5572e7403d243"],["11f2903215eb3289"],["87a15596779f9eaf"],["2874e726920d1cf2","f21ed8154349a106"],["87a15596779f9eaf"],["87a15596779f9eaf"],["87a15596779f9eaf"],["87a15596779f9eaf"],["87a15596779f9eaf"],["87a15596779f9eaf"],["87a15596779f9eaf"],["87a15596779f9eaf"],["87a15596779f9eaf"],["87a15596779f9eaf"],["87a15596779f9eaf"],["87a15596779f9eaf"],["225ce8aa973c5ead"]]},{"id":"f327048b487ed5a1","type":"ha-sensor","z":"c36b1de29da98452","name":"ChargeState","entityConfig":"ad0c38ababa07eab","version":0,"state":"payload.value","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1010,"y":320,"wires":[[]]},{"id":"5d1d20b36d21bce0","type":"ha-sensor","z":"c36b1de29da98452","name":"SleepStatus","entityConfig":"68db47065a6ef493","version":0,"state":"payload.value","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1010,"y":380,"wires":[[]]},{"id":"3cb7a4187cef1384","type":"ha-button","z":"c36b1de29da98452","name":"Start","version":0,"debugenabled":false,"outputs":1,"entityConfig":"cd59296b3642fc5c","outputProperties":[{"property":"payload","propertyType":"msg","value":"true","valueType":"bool"}],"x":90,"y":180,"wires":[["51ff3991aea481b4"]]},{"id":"b1b628156c3d4028","type":"ha-button","z":"c36b1de29da98452","name":"Return","version":0,"debugenabled":false,"outputs":1,"entityConfig":"7325ec802bba397b","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":90,"y":300,"wires":[["20953eccddd58530"]]},{"id":"1bdadabc46d015c2","type":"ha-button","z":"c36b1de29da98452","name":"Pause","version":0,"debugenabled":false,"outputs":1,"entityConfig":"b533c3a699890cd4","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":90,"y":240,"wires":[["88e6a95b95efb7b1"]]},{"id":"f297f8a81f991db7","type":"ha-sensor","z":"c36b1de29da98452","name":"WaterBoxInfo","entityConfig":"e34cfd540f16d734","version":0,"state":"payload.value","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1020,"y":800,"wires":[[]]},{"id":"20f68fece4a2323d","type":"debug","z":"c36b1de29da98452","name":"May add this sensor","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":780,"y":780,"wires":[]},{"id":"b6d97942bb5bbaef","type":"inject","z":"c36b1de29da98452","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":90,"y":540,"wires":[["253c872ca05028d1"]]},{"id":"d4982f217a65f53d","type":"ha-sensor","z":"c36b1de29da98452","d":true,"name":"DoNotDisturbEnabled","entityConfig":"d35da5b318112ba6","version":0,"state":"payload.value","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1040,"y":500,"wires":[[]]},{"id":"23f81db4987b0488","type":"catch","z":"c36b1de29da98452","name":"","scope":null,"uncaught":false,"x":100,"y":780,"wires":[["74342f8d20f4d96c","279df857454cc16b"]]},{"id":"74342f8d20f4d96c","type":"debug","z":"c36b1de29da98452","name":"Error","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":250,"y":800,"wires":[]},{"id":"279df857454cc16b","type":"debug","z":"c36b1de29da98452","name":"ErrorCount","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"","statusType":"counter","x":270,"y":740,"wires":[]},{"id":"adaf2722574f64cc","type":"ha-sensor","z":"c36b1de29da98452","name":"infoVersion","entityConfig":"b96831e1d1553a23","version":0,"state":"payload.value.version","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1010,"y":80,"wires":[[]]},{"id":"bbb4a8505e9503b2","type":"ha-sensor","z":"c36b1de29da98452","name":"infoLibraryVersion","entityConfig":"e7a2778d65ea5020","version":0,"state":"payload.value.libraryVersion","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1030,"y":140,"wires":[[]]},{"id":"3c937b1ec2f0b8c7","type":"ha-sensor","z":"c36b1de29da98452","name":"infoDeviceClass","entityConfig":"85a9c5791d76aa0b","version":0,"state":"payload.value.deviceClass","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1020,"y":200,"wires":[[]]},{"id":"525bb7f78609c84a","type":"ha-sensor","z":"c36b1de29da98452","name":"infoDeviceModel","entityConfig":"c26aade3d531ab1d","version":0,"state":"payload.value.deviceModel","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1030,"y":260,"wires":[[]]},{"id":"8a9b9d352ef70daf","type":"ha-sensor","z":"c36b1de29da98452","name":"infoNickname","entityConfig":"ec7e92985f70e047","version":0,"state":"payload.value.nickname","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1020,"y":20,"wires":[[]]},{"id":"11f2903215eb3289","type":"ha-sensor","z":"c36b1de29da98452","name":"Last error","entityConfig":"641faaa33bf7c935","version":0,"state":"payload.value","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1000,"y":920,"wires":[[]]},{"id":"f2ba300fcc35a61e","type":"ha-button","z":"c36b1de29da98452","name":"Find","version":0,"debugenabled":false,"outputs":1,"entityConfig":"66e90eb44488f7c2","outputProperties":[{"property":"payload","propertyType":"msg","value":"true","valueType":"bool"}],"x":90,"y":120,"wires":[["fa52d38b0b9ffcfe"]]},{"id":"2874e726920d1cf2","type":"ha-sensor","z":"c36b1de29da98452","d":true,"name":"Clean Speed","entityConfig":"db14ba186a1d473e","version":0,"state":"payload.value","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1010,"y":980,"wires":[[]]},{"id":"225ce8aa973c5ead","type":"debug","z":"c36b1de29da98452","name":"missing selector","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":530,"y":780,"wires":[]},{"id":"cd837e27c3c0e299","type":"ha-sensor","z":"c36b1de29da98452","d":true,"name":"WaterLevel","entityConfig":"0b7df0473599124a","version":0,"state":"payload.value","stateType":"msg","attributes":[],"inputOverride":"allow","outputProperties":[],"x":1210,"y":800,"wires":[[]]},{"id":"7fc253370fb0dad1","type":"ha-select","z":"c36b1de29da98452","d":true,"name":"Water level select","version":1,"debugenabled":false,"inputs":0,"outputs":1,"entityConfig":"ff80fda04a3a306f","mode":"listen","value":"payload","valueType":"msg","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"value"},{"property":"previousValue","propertyType":"msg","value":"","valueType":"previousValue"}],"x":120,"y":360,"wires":[["0251d2dce05830e3"]]},{"id":"2cc927c471112162","type":"api-call-service","z":"c36b1de29da98452","name":"Set waterlevel on startup","server":"5172b39f.89f00c","version":5,"debugenabled":false,"domain":"select","service":"select_option","areaId":[],"deviceId":[],"entityId":["select.water_level"],"data":"{\"option\":\"2\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1250,"y":860,"wires":[[]]},{"id":"cea5572e7403d243","type":"trigger","z":"c36b1de29da98452","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"0","extend":false,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":1020,"y":860,"wires":[["2cc927c471112162"]]},{"id":"1c454e77add1f6ae","type":"ha-switch","z":"c36b1de29da98452","d":true,"name":"","version":0,"debugenabled":false,"inputs":1,"outputs":2,"entityConfig":"a56a9f3fbc6d75f1","enableInput":true,"outputOnStateChange":true,"outputProperties":[{"property":"outputType","propertyType":"msg","value":"state change","valueType":"str"},{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"}],"x":90,"y":480,"wires":[["ad8c1eb364f0a740"],["c17ad6ea1cdfb571"]]},{"id":"0251d2dce05830e3","type":"change","z":"c36b1de29da98452","name":"","rules":[{"t":"set","p":"arg","pt":"msg","to":"$number(payload)","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"SetWaterLevel","tot":"str"},{"t":"delete","p":"previousValue","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":360,"wires":[["a09cc0d45524fc78"]]},{"id":"ed42c47797620926","type":"change","z":"c36b1de29da98452","name":"","rules":[{"t":"set","p":"arg","pt":"msg","to":"$number(payload)","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"SetCleanSpeed","tot":"str"},{"t":"delete","p":"previousValue","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":300,"y":600,"wires":[["a09cc0d45524fc78"]]},{"id":"8c564e4bb2b9dc8f","type":"inject","z":"c36b1de29da98452","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"3","payloadType":"str","x":90,"y":660,"wires":[["ed42c47797620926"]]},{"id":"4c927895964adeb9","type":"ha-select","z":"c36b1de29da98452","d":true,"name":"Clean Speed","version":1,"debugenabled":false,"inputs":0,"outputs":1,"entityConfig":"8a95b99fa23f20f3","mode":"listen","value":"payload","valueType":"msg","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"value"},{"property":"previousValue","propertyType":"msg","value":"","valueType":"previousValue"}],"x":110,"y":600,"wires":[["ed42c47797620926"]]},{"id":"5364624d1ac807f0","type":"api-call-service","z":"c36b1de29da98452","name":"Set clean speed on startup","server":"5172b39f.89f00c","version":5,"debugenabled":false,"domain":"select","service":"select_option","areaId":[],"deviceId":[],"entityId":["select.clean_speed"],"data":"{\"option\":\"2\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1260,"y":1060,"wires":[[]]},{"id":"f21ed8154349a106","type":"trigger","z":"c36b1de29da98452","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"0","extend":false,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":1020,"y":1060,"wires":[["5364624d1ac807f0"]]},{"id":"a09cc0d45524fc78","type":"ecovacs-deebot","z":"c36b1de29da98452","account":"103c02f73abdabfa","name":"Yeedi","deviceNumber":"1","connectOnStartup":true,"enableGetMapsOnStartup":false,"enableSimpleEvents":false,"x":650,"y":200,"wires":[["9fe41e61c7754f63"]]},{"id":"2988643542f59213","type":"ecovacs-deebot-command","z":"c36b1de29da98452","name":"","command":"Connect","arg":"","arg2":"","arg3":"","x":270,"y":420,"wires":[["a09cc0d45524fc78"]]},{"id":"51ff3991aea481b4","type":"ecovacs-deebot-command","z":"c36b1de29da98452","name":"","command":"Clean","arg":"","arg2":"","arg3":"","x":320,"y":180,"wires":[["a09cc0d45524fc78"]]},{"id":"20953eccddd58530","type":"ecovacs-deebot-command","z":"c36b1de29da98452","name":"","command":"Charge","arg":"","arg2":"","arg3":"","x":320,"y":300,"wires":[["a09cc0d45524fc78"]]},{"id":"88e6a95b95efb7b1","type":"ecovacs-deebot-command","z":"c36b1de29da98452","name":"","command":"Pause","arg":"","arg2":"","arg3":"","x":300,"y":240,"wires":[["a09cc0d45524fc78"]]},{"id":"c17ad6ea1cdfb571","type":"ecovacs-deebot-command","z":"c36b1de29da98452","d":true,"name":"","command":"DisableDoNotDisturb","arg":"","arg2":"","arg3":"","x":330,"y":500,"wires":[["a09cc0d45524fc78"]]},{"id":"ad8c1eb364f0a740","type":"ecovacs-deebot-command","z":"c36b1de29da98452","d":true,"name":"","command":"EnableDoNotDisturb","arg":"20:00","arg2":"6:00","arg3":"","x":330,"y":460,"wires":[["a09cc0d45524fc78"]]},{"id":"fa52d38b0b9ffcfe","type":"ecovacs-deebot-command","z":"c36b1de29da98452","name":"","command":"FindMe","arg":"30","arg2":"","arg3":"","x":270,"y":120,"wires":[["a09cc0d45524fc78"]]},{"id":"253c872ca05028d1","type":"ecovacs-deebot-command","z":"c36b1de29da98452","name":"","command":"EnableBorderSpin","arg":"","arg2":"","arg3":"","x":340,"y":540,"wires":[["a09cc0d45524fc78"]]},{"id":"147dd10bcc9c5309","type":"ha-button","z":"c36b1de29da98452","name":"Backwards","version":0,"debugenabled":false,"outputs":1,"entityConfig":"bfc18152a3137513","outputProperties":[{"property":"payload","propertyType":"msg","value":"true","valueType":"bool"}],"x":100,"y":60,"wires":[["d09f13bf1e75181b"]]},{"id":"d09f13bf1e75181b","type":"ecovacs-deebot-command","z":"c36b1de29da98452","name":"","command":"MoveBackward","arg":"","arg2":"","arg3":"","x":260,"y":60,"wires":[["a09cc0d45524fc78"]]},{"id":"3a94ee165e08d90c","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_battery","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"battery"},{"property":"icon","value":""},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":"battery"},{"property":"unit_of_measurement","value":"%"},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"57eb93c83f69ac2e","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_last_cleaning_time","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"last cleaning time"},{"property":"icon","value":"mdi:timer-outline"},{"property":"entity_category","value":"diagnostic"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"7dd1cf189c1cfd51","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_lifespan_filter","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"lifespan filter"},{"property":"icon","value":"mdi:wrench-outline"},{"property":"entity_category","value":"diagnostic"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":"%"},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"e9895259df570745","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_lifespann_sidebrush","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"lifespan sidebrush"},{"property":"icon","value":"mdi:wrench-outline"},{"property":"entity_category","value":"diagnostic"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":"%"},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"b0c84fca9e24b9a7","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_lifespann_mainbrush","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"lifespan mainbrush"},{"property":"icon","value":"mdi:wrench-outline"},{"property":"entity_category","value":"diagnostic"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":"%"},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"ad0c38ababa07eab","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_charge_state","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"charge state"},{"property":"icon","value":"mdi:power-plug"},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"68db47065a6ef493","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_sleep_state","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"Sleep State"},{"property":"icon","value":"mdi:sleep"},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"cd59296b3642fc5c","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_start_automatic_cleaning","version":"6","entityType":"button","haConfig":[{"property":"name","value":"start automatic cleaning"},{"property":"icon","value":"mdi:play"},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":"update"}],"resend":false,"debugEnabled":false},{"id":"7325ec802bba397b","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_return_to_charging_station","version":"6","entityType":"button","haConfig":[{"property":"name","value":"return to charging station"},{"property":"icon","value":"mdi:rewind-outline"},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":""}],"resend":false,"debugEnabled":false},{"id":"b533c3a699890cd4","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_pause_the_cleaning","version":"6","entityType":"button","haConfig":[{"property":"name","value":"pause cleaning"},{"property":"icon","value":"mdi:pause"},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":""}],"resend":false,"debugEnabled":false},{"id":"e34cfd540f16d734","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_waterbox","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"waterbox"},{"property":"icon","value":"mdi:water-outline"},{"property":"entity_category","value":""},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"d35da5b318112ba6","type":"ha-entity-config","d":true,"server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_do_not_disturbe","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"Do Not Disturb "},{"property":"icon","value":"mdi:cancel"},{"property":"entity_category","value":"config"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"b96831e1d1553a23","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_info_version","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"info version"},{"property":"icon","value":"mdi:information-outline"},{"property":"entity_category","value":"diagnostic"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"e7a2778d65ea5020","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_info_library_version","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"info library version"},{"property":"icon","value":"mdi:information-outline"},{"property":"entity_category","value":"diagnostic"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"85a9c5791d76aa0b","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_info_device_class","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"info device class"},{"property":"icon","value":"mdi:information-outline"},{"property":"entity_category","value":"diagnostic"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"c26aade3d531ab1d","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_info_device_model","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"info device model"},{"property":"icon","value":"mdi:information-outline"},{"property":"entity_category","value":"diagnostic"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"ec7e92985f70e047","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_info_nickname","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"info nickname"},{"property":"icon","value":"mdi:robot-vacuum"},{"property":"entity_category","value":"config"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"641faaa33bf7c935","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_last_error","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"last error"},{"property":"icon","value":"mdi:bug-outline"},{"property":"entity_category","value":"diagnostic"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"66e90eb44488f7c2","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"find me","version":"6","entityType":"button","haConfig":[{"property":"name","value":"Find me"},{"property":"icon","value":"mdi:home-search"},{"property":"entity_picture","value":""},{"property":"entity_category","value":""},{"property":"device_class","value":""}],"resend":false,"debugEnabled":false},{"id":"db14ba186a1d473e","type":"ha-entity-config","d":true,"server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_clean_speed","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"Clean Speed"},{"property":"icon","value":"mdi:speedometer"},{"property":"entity_category","value":"config"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"0b7df0473599124a","type":"ha-entity-config","d":true,"server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_water_level","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":"Water Level"},{"property":"icon","value":"mdi:water-percent"},{"property":"entity_category","value":"config"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":""}],"resend":false,"debugEnabled":false},{"id":"ff80fda04a3a306f","type":"ha-entity-config","d":true,"server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_water_level_select","version":"6","entityType":"select","haConfig":[{"property":"name","value":"Water Level"},{"property":"icon","value":"mdi:water-percent"},{"property":"entity_category","value":"config"},{"property":"entity_picture","value":""},{"property":"options","value":["1","2","3","4"]}],"resend":false,"debugEnabled":false},{"id":"5172b39f.89f00c","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"","areaSelector":"id","deviceSelector":"id","entitySelector":"id","statusSeparator":"-","statusYear":"2-digit","statusMonth":"2-digit","statusDay":"2-digit","statusHourCycle":"h23","statusTimeFormat":"h:m:s","enableGlobalContextStore":false},{"id":"a56a9f3fbc6d75f1","type":"ha-entity-config","d":true,"server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_do_not_disturbe_switch","version":"6","entityType":"switch","haConfig":[{"property":"name","value":"Do Not Disturb"},{"property":"icon","value":"mdi:cancel"},{"property":"entity_category","value":"config"},{"property":"entity_picture","value":""},{"property":"device_class","value":""}],"resend":false,"debugEnabled":false},{"id":"8a95b99fa23f20f3","type":"ha-entity-config","d":true,"server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi_clean_speed_select","version":"6","entityType":"select","haConfig":[{"property":"name","value":"Clean Speed"},{"property":"icon","value":"mdi:speedometer"},{"property":"entity_category","value":"config"},{"property":"entity_picture","value":""},{"property":"options","value":["1","2","3","4"]}],"resend":false,"debugEnabled":false},{"id":"103c02f73abdabfa","type":"ecovacs-account","countryCode":"AT","name":"","login":"yeedi.com"},{"id":"bfc18152a3137513","type":"ha-entity-config","server":"5172b39f.89f00c","deviceConfig":"7f325b3453da9f3f","name":"yeedi backwards","version":"6","entityType":"button","haConfig":[{"property":"name","value":"yeedi backwards"},{"property":"icon","value":"yeedi backwards"},{"property":"entity_picture","value":""},{"property":"entity_category","value":""},{"property":"device_class","value":""}],"resend":false,"debugEnabled":false},{"id":"7f325b3453da9f3f","type":"ha-device-config","name":"yeedi vacuum cleaner","hwVersion":"","manufacturer":"Ecovac","model":"yeedi 2 hybrid","swVersion":"0.9"}]

What I get is:
red box that says Import unrecognized types:
ecovacs-deebot
ecovacs-deebot-command
ecovacs-account
then a blue box that says
Imported
1 flow
50 nodes
1 configuration node

Than you are missing the ecovas. Try to follow this steps:

Thank You ! I appreciate that - now the import works,
I thought that would get me a vacuum to add to my control on homeassistant - but I am looking thru the nodes now to see if I need to change something there for my instance.
I actually have 2 yeedi 1 upstairs and 1 down
So I will have to learn more about ecovacs and nodered.

Hi folks! I spent some time digging around the deprecated py-sucks code and got it to work up to login with the yeedi network.

BUT, py-sucks only supports XMPP communication and I suspect the ecovacs integration in HA is using something else (in particular, the deebot-client library to actually control the bots.

I haven’t dig further, maybe it will work out of the box for the ecovacs integration if I merge in my code for py-sucks for yeedi, but that needs a ton of cleanup.

That said, I think I got a very simple alternative to work: to pair my yeedi as a ecovacs bot! Here’s what I did:

  • Download the ecovacs home app
  • Put yeedi into network pairing mode
  • Yeedi starts to broadcast itself as “yeedi####” where “####” is some four digit code for the bot.
  • Put a wifi range extender: connect the extender to “yeedi####” and let it broadcast as “ECOVACS_####”. I happen to have a Netgear range extender sitting around. But, I think one can use a PC or pi to do this as well.
  • Pair the bot in the ecovacs home app. I just chosed a bot that looks most similar to my model (I tried yeedi vac station ~ Deebot Neo+).

My bot doesn’t show up in the ecovacs app. But once I login to the Home assistant ecovacs integration, the robot controls appears to work!

1 Like

This approach works if you just need to start and stop the robot. But it means that one no longer have access to the yeedi app nor the ecovacs home app.

One thing I don’t quite understand is that my yeedi app can display the explored map while the ecovacs integration (which uses deebot-client to control the bot) seems to think that the map is not supported. This is also true for the ecovacs-deebot.js library — the library doesn’t think “yeedi vac station” supports maps.

All in all, I’ve spent enough time on this that it might be wiser to wait and get a ecovacs bot in the future :slight_smile:

1 Like

Yes, I plan also to buy a new robot. Unfortunately, my favorite was not reduced on big A Prime Day. :frowning: So, I must wait for the next big sale.
Thank you verry much thisiscam for your effort and your time.

@timlitw I added the control function to my home assistant installation. But - as this complete workaround - it looks unbelievably bad and unprofessional. But I will post it here. Maybe someone has the time to change it, to a more professional look, and post it here.
Add to your configuration.yaml:

vacuum:
  - platform: template
    vacuums:
      yeedi_vacuum:
        unique_id: yeedi
        value_template: "{{ states('sensor.value_template') }}"
        battery_level_template: "{{ states('sensor.battery')|int }}"
#        fan_speed_template: "{{ states('sensor.vacuum_fan_speed') }}"
        start:
            service: script.yeedi_start
        pause:
            service: script.yeedi_pause
#        stop:
#            service: script.vacuum_stop
        return_to_base:
            service: script.yeedi_return
#        clean_spot:
#            service: script.vacuum_clean_spot
        locate:
            service: script.yeedi_find
#        set_fan_speed:
#            service: script.vacuum_set_fan_speed
#            data:
#              speed: "{{ fan_speed }}"
#        fan_speeds:
#            - Low
#            - Medium
#            - High

I never had in mind a second device, but it should be possible.

  • Select all nodes on the page
  • Right click on of the nodes and select “Copy selected nodes”
  • Create a new tab and paste it there.
    Then you must create a second device:
    *Double click on the Yeedi box (above the big yellow box) and give it another name and another Device number
    image
    Then you must double click every blue box and update it to the new device.

Sounds like the program of a rainy weekend. :wink:

This list is not tested. So maybe there are further steps.