GithubHelp home page GithubHelp logo

linef / judo-i-soft-save-plus-to-mqtt-bridge Goto Github PK

View Code? Open in Web Editor NEW

This project forked from www-shapelabs-de/judo-i-soft-save-plus-to-mqtt-bridge

0.0 0.0 0.0 1.11 MB

A small device to write and read settings to Judo i-soft safe+ water softening system with homeassistant

License: MIT License

Python 100.00%

judo-i-soft-save-plus-to-mqtt-bridge's Introduction

Judo i-soft save+ to mqtt bridge for homeassistant

This is a small workarount to read and control the Judo isoft safe+ water softener with homeassisant (hassio). It is the version with the small character-lcd and leakage protection.

Unfortunately it is not possible to communicate directly with this version of the plant. Port 8000 and port 8124, through which the system can be read out on the Judo isoft-plus, are closed. The only way to access settings and data is via the cloud server. To do this, you must register the system for the cloud service as described in the user manual and create a user account. There is also a judo smartphone app for this, but it is of course nicer to have everything in homeassisant :-)

Notice: There are 2 versions of the system, which sound very similar.

Config:

General settings must be made in the config file.

  • First there are the access data to the myjudo.eu server.
  • Furthermore there are the MQTT broker settings. The IP of the MQTT broker must be specified here, as well as the access data to the broker.
  • General settings like location and name should also be defined. This results in the MQTT topic
  • In addition, the language can be set between German and English, as well as the MQTT debug level. As default user the value "1" or "2" is recommended.
  • At last you have to set in the script in which environment it should run, see following instructions, there are two ways to run this script:

Running on a generic Linux platform:

The requirement is of course that a Python environment is installed on the Linux:

$ sudo apt update && upgrade
$ sudo apt install python3-pip

It may still be necessary to install the paho-mqtt package:

$sudo pip install paho-mqtt

Copy/Clone the repo to your home-folder or wherever you want. Rename the config_getjudo_default.py

mv config_getjudo_default.py config_getjudo.py

Do the settings in config_getjudo.py , see @ Chapter "Config" After that you can start the script. On Linux platforms it is best to include it in the systemd-manager. To do this, create a new systemd-service:

$sudo nano /etc/systemd/system/getjudo.service
[Unit]
Description=getjudo service
After=multi-user.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/bin/python3 /home/<username>/getjudo.py
[Install]
WantedBy=multi-user.target

User rights may still need to be assigned:

sudo chmod +x /etc/systemd/system/getjudo.service && chmod +x ~/*getjudo.py

Reload the daemon:

$sudo systemctl daemon-reload

Enable the autostart, if our platform restarts e.g.:

$sudo systemctl enable getjudo.service

Start the service:

$sudo systemctl start getjudo.service

Running in AppDeamon docker directly in HomeAssistant (experimental; work in progress)

  1. MQTT should be already setup and running
  2. Install AppDaemon and Studio Code Server (Optional) through HomeAssistant Add-Ons store (https://community.home-assistant.io/t/home-assistant-community-add-on-appdaemon-4/163259)
  3. Configure AppDaemon with the following settings:
init_commands: []
python_packages:
  - paho-mqtt
system_packages:
  1. Copy all files from the python folder into the folder appdaemon/apps/main (incl. temp_getjudo.py) -> Studio Code Server . Rename config_getjudo_default.py to config_getjudo.py
  2. Modify the apps.yaml file:
main_app:
  module: main_entity
  class: main_loop
  1. Modify config_judo.py to your system
  2. Start AppDaemon and check the logs for potential errors
  3. You can easily add more scripts into main_entity.py -> main file, where all scripts are called

-> the getjudo.py can be also started from a local Win10 VSCode installation, for easier tests of the config (after adding python through extensions and paho-mqtt with pip install)

Startup

Afterwards the device should set itself up automatically with mqtt-autoconfig in homeassitant with all entities:

HASSIO autoconfig of this device

  • reading (sensors):
    • next revision
    • total water consumption
    • total softwater consumption
    • total hardwater consumption
    • salt range
    • output hardness
    • input hardness
    • water flow
    • capacity of battery
    • number of regenerations
    • daily consumption (today)
    • daily consumption (yesterday)
  • writing:
    • leakage protection (switch)
    • output hardness (input number slider)
    • salt stock (input number slider)
    • triggering regeneration (switch)
    • sleepmode (input number slider) (start sleepmode by setting hours)
    • max. extraction time, leakage protection config (input number slider)
    • max. extraction quantity, leakage protection config (input number slider)
    • max. waterflow, leakage protection config (input number slider)
    • holidaymode
  • other:
    • Error- and warning messages of plant published to notification topic (LOCATION/NAME/notify). Can be used for hassio telegram bot:
alias: Notify Judo Isoft save plus
description: "This is an example template, how to configure the notification as automation for Telegram-Bot"
trigger:
  - platform: mqtt
    topic: Keller/Judo_isoftsaveplus/notify
condition: []
action:
  - service: notify.ha_message
    data:
      message: >-
        Judo I-soft SAVE+:
        {{states("sensor.judo_isoftsaveplus_keller_meldung")}}
mode: single

!!!!Attention!!!!

Don't post/mail or publish your generated Token anywhere. It allows grand access to the plant!

This Project based of informations from:

Many thanks to this guys!!! & special thanks to Daniel who did the Appdeamon implementation and testing.

judo-i-soft-save-plus-to-mqtt-bridge's People

Contributors

danielegger1 avatar linef avatar www-shapelabs-de avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.