LukasGrebe / ha-addons

Addons for Home Assistant
GNU General Public License v3.0
37 stars 42 forks source link

Setup is not clear to me #63

Closed majuss closed 6 days ago

majuss commented 10 months ago

I'am missing a quick setup guide on how to continue after the addon is installed. So basically:

  1. install addon
  2. install hardware and connect
  3. configure addon (what has to be configured what is optional?
  4. Configure ebus configuration in ha?

I did the above with a Vaillant VRC-720 but absolutely no luck.

Infernoken76 commented 10 months ago

Basically you need to provide more information on your setup...

What EBUS dongle are you using? How do you want to connect this to Home Assistant? Through WiFi?

Output of this EBUSD addon is towards MQTT... Is MQTT already installed and working in your setup? Vaillant VRC-720 config comes from where?
From here: https://github.com/john30/ebusd-configuration ???

majuss commented 10 months ago

I have an Esera Ebus USB Adapter, it's connected to the Pi which is running HA via USB, EBus is connected to a Vaillant VRC 720. Pi is connected via LAN.

This is my Ebusd addon configuration:

scanconfig: true
loglevel_all: debug
mqtttopic: ebusd
mqttint: /etc/ebusd/mqtt-hassio.cfg
mqttjson: true
device: /dev/serial/by-id/usb-ESERA-Automation_eBus_Coupler_12001_AL6FVQNR-if00-port0
http: true
loglevel_other: debug
loglevel_main: debug
loglevel_update: debug
loglevel_bus: debug
loglevel_network: debug
configpath: /config/ebusd-configuration/latest/en
TCP port 8888
HTTP port 8889

I cloned the ebusd configuration in my conf directory.

In HA configuration.yaml I have the following:

ebusd:
  host: 127.0.0.1
  circuit: "700"
  port: 8888
  monitored_conditions:
    - ActualFlowTemperatureDesired
    - MaxFlowTemperatureDesired
    - MinFlowTemperatureDesired
    - PumpStatus
    - HCSummerTemperatureLimit
    - HolidayTemperature
    #- HWTemperature
    - HWTemperatureDesired
    - HWTimerMonday
    - HWTimerTuesday
    - HWTimerWednesday
    - HWTimerThursday
    - HWTimerFriday
    - HWTimerSaturday
    - HWTimerSunday
    - WaterPressure
    - Zone1RoomZoneMapping
    - Zone1NightTemperature
    - Zone1DayTemperature
    - Zone1HolidayTemperature
    - Zone1RoomTemperature
    - Zone1ActualRoomTemperatureDesired
    - Zone1TimerMonday
    - Zone1TimerTuesday
    - Zone1TimerWednesday
    - Zone1TimerThursday
    - Zone1TimerFriday
    - Zone1TimerSaturday
    - Zone1TimerSunday
    - Zone1OperativeMode
    - ContinuosHeating
    - PowerEnergyConsumptionLastMonth
    - PowerEnergyConsumptionThisMonth
majuss commented 10 months ago

So in HA I get these two errors (ignore error 2) image And thats about it. I dialed the "threshold" knob of the ebus coupler that the data LED is blinking furiously. Should it stay on all the time or off?

LukasGrebe commented 9 months ago

Hi @majuss

a few thoughts to help you get started:

1. ebusd integration is not needed

it looks like you have the ebusd integration configured?

In HA configuration.yaml I have the following:

ebusd:

this is a different integration of ebusd into ha that is not related to this addon. this addend communicates with HomeAssistant via MQTT and thus you do not need the Integration in you config at all.

2. ebusd addon tries to load a config by default

I cloned the ebusd configuration in my conf directory.

unless you have a custom configuration, you do not need to clone the config files.

3. have you set up your USB ebus adapter?

the Esera Ebus USB Adapter as a potentiometer to adjust the electrical resistance necessary in reading values from the bus. For nor the ebusd addon does not support this process. it might be easiest to plug the adapter into a laptop and follow the steps laid out in https://github.com/john30/ebusd/wiki/Legacy-hardware#adjusting-the-potentiometer

majuss commented 9 months ago

@LukasGrebe thank you that you take the time to help me. I dialed the potentiometer in until the "signal acquired" line printed. I started ebusd on a Pi 3 with raspberry pi OS, nothing else installed with the following command:

ebusd --scanconfig=full -d /dev/serial/by-id/usb-ESERA-Automation_eBus_Coupler_12001_AL6FVQNR-if00-port0 -l /var/log/ebusd1.log --configpath=https://cfg.ebusd.eu/ -f --htmlpath=/home/pi/ebus/html --latency=10000 --receivetimeout=100000

I'am following this tutorial: https://www.verdrahtet.info/2021/05/15/ebus-logger-heizungsdaten-direkt-auslesen/ So I just want to see the HTML and some kind of useful output.

I attached the log of a 30 minute run of ebusd.

ebusd2.log

LukasGrebe commented 9 months ago

Hi, so 3. (adapter hardware setup) seems to be solved, you're seeing commands in the log.

Check 2 (loaded config for your ebus hardware):

set --log=all:notice and remove --configpath=https://cfg.ebusd.eu/ (its the default) you should then see log entries such as:

2023-10-08 09:20:47.459 [bus notice] scan 08: ;Vaillant;HMU00;0605;5103
2023-10-08 09:20:47.459 [update notice] store 08 ident: done
2023-10-08 09:20:47.459 [update notice] sent scan-read scan.08  QQ=31: Vaillant;HMU00;0605;5103
2023-10-08 09:20:47.459 [bus notice] scan 08: ;Vaillant;HMU00;0605;5103
2023-10-08 09:20:47.952 [main notice] read common config file vaillant/broadcast.csv
2023-10-08 09:20:48.071 [main notice] read common config file vaillant/scan.csv
2023-10-08 09:20:48.194 [main notice] read common config file vaillant/general.csv
2023-10-08 09:20:48.323 [main notice] read scan config file vaillant/08.hmu.csv for ID "hmu00", SW0605, HW5103
2023-10-08 09:20:48.770 [main notice] found messages: 66 (0 conditional on 0 conditions, 0 poll, 10 update)
2023-10-08 09:20:49.250 [update notice] sent scan-read scan.08 id QQ=31: 
2023-10-08 09:20:49.347 [update notice] received read hmu State QQ=71: 0;0;192;0
2023-10-08 09:20:49.538 [update notice] sent scan-read scan.08 id QQ=31: 
2023-10-08 09:20:49.778 [update notice] sent scan-read scan.08 id QQ=31: 21;20;22;0010021118;1610;005215;N5
2023-10-08 09:20:49.778 [bus notice] scan 08: ;21;20;22;0010021118;1610;005215;N5
2023-10-08 09:20:52.018 [bus notice] scan 15: ;Vaillant;70000;0614;6903
2023-10-08 09:20:52.018 [update notice] store 15 ident: done
2023-10-08 09:20:52.018 [update notice] sent scan-read scan.15  QQ=31: Vaillant;70000;0614;6903
2023-10-08 09:20:52.018 [bus notice] scan 15: ;Vaillant;70000;0614;6903
2023-10-08 09:20:52.498 [update notice] sent scan-read scan.15 id QQ=31: 
2023-10-08 09:20:52.738 [update notice] sent scan-read scan.15 id QQ=31: 
2023-10-08 09:20:52.834 [update notice] received read hmu State QQ=71: 0;0;192;0
2023-10-08 09:20:53.010 [bus notice] max. symbols per second: 110
2023-10-08 09:20:53.026 [update notice] sent scan-read scan.15 id QQ=31: 21;20;31;0020266797;0082;044275;N9
2023-10-08 09:20:53.026 [bus notice] scan 15: ;21;20;31;0020266797;0082;044275;N9
2023-10-08 09:20:53.303 [main notice] read scan config file vaillant/15.700.csv for ID "70000", SW0614, HW6903
2023-10-08 09:20:53.418 [main notice] found messages: 506 (0 conditional on 0 conditions, 0 poll, 10 update)
...

this tells you which hardware ebusd identified and which config files were loaded for this hardware.

majuss commented 9 months ago

ebusd3.log

So here is the log. Seems like no config was successfully loaded.

LukasGrebe commented 9 months ago

yes:

2023-10-09 15:02:06.989 [main error] scan config 08: ERR: read timeout
2023-10-09 15:02:07.624 [update notice] received unknown MS cmd: 1008b5110100 / 09af0218000000000000
2023-10-09 15:02:09.089 [main error] scan config 15: ERR: read timeout
2023-10-09 15:02:11.195 [main error] scan config 26: ERR: read timeout
2023-10-09 15:02:12.416 [update notice] received unknown MS cmd: 7108b5110107 / 0a003a00c0004800000000
2023-10-09 15:02:13.341 [main error] scan config 76: ERR: read timeout

See also https://github.com/john30/ebusd/wiki/4.7.-Automatic-configuration

-s, --scanconfig[=ADDR] Pick CSV config files matching initial scan ("none" or empty for no initial scan message, "full" for full scan, or a single hex address to scan, default is to send a broadcast ident message).

I just run ebusd with -scanconfig (no value/empty) and it works for me.

i noticed your log also contains b5 messages, so its vaillant devices that should be covered quite well by the community and should work with automatic configuration.

LukasGrebe commented 9 months ago

I just noticed its a timeout error and your ebusd parameters are --latency=10000 --receivetimeout=100000.

I think this is wrong. set latency to 0 (because its USB) and remove the recievetimeout parameter (defaults to 25ms)

See the documentation at https://github.com/john30/ebusd/wiki/2.-Run#device-options

--latency=MSEC
Transfer latency in ms [0 for USB, 10 for IP]

--receivetimeout=MSEC Expect a slave to answer within MSEC ms [25]

majuss commented 7 months ago

So I disconnected the ESERA Adapter and bought the ebusd V5 Adapter. Everything is connected and running directly via USB to the HA Pi. eBusd Addon config:

Screenshot 2023-11-22 at 15 18 02

eBusd Addon Log:

Screenshot 2023-11-22 at 15 17 50

MQTT stuff:

Screenshot 2023-11-22 at 15 17 40

And what now? What are the next steps to actually control the heating?

LukasGrebe commented 7 months ago

Again, in the scope of this project everything is working as expected. We've seen ebus messages in the logs and mqtt messages from ebusd in HA. That is all this project does.

If you are having problems using ebusd to "talk to your hardware" kindly refer to the ebusd project by john30 where you'll find a large community in the discussion area.

Non the less a few pointers that I'll also try to integrate into this addon:

docker exec -it `docker ps | grep ebusd | awk '{print $1}'` /bin/bash

to access the docker container running ebusd.

For further help please follow the steps above so we can diagnose

majuss commented 7 months ago

On MQTT I see "signal = false", and the ebusd adapter is also telling me "ebusd connected: no". So it seems like it's not working as expected? Problem is: when I want to debug ebusd it's not possible to write a logfile or start my own ebusd process since the container is terminated when ebusd is exited. Screenshot 2023-11-27 at 15 05 03

ebusctl scan result just yields: "done"

LukasGrebe commented 7 months ago

Ah that makes sense. I'll see if we can add a debug flag or similar to keep the container running even if ebusd has stopped.

The screenshot is a web interface of the adapter? See the document there of how to connect your adapter and have it report connected/signal acquired.

majuss commented 7 months ago

A checkmark in the configuration of the addon for "run ebusd in foreground" would be a quick fix and would fix most of the problems ;)

LukasGrebe commented 7 months ago

Right. I actually have a built that will do this but it has tail -f dev/null as the last command in the docker container to because apparently this will keep the the container going - I have no idea what I'm doing there though 😅 so I'm not sure how to make that a check mark in the settings.

majuss commented 7 months ago

https://docs.docker.com/engine/reference/commandline/run/

If you start the container with "-t" it allocates a pseudo tty and the container should be running indefinitely. Your command does the same :D it just starts a job that will never come to an end.

LukasGrebe commented 7 months ago

Can't do that because HA supervisor starts the container 😕

I'll hopefully finde some time later today.

Feel free to submit a pull request!

LukasGrebe commented 7 months ago

Just had the idea: try the terminal addon to log into the root system and then do docker run from there. You could use the flag! (Compare previous comment about terminal addon)

majuss commented 7 months ago

Yes I could but with which run command? I also need to mount the config directory and 10 million other things? :D

cociweb commented 7 months ago

@majuss You have aquired the 192.168.1.180 address too. As a workaround - Maybe you can give a try with a network communication instead of the USB in your yaml config file: network_device: ens:192.168.1.180:9999 insted of device: >- ....

LukasGrebe commented 6 days ago

closed as stale