Petoneer Fresco Pro

That might just be on the version of it I have, I have the Ultra not the Pro version

localtuya:
  - host: !secret pet_water_foundation_ip
    device_id: !secret pet_water_foundation_device_id 
    local_key: !secret pet_water_foundation_local_key 
    friendly_name: Water Foundation
    protocol_version: "3.3"
    entities:
      - platform: light
        friendly_name: Led Light Water Foundation
        id: 102 
        brightness: 102
        brightness_lower: 0 
        brightness_upper: 10  

      - platform: sensor
        friendly_name: Water Level Water Foundation
        id: 108
        unit_of_measurement: "level" 
        
      - platform: sensor
        friendly_name: Water Quality Water Foundation
        id: 106
        unit_of_measurement: "TDS"  

      - platform: switch
        friendly_name: Power Water Foundation
        id: 101
        
      - platform: switch
        friendly_name: UV Switch Water Foundation
        id: 107
        
      - platform: sensor
        friendly_name: Water Change Left Water Foundation
        id: 103
        unit_of_measurement: "minutes" 
        
      - platform: sensor
        friendly_name: Filter Clean Left Water Foundation
        id: 104
        unit_of_measurement: "minutes" 
      - platform: sensor
        friendly_name: Pump Clean Left Water Foundation
        id: 105
        unit_of_measurement: "minutes" 
        
      - platform: sensor
        friendly_name: UV Time Water Foundation
        id: 109
        unit_of_measurement: "s" 
1 Like

Please advise.
How do I reset after replacing the filter and cleaning the pump?

Use the app. I have no other way

I used this API - GitHub - codetheweb/tuyapi: 🌧 An easy-to-use API for devices that use Tuya's cloud services. Documentation: https://codetheweb.github.io/tuyapi. to get the localKey and id, then the device connected to Wi-Fi.
So, to reset the sensors, you have to add again to the app?

Has anyone encountered the problem that after the drinker is turned off, it turns back on?

The orginal usb charger is rubbish. Change it to a 2A usb charger

You can use localtuya.set_dp service to set needed DPs to 0.
104 for filter replacement
105 for pump clean

Example automation task:

- id: '1234567890'
  alias: 'Reset cat fountain filter timer'
  description: ''
  trigger: []
  condition: []
  action:
  - service: localtuya.set_dp
    data:
      device_id: catfountaindeviceid
      dp: 104
      value: 0
  mode: single
2 Likes

Hey guys! I’ve purchased this product with the view of adding it into HA, I was unsuccessful in adding it into the Tuya app sadly no matter how I tried to add it. How did you guys manage to get the Fresco Pro added into HA?

The fresco pro is NOT a tuya device.

There are different devices and different apps.

Petoneer app uses the tuya platform, the Fresco Pro app does not.

If you have the latter, I have mine integrated via the a rest sensor and code I wrote after reverse engineering the app.

Maybe one day I’ll convert it into a custom component if there is demand.

I finally got around to creating a custom component for the Fresco Pro.

1 Like

I have the Ultra version (with the UV) does anyone have a custom component?
I tried to use the codes above with no success.

What I want to achieve is to automate the UV light

Which app do you use to control the Ultra ? The Petoneer app, or the Fresco app ?
If its Fresco, the custom component will likely work, but it wont give you control over the UV light.

Petoneer Fresco Ultra localtuya (app Tuya smart)

Screenshot

1- Power Pump - | switch |
9- Water Level - | sensor | unit_of_measurement : level |
12- led Led Light - | light | - brightness_lower: 0 - brightness_upper: 10 |
13- Water Quality - | sensor | unit_of_measurement: TDS |
14- UV Lamp - | light | - | brightness_lower: 0 - brightness_upper: 1 |
15- UV Time - | sensor | unit_of_measurement: s |
101- Water Change Left / reset - | sensor | unit_of_measurement: m |
102- Filter Clean Left / reset - | sensor | unit_of_measurement: m |
103- Pump Clean Left / reset - | sensor | unit_of_measurement: m |
104- Working time period - | not use |
105- Led time period - | not use |

Script reset

Script 1

alias: Water Time Reset
sequence:
  - service: localtuya.set_dp
    data:
      device_id: XX-device_id-XX
      dp: 101
      value: 0
mode: single

Script 2

alias: Filter Time Reset
sequence:
  - service: localtuya.set_dp
    data:
      device_id: XX-device_id-XX
      dp: 102
      value: 0
mode: single

Script 3

alias: Pump Time Reset
sequence:
  - service: localtuya.set_dp
    data:
      device_id: XX-device_id-XX
      dp: 103
      value: 0
mode: single

I have my Fountain (Fresco Pro) added directly into Smart Life. I have an alert set up when the water goes low, by using a scene in smart life, which I then use HA to activate a blue beacon (siren like on a cop car), which flashes to tell me the water is low, and an announcement in Alexa to tell me the water is low. Is there any way that I can use this integration to actually display what the water level is in HA?

This integration doesn’t work with tuya/smart life fountains.

There is a different app called fresco pro. This works with that one.

If you see the previous post, it’s possible via localtuya

Fresco Pro - Australia

Works with Tyua App

TDS
Water Level
On/Off
Indicator
Water Change Reminder
Consumables Reminder
Pump Maintenance
Working Period
LED Indicator Setting

here is the Home assistant debug output

  "data": {
    "endpoint": "https://openapi.tuyaeu.com",
    "auth_type": 0,
    "country_code": "61",
    "app_type": "tuyaSmart",
    "mqtt_connected": null,
    "disabled_by": null,
    "disabled_polling": false,
    "name": "Cats Water",
    "model": "",
    "category": "cwysj",
    "product_id": "zzldnxyt9ukmx4aw",
    "product_name": "110040-CBU-soc_\u5ba0\u7269\u996e\u6c34\u673a",
    "online": false,
    "sub": false,
    "time_zone": "+10:00",
    "active_time": "2023-11-22T09:23:33+00:00",
    "create_time": "2023-11-22T08:19:34+00:00",
    "update_time": "2023-11-22T09:23:33+00:00",
    "function": {
      "switch": {
        "type": "Boolean",
        "value": {}
      },
      "filter_reset": {
        "type": "Boolean",
        "value": {}
      },
      "pump_reset": {
        "type": "Boolean",
        "value": {}
      },
      "bright_value": {
        "type": "Integer",
        "value": {
          "unit": "",
          "min": 0,
          "max": 10,
          "scale": 0,
          "step": 1
        }
      }
    },
    "status_range": {
      "switch": {
        "type": "Boolean",
        "value": {}
      },
      "pump_time": {
        "type": "Integer",
        "value": {
          "unit": "day",
          "min": 0,
          "max": 31,
          "scale": 0,
          "step": 1
        }
      },
      "filter_reset": {
        "type": "Boolean",
        "value": {}
      },
      "pump_reset": {
        "type": "Boolean",
        "value": {}
      },
      "filter_life": {
        "type": "Integer",
        "value": {
          "unit": "day",
          "min": 0,
          "max": 90,
          "scale": 0,
          "step": 1
        }
      },
      "bright_value": {
        "type": "Integer",
        "value": {
          "unit": "",
          "min": 0,
          "max": 10,
          "scale": 0,
          "step": 1
        }
      },
      "tds_out": {
        "type": "Integer",
        "value": {
          "unit": "ppm",
          "min": 0,
          "max": 1000,
          "scale": 0,
          "step": 1
        }
      }
    },
    "status": {
      "switch": true,
      "pump_time": 0,
      "filter_reset": false,
      "pump_reset": false,
      "filter_life": 0,
      "bright_value": 10,
      "tds_out": 45
    },
    "home_assistant": {
      "name": "Cats Water",
      "name_by_user": null,
      "disabled": false,
      "disabled_by": null,
      "entities": [
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "original_icon": "mdi:filter",
          "unit_of_measurement": null,
          "state": {
            "entity_id": "switch.cats_water_filter_reset",
            "state": "unavailable",
            "attributes": {
              "icon": "mdi:filter",
              "friendly_name": "Cats Water Filter reset"
            },
            "last_changed": "2023-11-22T09:23:36.919500+00:00",
            "last_updated": "2023-11-22T09:23:36.919500+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "original_icon": "mdi:pump",
          "unit_of_measurement": null,
          "state": {
            "entity_id": "switch.cats_water_water_pump_reset",
            "state": "unavailable",
            "attributes": {
              "icon": "mdi:pump",
              "friendly_name": "Cats Water Water pump reset"
            },
            "last_changed": "2023-11-22T09:23:36.919788+00:00",
            "last_updated": "2023-11-22T09:23:36.919788+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "original_icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "switch.cats_water_power",
            "state": "unavailable",
            "attributes": {
              "friendly_name": "Cats Water Power"
            },
            "last_changed": "2023-11-22T09:23:36.920051+00:00",
            "last_updated": "2023-11-22T09:23:36.920051+00:00"
          }
        }
      ]
    }
  }
}

Please tell me exactly how you extracted the localKey and id? With MITM?

The AU Fresco Pro actually utilises the Petoneer app, not the Fresco Pro app for its connection (at least according to the latest version instructions I received this December) - thus it was always supported by Tuya because it makes use of the Petoneer implementation

By utilising the open TuyaAPI GitHub - codetheweb/tuyapi: 🌧 An easy-to-use API for devices that use Tuya's cloud services. Documentation: https://codetheweb.github.io/tuyapi.