Judo water treatment

Hello Henning,
it took me sometime to insert all the needed personal data and get it running again, but what I can say after a few Minutes it looks good. :slight_smile:
I’ve set your neewly added Flag : USE_WITH_SOFTWELL_P = True and here is the result.

All off the “non working” control & sensor elements are gone.

And the “Total consumption yesterday = 0L” maybe it will start counting after a few days.

But thank you so long for spending your Time. :beers:


Next morning: ( 6 h later)
grafik

Both consumption Entities work! :slight_smile: :smiley:

@www-ShapeLabs-de

Hello Henning,

I just installed the Connectivity module and followed your guide on github. Works basically but I have one issue

The “Max_Wasserdurchfluss” was not reporting. I found out that I have set it to 4000 Liters/hour and your implementation only allows 500-3000 => I believe this is why I got the Error message.

The system as well as the app allows 500 up to 5000 liters as well as “unbegrenzt”.

Is it possible to correct this?

Ah OK, it is changeable in the config_getjudo.py

Was just bad luck that I had set it to 3000 and the system reported 4000 which could not be displayed

OK, another thing. I just updated to HA 2023.8 and it seems that the MQTT naming sceme should be changed

Hy there,
grafik

i was wondering about the same error Messages yesterday evening until I found this Thread here.
MQTT Names

Hello everyone,
I have also made the update today and the same issue.
I think there is still a bug in the update. The names of the entities HA generates itself during the auto-discovery. I will now wait for the 2nd or 3rd update of this month and see if the problem solves itself.

I have 198 entities with the issue. All my ESP8266 are working with a similar autoconfig/discovery code. :smiley:

Just thanks for that script. I discovered it today while having HA running since over an year :sleeping:

Hello,

I just saw that the Energy Dashboard is not working anymore. There was an MQTT Broker Update 1-2 days ago and I think this caused the issue.

It seems that the state class and device class is now missing.

Any suggestions ?

I have the same issue :frowning: But iam using EMQX as a broker. So maybe another issue.

Edit: Restarting AppDaemon helps. Looks like there was an Server Issue and AppDaemon didnt recover the script.

Yes, that was it for me as well.

Hi there,
Judo sends out free connectivity modules for the isoft series!
The modules have Wifi and there is an API for it. But I have not yet dealt with it in more detail.

Here is some information about it:

Here you can order the module.

Many greetings

Hi I used the Judo program and it was running well, but since few days (weeks) the values of the sensors are not moving - it´s look like that it has stopped one day - because Anzahl_Regenarationen are always the same and Verbrauch_heute is also always the same value -
what has happend here? Any ideas?

This is the same module which is sent out for a while now.

I can also confirm that the API is working

http://192.168.178.76/api/rest/5100

for instance returns:

{“data”: “0700”}
which is 7 °dH

User/Passwort is just admin/connectivity

I have exchanged my old module on my SOFTwell K for a new one.
Important is at this point that the FW of the SOFTwell K is new, or it works only komlett with the software version 1.05

I find the total soft water quantity complicated because the response is “low-byte first”, e.g. “EC221000” => “001022EC”.
command is: /api/rest/2900
so more work in Homeassistant

But I would have a question:
The year “2023” (hexadecimal) is yes in the API query “07E7”.
Query would be yes for the year data: /api/rest/FE0007E7
Is there any way to calculate this in HA?
2023 = 07E7
2024 = xxxx

I wanted to ask about the MQTT names in your integration.

You wrote that you would wait a couple of updates in August until you look at the issue.

Are there any news?

Thanks!

And I have an error:

When I want to change the Water-Hardness AppDaemon reports

Eingehende Nachricht: Haus/Judo_isoftsaveplus/commandb’{“Wunschwasserhaerte”: 8}’
[‘Scriptfehler - Befehl senden fehlgeschlagen in Zeile: 169’, AttributeError(“module ‘config_getjudo’ has no attribute ‘SODIUM_CHECK’”)]

Eingehende Nachricht: Haus/Judo_isoftsaveplus/commandb’{“Wunschwasserhaerte”: 7}’
[‘Scriptfehler - Befehl senden fehlgeschlagen in Zeile: 169’, AttributeError(“module ‘config_getjudo’ has no attribute ‘SODIUM_CHECK’”)]

Can anyone help with this one?

EDIT: OK, this was my fault. Somehow I had the new version of config_getjudo but not the current version of getjudo.py …

I tried to install it today in Home Assistant (Virtual Server on my Synology NAS). I think I did all what’s written in the instruction:

  • installed AppDeamon
  • configurated AppDeamon
  • added folder “main” in “config/appdaemnon/apps”
  • copied files from pyton-folder in created main-folder
  • edited and renamed config_getjudo.py
  • edited apps.yaml

After starting AppDeamon I didn’t get any Entity / Device in my MQTT (mosquitto broker). And the AppDeamon-Protocoll shows the following:

[23:46:51] INFO: Starting AppDaemon...
s6-rc: info: service legacy-services successfully started
2023-11-11 23:46:57.899279 INFO AppDaemon: AppDaemon Version 4.4.2 starting
2023-11-11 23:46:57.899874 INFO AppDaemon: Python version is 3.11.6
2023-11-11 23:46:57.900384 INFO AppDaemon: Configuration read from: /config/appdaemon/appdaemon.yaml
2023-11-11 23:46:57.900786 INFO AppDaemon: Added log: AppDaemon
2023-11-11 23:46:57.901455 INFO AppDaemon: Added log: Error
2023-11-11 23:46:57.901984 INFO AppDaemon: Added log: Access
2023-11-11 23:46:57.902597 INFO AppDaemon: Added log: Diag
2023-11-11 23:46:58.287920 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2023-11-11 23:46:58.665723 INFO HASS: HASS Plugin Initializing
2023-11-11 23:46:58.666089 WARNING HASS: ha_url not found in HASS configuration - module not initialized
2023-11-11 23:46:58.666508 INFO HASS: HASS Plugin initialization complete
2023-11-11 23:46:58.667451 INFO AppDaemon: Initializing HTTP
2023-11-11 23:46:58.668369 INFO AppDaemon: Using 'ws' for event stream
2023-11-11 23:46:58.677723 INFO AppDaemon: Starting API
2023-11-11 23:46:58.682685 INFO AppDaemon: Starting Admin Interface
2023-11-11 23:46:58.683514 INFO AppDaemon: Starting Dashboards
2023-11-11 23:46:58.719344 INFO HASS: Connected to Home Assistant 2023.11.2
2023-11-11 23:46:58.736827 INFO AppDaemon: App 'main_app' added
2023-11-11 23:46:58.742810 INFO AppDaemon: App 'hello_world' added
2023-11-11 23:46:58.744461 INFO AppDaemon: Found 2 active apps
2023-11-11 23:46:58.744963 INFO AppDaemon: Found 0 inactive apps
2023-11-11 23:46:58.745395 INFO AppDaemon: Found 0 global libraries
2023-11-11 23:46:58.745831 INFO AppDaemon: Starting Apps with 2 workers and 2 pins
2023-11-11 23:46:58.750066 INFO AppDaemon: Running on port 5050
2023-11-11 23:46:58.833697 INFO HASS: Evaluating startup conditions
2023-11-11 23:46:58.855959 INFO HASS: Startup condition met: hass state=RUNNING
2023-11-11 23:46:58.856650 INFO HASS: All startup conditions met
2023-11-11 23:46:58.888780 INFO AppDaemon: Got initial state from namespace default
2023-11-11 23:47:00.759545 INFO AppDaemon: Scheduler running in realtime
2023-11-11 23:47:00.769486 INFO AppDaemon: Adding /config/appdaemon/apps to module import path
2023-11-11 23:47:00.770514 INFO AppDaemon: Adding /config/appdaemon/apps/main to module import path
2023-11-11 23:47:00.786884 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/hello.py
2023-11-11 23:47:00.859734 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/main/config_getjudo.py - ignoring
2023-11-11 23:47:00.862291 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/main/messages_getjudo.py - ignoring
2023-11-11 23:47:00.864668 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/main/getjudo.py - ignoring
2023-11-11 23:47:00.867415 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/main/main_entity.py
2023-11-11 23:47:00.871964 INFO AppDaemon: Loading app main_app using class main_loop from module main_entity
2023-11-11 23:47:00.877428 INFO AppDaemon: Loading app hello_world using class HelloWorld from module hello
2023-11-11 23:47:00.881830 INFO AppDaemon: Calling initialize() for main_app
Lade gespeicherte VariablenVerbindung fehlgeschlagen, Fehlercode 5

----------------------
Letzte Fehler-ID: 0
Wasserverbrauch gestern: 0
Offset für heutigen Wasserverbrauch: 0
Letzte Ausführung des Scripts: 0
da: None
dt: None
serial: xxxxxx
token: xxxxxxxxxxxxxxx
avergage regeneration interval: 0h
counter for avg-calc: 1
last regenerations count: 0
timestamp of last regeneration: 0s
Softwater prop. since Regeneration: 0L
Hardwater prop. since Regeneration: 0L
Initialisierung erfolgreich!
2023-11-11 23:47:01.050787 INFO AppDaemon: Calling initialize() for hello_world
2023-11-11 23:47:01.206977 INFO hello_world: Hello from AppDaemon
2023-11-11 23:47:01.209554 INFO hello_world: You are now ready to run Apps!
2023-11-11 23:47:01.213767 INFO AppDaemon: App initialization complete
Verbindung fehlgeschlagen, Fehlercode 5
Verbindung fehlgeschlagen, Fehlercode 5
Verbindung fehlgeschlagen, Fehlercode 5
Verbindung fehlgeschlagen, Fehlercode 5
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
Verbindung fehlgeschlagen, Fehlercode 5
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
Verbindung fehlgeschlagen, Fehlercode 5
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
Verbindung fehlgeschlagen, Fehlercode 5
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
['Scriptfehler - Fehler beim Holen und Auswerten der Gerätedaten in Zeile: 409', TypeError('list indices must be integers or slices, not str')]
Verbindung fehlgeschlagen, Fehlercode 5

Can anyone help me with that?
@www-ShapeLabs-de can you give me a hint what the fault could be?

Since AppDaemon Update 0.15.x kind of breaks stuff and I just took 2 hours to look why it did not work here is my solution. Someone with more knowledge could probably do it a lot quicker :slight_smile:

Since the update the python code files moved to

\addon_configs\a0d7b954_appdaemon\apps\main

So, in

\addon_configs\a0d7b954_appdaemon\apps\apps.yaml

You have to reinsert the code

main_app:
  module: main_entity
  class: main_loop

(Don’t know why but it got deleted by the update in my case)

In

\addon_configs\a0d7b954_appdaemon\appdaemon.yaml

You have to change

secrets: /config/secrets.yaml

to

secrets: /homeassistant/secrets.yaml

Finally (and this one took me 2 hours) you have to change the path to

if RUN_IN_APPDEAMON == True:
    TEMP_FILE = "/config/apps/main/temp_getjudo.pkl"

in

\addon_configs\a0d7b954_appdaemon\apps\main\config_getjudo.py

This is a mounted path by the docker container of AppDeamon, that´s why you cannot use the “real” path.

2 Likes

After I also managed to kill my working Judo water treatment integration because of updating Appdaemo to 0.15.2 i was reading and trying for 5 hours but I can’t get it back to work.
Appdaemon is starting with the follwing .log File, but there are no datas collected from my Softwell P and also there’s no Data coming into MQTT.

Here’s the log File.

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting

-----------------------------------------------------------
 Add-on: AppDaemon
 Python Apps and Dashboard using AppDaemon 4.x for Home Assistant
-----------------------------------------------------------
 Add-on version: 0.15.2
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.1  (amd64 / generic-x86-64)
 Home Assistant Core: 2023.11.2
 Home Assistant Supervisor: 2023.11.3
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-appdaemon: starting
Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Requirement already satisfied: paho-mqtt in /usr/lib/python3.11/site-packages (1.6.1)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
s6-rc: info: service init-appdaemon successfully started
s6-rc: info: service appdaemon: starting
s6-rc: info: service appdaemon successfully started
s6-rc: info: service legacy-services: starting
[00:55:04] INFO: Starting AppDaemon...
s6-rc: info: service legacy-services successfully started
2023-11-16 00:55:05.733724 INFO AppDaemon: AppDaemon Version 4.4.2 starting
2023-11-16 00:55:05.733881 INFO AppDaemon: Python version is 3.11.6
2023-11-16 00:55:05.734015 INFO AppDaemon: Configuration read from: /config/appdaemon.yaml
2023-11-16 00:55:05.734114 INFO AppDaemon: Added log: AppDaemon
2023-11-16 00:55:05.734180 INFO AppDaemon: Added log: Error
2023-11-16 00:55:05.734260 INFO AppDaemon: Added log: Access
2023-11-16 00:55:05.734353 INFO AppDaemon: Added log: Diag
2023-11-16 00:55:05.831841 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2023-11-16 00:55:05.920598 INFO HASS: HASS Plugin Initializing
2023-11-16 00:55:05.920698 WARNING HASS: ha_url not found in HASS configuration - module not initialized
2023-11-16 00:55:05.920834 INFO HASS: HASS Plugin initialization complete
2023-11-16 00:55:05.921078 INFO AppDaemon: Initializing HTTP
2023-11-16 00:55:05.921324 INFO AppDaemon: Using 'ws' for event stream
2023-11-16 00:55:05.922808 INFO AppDaemon: Starting API
2023-11-16 00:55:05.923842 INFO AppDaemon: Starting Admin Interface
2023-11-16 00:55:05.924024 INFO AppDaemon: Starting Dashboards
2023-11-16 00:55:05.930575 INFO HASS: Connected to Home Assistant 2023.11.2
2023-11-16 00:55:05.935428 INFO AppDaemon: App 'main_app' added
2023-11-16 00:55:05.936322 INFO AppDaemon: App 'hello_world' added
2023-11-16 00:55:05.936746 INFO AppDaemon: Found 2 active apps
2023-11-16 00:55:05.936904 INFO AppDaemon: Found 0 inactive apps
2023-11-16 00:55:05.937029 INFO AppDaemon: Found 0 global libraries
2023-11-16 00:55:05.937183 INFO AppDaemon: Starting Apps with 2 workers and 2 pins
2023-11-16 00:55:05.937678 INFO AppDaemon: Running on port 5050
2023-11-16 00:55:05.953583 INFO HASS: Evaluating startup conditions
2023-11-16 00:55:05.957758 INFO HASS: Startup condition met: hass state=RUNNING
2023-11-16 00:55:05.957930 INFO HASS: All startup conditions met
2023-11-16 00:55:05.976180 INFO AppDaemon: Got initial state from namespace default
2023-11-16 00:55:07.941109 INFO AppDaemon: Scheduler running in realtime
2023-11-16 00:55:07.944563 INFO AppDaemon: Adding /homeassistant/appdaemon/apps/ to module import path
2023-11-16 00:55:07.945107 INFO AppDaemon: Adding /homeassistant/appdaemon/apps/main to module import path
2023-11-16 00:55:07.950612 WARNING AppDaemon: No app description found for: /homeassistant/appdaemon/apps/main/messages_getjudo.py - ignoring
2023-11-16 00:55:07.951788 WARNING AppDaemon: No app description found for: /homeassistant/appdaemon/apps/main/config_getjudo.py - ignoring
2023-11-16 00:55:07.952882 INFO AppDaemon: Loading App Module: /homeassistant/appdaemon/apps/main/main_entity.py
2023-11-16 00:55:07.972989 WARNING AppDaemon: No app description found for: /homeassistant/appdaemon/apps/main/getjudo.py - ignoring
2023-11-16 00:55:07.973457 INFO AppDaemon: Loading app main_app using class main_loop from module main_entity
2023-11-16 00:55:07.974329 INFO AppDaemon: Calling initialize() for main_app
Lade gespeicherte Variablen
----------------------
Letzte Fehler-ID: 321363
Wasserverbrauch gestern: 0
Offset für heutigen Wasserverbrauch: 221712
Letzte Ausführung des Scripts: 15
da: 0x1
dt: 0x34
serial: 09532167a1ac
token: 0815x2
avergage regeneration interval: 0h
counter for avg-calc: 1
last regenerations count: 952
timestamp of last regeneration: 0s
Initialisierung erfolgreich!
2023-11-16 00:55:08.012375 INFO AppDaemon: App initialization complete

Trying Hennings Link ( 2. April) + my token is showing me the actual data from the Softwell.

Any ideas for me??

@gohakn

I can only say that my log looks the same but after “INFO AppDaemon: App initialization complete” it continues with

2023-11-15 18:54:30.353526 INFO AppDaemon: App initialization complete
Verbunden mit MQTT Broker...
Topics wurden abonniert...
Autoconfigs wurden gesendet...

So maybe you should check your MQTT settings again if everything is correct there?

If you tinkered with the files too much you could try replacing them with the originals from Github, make the 0.15.2 “adjustments”, insert your login data and try if it works then.