Adding support for Seneye Aquarium & Pond Sensors (removing the need for a Seneye Web Server)

thank you so much, could I ask for step by step how to install this. is Rest something I need to enable/install ?

No just add the code

Hi guys, anyone still using the custom component? I have the seneye data coming down from the portal using node red but i’d love to go entirely local and get rid of the third party in the middle.

Edit - Got the custom component installed with a version string mod but same issue (device not found). Will dig into it tomorrow. Running on a new Pi4 with HassOS.

Do you guys actually like the Seneye sensor? The review on AMZN are highly mixed and basically says that the sensor is super inaccurate…

First a huge thank you to @notovich I would have no idea where to start unless I had your flow to work from.

I finally got this up and running, I am a bit of a newbie too all of this and it took me some time to work it out.

This dashboard displays continuously on a Google Home Hub sitting on my Fish tank, utilising a cloud_say node in another flow.

The graph cards are Lovelace Mini Graph Cards with colours set to change corresponding to the gauge values.

I have an Arlo Baby Camera providing the camera feed, this is placed against the glass.

The Node Red Flow below:
I have modified the originally provided flow as follows.

  1. Critical test your API link and ensure it works https ://api.seneye.com/v1/devices/SENEYE SWS CODE?IncludeState=1&user=USER_EMAIL&pwd=USER_PSWRD (Just paste it into a web browser as shown in an above post)

  2. mqtt sensors work but I found it easier to use the ha-sensor node that is available after adding node-red-contrib-home-assistant-websocket which requires the Node Red Companion Integration

  3. I only have a Seneye Home so I have deactivated the nodes I did not need.

Hi Guys,

I found this post and wanted to use it but it looks like it’s not working anymore?

For me already the test in the Webbrowser fails with Error “Method not supported”.

I used: https://api.seneye.com/v1/devices/ AAAAAAAA ?IncludeState=1&user=BBBBBBBBB&pwd=CCCCCC and I´m pretty sure I filled it up with the right data.

I use an SWS.

Can you please comment if it is still working for you and what could be the problem?

Thx
René

I still tried to import the Flow in Node Red and it’s working. Strange.

Just coming to this and new to Home Assistant - I couldn’t get the RESTful sensor to work for a while, but it was because it needed an additional parameter for the GET request, and the value_json seems to now return a list rather than a dictionary, so you need the first item in the list.

Mine looks like this and is in a separate packages/seneye.yaml file which I refer to in configuration.yaml:

homeassistant:
  packages: !include_dir_named packages

here’s what’s in packages/seneye.yaml:

rest:
  - resource: !secret seneye_resource                                             
    username: !secret seneye_username 
    password: !secret seneye_password
    params:
      IncludeState: 1

    scan_interval: 60
    
    sensor:
      - name: Seneye Status
        unique_id: seneye1_status
        icon: mdi:fish 
        value_template: >-
        {% if value_json[0].status.disconnected | int == 0 %}
        Connected
        {% elif value_json[0].status.disconnected | int != 0 %}
        Disconnected
        {% else %}
        Unknown
        {% endif %}
        json_attributes_path: $[0].status
        json_attributes: 
          - disconnected
          - slide_serial
          - slide_expires
          - out_of_water
          - wrong_slide
          - last_experiment

      - name: Seneye Temperature
        unique_id: seneye1_temp
        icon: mdi:water-thermometer  
        value_template: "{{ value_json[0].exps.temperature.curr  }}"
        device_class: temperature
        unit_of_measurement: "°C"
        json_attributes_path: $[0].exps.temperature
        json_attributes:  
          - trend
          - critical_in
          - avg
          - status
          - curr
          - advises

      - name: Seneye NH3
        unique_id: seneye1_nh3    
        icon: mdi:water-alert
        value_template: "{{ value_json[0].exps.nh3.curr }}"
        unit_of_measurement: "mg/l"
        json_attributes_path: $[0].exps.nh3
        json_attributes:  
          - trend
          - critical_in
          - avg
          - status
          - curr
          - advises

      - name: Seneye pH
        unique_id: seneye1_pH
        icon: mdi:water-alert
        value_template: "{{ value_json[0].exps.ph.curr }}"
        json_attributes_path: $[0].exps.ph
        json_attributes:  
          - trend
          - critical_in
          - avg
          - status
          - curr
          - advises

      - name: Seneye Light
        unique_id: seneye1_light
        icon: mdi:lightbulb-on
        value_template: "{{ value_json[0].exps.light.curr }} "
        unit_of_measurement: "%"
        json_attributes_path: $[0].exps.light
        json_attributes:
          - curr
          - max_value
          - status
          - advises

The secrets are referred to in secrets.yaml, and the seneye resource is the API endpoint of:

https://api.seneye.com/v1/devices/{{device_id}}

The unique_ids I’ve actually given the Seneye device ID instead of seneye1, but the principal still works and this allows you to edit the friendly name in the UI.

1 Like

I got my pond and fishtank sensors working with home-assistant. I couldn’t get the rest to work, but loved it to get my first experience with node-red. Thanks for this thread!

My end result?

  • picture-elements card
  • Most import data in one small card
  • 2 icons that pop up when OutOfWater or Disconnected. (see printscreen for example)
  • Icons (top right) that can be use to power-on lights, fountain…
  • Clickable data to see graphs.

Schermafdruk van 2023-08-22 13-29-00

To do:

  • Color the values (temperature, ph…) so it’s clear if it’s safe or not.
  • Change background in case of error (eg slide expired, no data, outofwater…)
  • Put the icons on the sensor, so it looks like more interactive?

Any suggestions are more than welcome!

I get the following error on HA 2023.10.2:

while scanning for the next token found character ‘%’ that cannot start any token in “/config/packages/seneye.yaml”, line 15, column 10

Can anyone tell me how to start installation. I connect the Seneye via USB.
And I know there is an explanation on github.com, but I don’t really understand it, what should I install first, with which software (terminal?), which steps, etc.
My English isn’t that good either, but it’s more about the steps I have to take first where I’m more stuck.