Blue Connect pool measurements

1 Like

Wow - that’s cool, and I have a spare one of those sensors that I recently removed from a door. Future DIY project coming up!

Question: i try to receive temperature in fahrenheit, but I receive always in celsicus

My code in IFTTT

{“temperature”:"{{TemperatureFahrenheit}}", “ph”:"{{Ph}}", “orp”:"{{Orp}}", “salinity”:" {{Salinity}}", “conductivity”:"{{Conductivity}}"}

Idea?

One more thing I did was to run the last and unused station of my lawn irrigation system to the pool skimmer (hidden under the skimmer). Then I wrote a simple automation in HA to automatically add water to the poll when the level gets too low.

Pretty cool, I don’t have to worry about it anymore.

1 Like

Hi - I am really keen on this but just wondering how it communicates to HA. Have you installed a separate BLE receiver or have an ipad/old phone nearby? Or did you purchase the wifi extender. My prefered method would be to have it on my wifi but dont really want to have to purchase extra parts to do this.

Thanks

Hi, think most/all people are using the IFTTT integration to link Blue Connect with Home Assistant. If you get Blue Connect readings on your mobile phone (without using Bluetooth), you can also use IFTTT. You don’t need a BLE receiver, but depending on SigFox coverage you might need the wifi module.

Here is another way to measure the water level, and I think it may be even better/more reliable. I used a Fibaro Smart Implant in my Pool shed, then ran a wire to the skimmer, under the patio stones, then I installed this stainless steel water level sensor in the skimmer (12$):

image

Out of the way, out of sight. No battery to replace in the sensor. No electronics close to water.

One of the reasons that I did this is that with my previous solution, the sensor (electronics) was still exposed to humidity. Not anymore.

The downside is that I can hear the level sensor clicking when I use the pool. Not a big deal…

Here is my automation code to add water when the sensor is activated for 30 minutes :

- id: 'add_water_to_pool'
  alias: SERVICES - Add water to Pool
  description: ''
  trigger:
  - entity_id: binary_sensor.pool_water_level
    for: 00:30:00
    platform: state
    to: 'on'
  condition: []
  action:
  - service: switch.turn_on
    entity_id: switch.pool_fill_zone
  - service: notify.ios_pauls_phone
    data:
      message: Pool water is LOW. I'm adding water for 10 minutes.
        {{now().strftime('%Y/%m/%d - %H:%M:%S')}}
1 Like

Thanks Mike. Works great !! :slight_smile::slight_smile:

Hi, sounds like a much better solution with MQTT than IFTTT. Sorry but I am a newbie when it comes to MQTT. I run ArchLinux and have installed docker och mosquitto. I have not configured any users or passwords with mosquitto, but I have confirmed that it is able to send packets to/from Home Assistant. Also, the CLI command:
sudo docker run -d -e MQTT__Server=192.168.1.127 ... lordmike/blueriiot2mqtt:latest
seems to be accepted. However, I cannot see any messages being sent to mosquitto from lordmike/blueriiot2mqtt. Do you have any tips on what could be wrong?

If you write on the issue tracker, I’ll have a better chance of responding.

Check the log output from the container as it runs. You’re running it daemonized, so to see the logs you’ll need to do something like docker logs <name or id>… To get the id, run docker ps. It should tell you what went wrong.

Hi again, I found some debug info. Does this give any ideas about what could be the problem?

$ sudo docker run -d -e MQTT__Server=192.168.1.127 -e BlueRiiot__Username=[MyUser] -e BlueRiiot__Password=[MyPassword] -e Logging__MinimumLevel__Default=Verbose -e Logging__MinimumLevel__Override__MBW.Client.BlueRiiotApi=Verbose lordmike/blueriiot2mqtt:latest````

$ sudo docker logs a4a5f901cd1d
[2020-06-04 19:41:59+00:00 DBG] [Microsoft.Extensions.Hosting.Internal.Host] Hosting starting
[2020-06-04 19:41:59+00:00 VRB] [MBW.BlueRiiot2MQTT.HASS.HassMqttSensor] Setting device property name to BlueRiiot2MQTT, for blueriiot2mqtt_status
[2020-06-04 19:41:59+00:00 VRB] [MBW.BlueRiiot2MQTT.HASS.HassMqttSensor] Setting device property sw_version to 0.2.2, for blueriiot2mqtt_status
[2020-06-04 19:41:59+00:00 VRB] [MBW.BlueRiiot2MQTT.HASS.HassMqttSensor] Setting attribute started to 06/04/2020 19:41:59, for blueriiot2mqtt_status
[2020-06-04 19:41:59+00:00 VRB] [MBW.BlueRiiot2MQTT.HASS.HassMqttSensor] Adding device identifier blueriiot2mqtt for blueriiot2mqtt_status
[2020-06-04 19:41:59+00:00 VRB] [MqttNet.MqttClient] Trying to connect with server '192.168.1.127:1883' (Timeout=00:00:10).
[2020-06-04 19:41:59+00:00 DBG] [MBW.BlueRiiot2MQTT.Service.BlueRiiotMqttService] Beginning update
[2020-06-04 19:42:00+00:00 INF] [Microsoft.Hosting.Lifetime] Application started. Press Ctrl+C to shut down.
[2020-06-04 19:42:00+00:00 INF] [Microsoft.Hosting.Lifetime] Hosting environment: Production
[2020-06-04 19:42:00+00:00 INF] [Microsoft.Hosting.Lifetime] Content root path: /app
[2020-06-04 19:42:00+00:00 DBG] [Microsoft.Extensions.Hosting.Internal.Host] Hosting started
[2020-06-04 19:42:02+00:00 ERR] [MqttNet.MqttClient] Error while connecting with server.
MQTTnet.Exceptions.MqttCommunicationException: Host is unreachable [::ffff:192.168.1.127]:1883
 

I managed to solve my problem. I was missing --network host when starting the docker. Think good idea to add this to the CLI section in the readme file. Again, thanks for great work!

1 Like

Great work on this reverse engineering of the Blue Rioot APIs!
Do you think there is a way to force the reading of a new set of measurements via APIs?

Yea, it should be possible, iirc I saw something in that direction. I’m not sure if there are any limitations, f.ex. when using Sigfox…

Anyone who tried the BLE local route? I’d love the idea of not having a subscription :expressionless:

I have just ordered my unit (we are in Australia) and intend to try to Bluetooth sniffing route. I will use an ESP32 initially - failing that i have an old mobile phone and will just get the unit to talk to that all the time whilst it is left turned on and plugged in.

In Australia we have very limited SIgfox coverage so our option is to purchase the WIFI extender (which essentially is a Bluetooth to WIFI gateway and let that update the Web or leave the app running on a local phone.

As @LordMike seems to have cracked their API to query the web and output to MQTT then i do not see too many reasons to put too much effort into the Bluetooth scanning side of things - but i do have ESP32’s here that are already setup with ESPHome so it will not be a lot of effort to start with.

Craig

Hey @craigcurtin, I just bit the bullet and ordered a blue connect extender. Sigfox showed good coverage here in Western Australia where I am, but I think I get only marginal coverage as the unit sits inline on the pipes which is under the eaves. I generally get 1 or 2 readings every few days. The extender was ordered from local pool shop for $55 so can’t complain. I’ll be looking at integrating it into something going forward

Good one thanks - I think i will do the same - will test out the Bluetooth on ESP32 for the hell of it - but it would mean missing out on the web stuff - which supposedly will give me all info about weather etc.

I intend to install an Enviroswim system so hopefully the combination of both of these and an automatic doser for the Acid to balance the PH should be good.

thanks for taking the time to reply

Craig

No worries mate, let me know how you go. I looked into auto dosing, but the technology hasn’t really gone very far. Would’ve thought they’d be more iot solutions out there. Did see a guy using a pi to control but it looked all too hard and butchered together. The branded versions of ‘smart’ systems are a rip and don’t really do much. The blue connect is a good compromise, ive had mine a year and pretty happy with it, but lack of consistent data is a pain. Also as mines in the pipework (fit50 pack), if the sigfox data syncs when the pump is off, it’s measuring just the ambient stagnant water in pipe which may read significantly higher than the pool itself. Ideally it would be nice to only parse readings while pump is circulating (8:00-11:00 and 15:00-1800) but the blueriiot app doesn’t seem to allow that. Thinking your pool is 30degrees only to find out it’s 20 when you jump in is a nice shock :slight_smile:

Yeah will keep you updated. I use Node-Red a lot so my plan is to have my unit floating and syncing through the WIFI gateway - not sure how often it will do the sync with the wifi. I will then use the APIs from earlier in this thread to scrape the website and dump it into MQTT. From there i will be able to monitor the temp, ORP and PH levels and then turn on the pool pump and dosing pump to bring them into line.

WIll log all of this to Influx/Grafana so hopefully i can start to get some correlations about weather etc.

I use an API for a site called Solcast that gives weather predictions for solar yield etc - based on bringing all of this together i should be able to pick optimum times and length of time to run the pump and the doser, together with the enviroswim system - fingers crossed !

Craig