GithubHelp home page GithubHelp logo

lavermanjj / home-assistant-solarfocus Goto Github PK

View Code? Open in Web Editor NEW
13.0 13.0 3.0 2.06 MB

🏡 Solarfocus eco manager touch integration for Home Assistant

License: Apache License 2.0

Python 99.71% Makefile 0.29%
hacs hacs-default hacs-integration home-assistant home-assistant-component home-assistant-custom home-assistant-sensor solarfocus

home-assistant-solarfocus's People

Contributors

laverman avatar lavermanjj avatar lein1013 avatar tinerop avatar zezoo123 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

home-assistant-solarfocus's Issues

[Feature Request]: Add API version info for Home Assistant

Would be great to see the API Version (version of the "eco manager touch", in Home Assistant.
I have seen the "api_version": "Solarfocus API Version" in your code but don't know how to modify it so that it shows up in Home Assistant similar to a sensor.

The integration of my NUKI doorlock for instance solved this as a "sensor.nuki_bridge_firmware_version" with the "type: Diagnostic", in case that helps.

In the screenshot of the integration i see the current FW version, but I would like to display it in the GUI (lovelace) in Home Assistant.

image

Ecotop Light 23.010 Biomas boiler state not enumerated

Describe the bug
Missing enumeration of States "Solarfocus Boiler boiler status" - shows "0" instead of "Bereitschaft"

Expected behavior
Numbers shall be enumerated

Desktop (please complete the following information):

  • Home assistant version: [e.g. 2023.4.1]: 2024.2.1
  • Solarfocus custom component version [e.g. 3.0.0]: 4.0.4
  • Solarfocus firmware version [e.g. 23.020]: 23.010

Additional context
Root cause is that for EcoTop Light at least for this verison the enum starts at 0

adding this to strings.json (de.json, en.json) fixes this

      "bb_status" : {
        "state" : {
          "0": "Bereitschaft",
          "1": "Zündphase",
...

fom the ecomanger-touch_Modbus pdf
image

[Feature Request]: Rename the two biomass-boiler entities that are working with therminator-only.

the entities "biomass boiler boiler operating mode" and "biomass boiler log wood" should be renamed to indicate they work only with "thermonator biomass boiler" (similar to the octoplus entities) - otherwise users wonder why they don't work out of the box.

Suggestion 1: Rename to "biomass boiler therminator boiler operating mode" and "biomass boiler therminator log wood".
Suggestion 2: Let user choose the type of biomass-boiler at the installation of the integration and show only items suitable for his biomass boiler...

Add support for eco top light

The door contact binary_sensor is inverted for the eco top light.

SolarfocusBinarySensorEntityDescription(
         key="door_contact",
         device_class=BinarySensorDeviceClass.DOOR,
         on_state="0", # might be one for terminator, but is 0 for eco top light 

Are there further differences?

Ecotop Light - door contact state - maybe still not fixed with 4.0.2?

Ecotop Light, received a new FW Update recently. FW 23.091
In the Home Assistant integration i choose 23.020. HA is running latest version.

In HA the "door contact" shows always "OPEN".
The boiler is running and i guess the door should show "closed" because i close every door ... makes me think... what exactly does "door contact" mean? What door exactly? Am I missing something?

Maybe someone can help clarifying this...

Simulate PV surplus

Hi

I now own a PV with Solaredge WR. And I can set the heat pump so that from a PV surplus feed-in of 2000W, the flow temperatures of the heating circuits and the buffer tank are raised by an adjustable value. This works via Modbus. Is it possible to create an entity to simulate a PV surplus with an automation? Then you could get the WP at the 3 cheapest hours of electricity cheaper energy in the WP to optimize the electricity costs a bit.

image image [vampair_PV-Eigenverbrauchsoptimierung_Anleitung.pdf](https://github.com/LavermanJJ/home-assistant-solarfocus/files/12837373/vampair_PV-Eigenverbrauchsoptimierung_Anleitung.pdf)

[Bug]: "heating_circuit_1_target_supply_temperature" slider issue.

Issue: currently sensor shows after Installation "0 C" however when moving the slider to 10C and afterwards to the very left it says 7C. The sensor Shows 7C and cant be moved back to 0C.

This seems odd...
however i dont even unverstand yet why it starts with 7, i guess it's what Modbus says but i dont understand the idea behind it.

  • Home assistant version: [2023.4.4]
  • Home assistant Supervisor: [2023.04.0]
  • Home Assistant Operating System: [9.5]
  • Solarfocus custom component version: [ 2.2.2 ]
  • Solarfocus firmware version: [22.050]
  • Solarfocus biomass boiler: [Ecotop light]
  • Solarfocus boiler=buffer: [Hygiene Kombispecher HYKO]

[Feature Request]: Add sensor "biomass boiler message" corresponding to the sensor "biomass boiler message number"

Currently:
we have a sensor "biomass boiler message number" that displays a plain number.

New Feature Proposal:
Would be great to have an additional sensor that displays the corresponding error message. Modbus doesn't provide this by default but it references the user manual of the biomass boiler.

Here is a list of the error message to each number for the ecotop light and ecotop zero.

1 Interner Speicher ist ungültig
3 Behältersensor möglicherweise verstaubt
5 Abgastemperatur zu gering
6 Abgasfühler unterbrochen
7 Abgasfühler falscher Messwert
9 Abgasfühler Kurzschluss
10 Werkseinstellungen wurden geladen
11 Fehler Drehzahlrückführung
12 Drehzahlrückführungs-Test
13 Drehzahlrückführung nicht OK
14 Maximale Saug-Laufzeit erreicht
16 Fehler Lambdasondenmessung
17 Fehler Kesselfühler
18 Kesseltemperatur ist zu hoch
19 Austragungsschnecke ist blockiert
20 Erster Zündversuch war erfolglos
23 Kommunikation zu Modul unterbrochen
24 Sicherheitskette hat ausgelöst
25 Stromausfall ist aufgetreten
26 Netzsicherung F3 defekt
27 Triacsicherung F6 defekt
30 Blockade Einschub
31 Wärmetauscher ist blockiert
32 Wärmetauscher ist blockiert
33 Kein Stromfluss Einschubmotor
35 CAN-Bus Unterbrechung
36 Sicherung am Frischwassermodul defekt
37 Sicherung am Elektronikmodul (Solarmodul) defekt
38 Inbetriebnahme-Einstellungen wurdengeladen
40 Zündstörung Pellets/ Pelletsmangel?
41 Sicherung F1 oder F8 defekt
42 Pelletsmangel im Lagerraum
43 Fehler Saugsonden-Umschalteinheit
44 Kommunikationsfehler Kaskade
46 Die Aschebox ist voll und muss entleert werden
47 Wartung des Heizkessels empfohlen!
50 Kesseltüre ist offen!
51 Batterie im Bedienteil (Display) ist leer
52 Begrenzungsthermostat ist offen
67 Raumluftklappe öffnet nicht
68 Raumluftklappe schließt nicht
69 Fehler bei der Kommunikation mit dem Raumluftmodul
71 Kein Stromfluss Wärmetauscher
72 Hinweis: Kein Stromfluss Wärmetauscher
73 Fehler Referenzschalter Umschalteinheit
75 Raumfühler Zuweisung
76 Sicherheitstemperaturbegrenzer ausgelöst
77 Sicherung F12 defekt
78 Blockade Ascheaustragung
79 Kein Stromfluss Ascheaustragung
80 Differenzdruck - Kesselstopp
81 Elektrostatischer Staubabscheider offline
82 Differenzdruck - Saugturbine
83 Differenzdruck - Einschub
84 Warnung elektrostatischer Staubabscheider
85 Hochspannungskabel Staubabscheider
86 Notbetrieb Differenzdrucksensor
87 Differenzdruck - Kessel Sofortstopp

By default it shows number 0, we could translate this as "Keine Nachrichten derzeit".

Source: Handbook page 41:
https://www.solarfocus.com/de/partnerportal/pdf/open/UGFydG5lcmJlcmVpY2gtREUvQmlvbWFzc2VoZWl6dW5nL2Vjb3RvcC16ZXJvLWxpZ2h0L0FubGVpdHVuZ2VuX1JlcG9ydF9lY290b3AtemwvZWNvdG9wLXplcm8tbGlnaHRfQmV0cmllYnNhbmxlaXR1bmcucGRm/297192/0/Lng_YSxpM245S30zMTc4W2Y8cVRRXWlJVWRQJDsv?serialNumber=67415

Send a notification with biomass boiler status

Hi,
I would like to create an automation that send a notification when the biomass bolier state changes.
Unfortunately, when I configure the notification message, I can have only the numeric status information, not the translation.
In the message I've used:
{{ states('sensor.solarfocus_biomass_boiler_status') }} but I can get only a number.
Could you help me to find a solution?
Thanks

Not possible to name entities

Installed the new version, thank you.

But: Not possible to change the name. Just get the circle thingy in the right bottom corner. Restarted system, reinstalled extension, etc. No change.

IdAW – Home Assistant 2022-11-03 19-00-52

CI Pipeline error on '-1' in translations

Describe the bug
hassfest github workflow has some checks on dictionary keys

To Reproduce
see https://github.com/LavermanJJ/home-assistant-solarfocus/actions/runs/7600697204/job/20699227965?pr=92

Integration solarfocus - /github/workspace/custom_components/solarfocus:
Error: R] [TRANSLATIONS] Invalid strings.json: Invalid translation key '-1', need to be [a-z0-9-_]+ and cannot start or end with a hyphen or underscore. for dictionary value @ data['entity']['sensor']['bo_circulation']['state']. Got {'-1': 'Locked', '0': 'Off', '1': 'On'}
Invalid translation key '-1', need to be [a-z0-9-_]+ and cannot start or end with a hyphen or underscore. for dictionary value @ data['entity']['sensor']['bo_single_charge']['state']. Got {'-1': 'Locked', '0': 'Off', '1': 'On'}
Error: R] [TRANSLATIONS] Invalid translations/en.json: Invalid translation key '-1', need to be [a-z0-9-_]+ and cannot start or end with a hyphen or underscore. for dictionary value @ data['entity']['sensor']['bo_circulation']['state']. Got {'-1': 'Locked', '0': 'Off', '1': 'On'}
Invalid translation key '-1', need to be [a-z0-9-_]+ and cannot start or end with a hyphen or underscore. for dictionary value @ data['entity']['sensor']['bo_single_charge']['state']. Got {'-1': 'Locked', '0': 'Off', '1': 'On'}

Error: Process completed with exit code 1.

Expected behavior
CI should give green ligth to merge.

Any way to exclude this files from the checks?

PelletTop working with one exception

Hello,
I'm using your great HA integration with a PelletTop 15kW biomass boiler and it is working!
I can see all expected sensor values:
grafik

To Reproduce
But I have an issue in the log file.
The home assistant log file (/config/home-assistant.log) is showing the following error every 30 seconds:

2024-01-02 16:03:32.383 ERROR (SyncWorker_5) [root] Modbus read error at address=33412: Exception Response(131, 3, IllegalAddress)
2024-01-02 16:03:32.383 ERROR (SyncWorker_5) [root] Failed to read holding registers of BiomassBoiler

I assume that the address 33412 is not implemented for this PelletTop or maybe only for my configuration.
Can you provide a patch that will skip the reading of this address. I have tried to find it myself but failed -:(

Desktop (please complete the following information):

  • Home assistant version: 2023.12.4
  • Solarfocus custom component version ???
  • Solarfocus firmware version 23.060

Additional context
This is how my configuration looks like
grafik

Thank you for your support!

Unknown error when selecting EcoTop

Describe the bug
after selecting EcoTop boiler an unknown error occurs and config flow stops.

Logs show

TypeError: 'NoneType' object is not subscriptable

To Reproduce
Select EcoTop

Expected behavior
Error should be handled

Desktop (please complete the following information):

  • Home assistant version: 2023.9.2 and prevuious
  • Solarfocus custom component version 4.0.1
  • Solarfocus firmware version 23.020

Log errors:

2023-09-17 08:01:41.330 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 63, in with_admin
return await func(self, request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 177, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 298, in async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 394, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/solarfocus/config_flow.py", line 216, in async_step_user
return await self.async_step_component()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/solarfocus/config_flow.py", line 255, in async_step_component
CONF_BOILER: user_input[CONF_BOILER],

TypeError: 'NoneType' object is not subscriptable

Add Solar component

Hallo,

kannst du bitte noch die Solarsensoren rein machen?
Adresse 2100-2113 in der Modbus TCP - Registerdaten pdf.

Grüße Sascha

Add holding registers as sensors and provide services

As a first iteration, the holding registers shall be provided as Sensors, in addition to Services to manipulate the values.

  • Add Sensors for Holding registers
  • Add Services for manipulation (eg set target temperature)

v2.2.2 does not update the readings. Question

I upgraded to V2.2.2 yesterday. But in this version, the measured values are no longer updated. If I switch back to V2.2.0 they will be updated again. Do I have to slightly delete and reinstall the integration to get it working. Do I lose the recordings in Grafana.

Vielen Dank!

Seit 2 Jahren eier ich mit einer riesen YAML Config rum um mir über Modbus alle Werte zu ziehen und die dann furchtbar umständlich in verständliche Meldungen zu transformieren. Und nachdem ich nun wieder etliche Stunden damit verbracht habe zu versuchen über Modbus hinzubekommen die Heizkreise anzusteuern finde ich das hier.

--Weltklasse. Ich nutze übrigens eine Octoplus und das funktioniert hiermit auch :-)

Vielen Vielen Dank!

Terminator integration and pull-timeout / requests problem

Hi,

i've watch the new version and it seems to be stable. all readings (i need so far) are ok.
But:
during setup i set an interval of 60 seconds (1minute-interval), to reduce the pull-requests.

On the kessel, i see multiple requets in 30secs with 8-readings each time (at least 2 requests with 30sec gap). So within a hour i got mor than 2000 readings counted.
Today my integration / modbus tcp on therminator stopped working again with a count of over 8mio reads since last restart.

is there an issue with the timeout from settings being ignored?
can we reduce the readings-count by calling the values in one block or something like this?

Greetings!

Support Software 22.100

Possible to integrate support of Solarfocus Software V22.100?

And define heating circuit supply temp. in relation to outside temperature, i.e. heating curve?

Boiler option not working

Had a previous installation but the upgrade to v3.0.0-beta2 failed.

So I tried a fresh installation of v3.0.0-beta2 but that is only working if I choose "heatpump vampair".
If I try to use the option "Biomass boiler therminator II touch" I get the error: "Unexpected error"
(yes, I tried the correct IP and not just the hostname)

image

[Bug]: Sensor "Biomass boiler cleaning" incorrectly shows value of "-1%"

Sensor "Biomass boiler cleaning" incorrectly shows value of "-1%"
It should show something in between 0% – 100% (bei spätestens 100% ist Kesselreinigung empfohlen) according to the Modbus Manual.

Similar to the "biomas boiler ash container".
image

  • Home assistant version: [2023.4.4]
  • Home assistant Supervisor: [2023.04.0]
  • Home Assistant Operating System: [9.5]
  • Solarfocus custom component version: [ 2.2.2 ]
  • Solarfocus firmware version: [22.050]
  • Solarfocus biomass boiler: [Ecotop light]
  • Solarfocus boiler=buffer: [Hygiene Kombispecher HYKO]

Enumeration broken for Biomass boiler status after Update to v4

Describe the bug
I've got a New eco Manager Software Update during last checkup. 23.050
So i checked my hacs and Updated the integration, too.
I select API Version 23.030
I had to change some entities in my homeassistant cuz of New naming...
And during check i See the Biomass boiler status is now numeric again. IT was text last time i checked (i think)

Expected behavior
Show Text instead of numeric values for this entity

Screenshots
If applicable, add screenshots to help explain your problem.
Screenshot_2023-09-19-17-06-46-675_io homeassistant companion android

Desktop (please complete the following information):

  • Home assistant version: [e.g. 2023.4.1]: 203.8.1
  • Solarfocus custom component version [e.g. 3.0.0]:4.0.2
  • Solarfocus firmware version [e.g. 23.020]:23.050

Thx for help and keeping this nice Integration alive.

[Feature Request]: Missing buffer x35 temperature

I noticed that the home assistant integration is missing the x35 temperature in buffers.
It is provided by pysolarfocus so adding it seems easy (and works like a charm).

So I am wondering whether this is just an oversight or by design?
Maybe because it might not be that easy to determine whether x35 is available when initializing the sensor entries?

[Feature Request]: Add Enumertion for "biomass boiler status line" (all except therminator)

I noticed that all other biomass-boilers (Kessel) except therminator need different enumeration to how the status line.
Modbus TCP Address 2401 numbers 0-59.

Currently this value for "biomass boiler status line" is only working if you have a "therminator".

Possible solution:
Is it enough to add the numbers 0-59 to the existing numbers (200-344), because then i can add this and create a pull request...

or...an idea is when you choose at the setup between "therminator" and "all other biomass boilers" you could distinguish between the two different enumerations? but that's maybe not necessary...

referring to this:
image

and here is the modbus entry:
image

integration not working with HA 2024.01

Describe the bug
Integration fails to load after upgrading to 2024.01

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • Home assistant version: [e.g. 2023.4.1]:
  • Solarfocus custom component version [e.g. 3.0.0]:
  • Solarfocus firmware version [e.g. 23.020]:

Additional context
TODO Investigate ...

Setting the temperature of the buffer tank

Is there a way to adjust the temperatures of the buffer tank.
Just like the temperature of the boiler with a slider. So that I can increase the temperature below when the electricity price is cheapest for 3 hours, or PV overproduction, in order to get the excess energy into the heating system.
I have a setting under PV.

It would be great if I could set the value with a automation.

image

Add English translations for pellets boiler

Translate the following states:

"state" : {
"200": "Standby",
"201": "Zündphase",
"202": "Pelletsbetrieb ",
"203": "Kesselsolltemperatur erreicht, Nachlauf ",
"204": "Nachlauf",
"205": "Keine Anforderung, Nachlauf",
"206": "Brenner ausgeschaltet",
"207": "Pelletsvorratsbehälter ist leer, Nachlauf ",
"208": "Wärmetauscherreinigung ist aktiv ",
"209": "Wärmetauscherreinigung benötigt, Nachlauf ",
"210": "Stromausfall, Nachlauf",
"212": "Einschubtemperatur zu hoch, Nachlauf",
"216": "Brenner ausgeschaltet, Nachlauf",
"217": "Sicherheitskette ist offen",
"218": "Sicherheitskette ist offen, Nachlauf ",
"219": "Restsauerstoffgehalt zu hoch oder zu niedrig, Nachlauf ",
"220": "Abgastemperaturabfall, Nachlauf ",
"221": "Abgastemperatur ist noch größer als {RGT_Start}, Bereitschaft",
"222": "Abgasfühler ist defekt, Bereitschaft ",
"223": "Einschubtemperatur zu hoch, Bereitschaft",
"224": "Lambdasonde ist defekt, Nachlauf ",
"225": "Kesseltemperatur ist ausreichend, Bereitschaft",
"226": "",
"227": "Kesselfühler ist defekt, Bereitschaft",
"228": "Kesselfühler ist defekt, Nachlauf",
"229": "Lambdasonde wird beheizt ",
"230": "Wärmetauscherreinigung wartet auf eine Freigabe, Zeit ",
"231": "Wärmetauscherreinigung wartet auf eine Freigabe, AGT",
"232": "Wärmetauscherreinigung wartet auf eine Freigabe, KT ",
"233": "Saugaustragung wartet auf eine Freigabe ",
"234": "Pelletsvorratsbehälter wird befüllt ",
"235": "Einschubfühlerkurzschluss, Bereitschaft ",
"236": "Rückbrandschieber öffnet",
"237": "Kessel wird befüllt",
"238": "Lambdasonde wird kalibriert",
"239": "Kaminkehrer Messfreigabe",
"240": "Alarm aktiv!",
"241": "Tür schließen! Überwachung AGT und Restsauerstoff inaktiv",
"242": "Tür war zu lange offen, Nachlauf",
"243": "Keine Brennerfreigabe, Zeit",
"244": "Keine Brennerzeitfreigabe, Nachlauf ",
"245": "Lambdasonde muss kalibriert werden, Nachlauf ",
"246": "Kesselreinigung",
"300": "Brenner ausgeschaltet, Vorratsbehälter wird befüllt",
"301": "Abbrand Stückholz ist beendet",
"302": "_s warten bis Einschub entleert ist!",
"303": "Stückholz manuell anzünden",
"304": "Automatische Zündung Stückholz",
"305": "Stückholz",
"306": "Stückholz Teillast, Tür nicht öffnen!",
"307": "Stückholz, anschließend Pellets",
"308": "Verbrennung Stückholz gestoppt, Tür nicht öffnen! ",
"309": "Tür ist offen!",
"310": "Startphase",
"311": "Hackgutbetrieb",
"312": "Blockade Einschub erkannt",
"313": "Kein Stromfluss Einschubmotor",
"314": "Blockade Raumaustragung erkannt",
"315": "Kein Stromfluss Austragungsmotor",
"316": "Stückholz Automatik wartet auf nächste Zeitfreigabe ",
"317": "Alarm! Alle Ausgaenge ausgeschaltet!",
"318": "Tür ist offen! Ein Kesselstart ist nicht möglich!",
"319": "Tür ist offen! Tür in spätestens _s schließen! ",
"320": "Störung, Nachlauf",
"321": "Positionsfahrt Saugsondenumschalteinheit ",
"322": "Ausgangtest Kessel",
"323": "Freisaugen Saugsonde aktiv",
"324": "Rüttler manuell",
"325": "Rüttler ist aktiv",
"326": "Drehrichtungsänderung",
"327": "Kein Stromfluss M1 erkannt",
"328": "Kein Stromfluss M1 erkannt",
"329": "Blockade Einschub erkannt",
"330": "Kein Stromfluss Einschub erkannt",
"331": "Kein Stromfluss M2 erkannt",
"332": "Kein Stromfluss M2 erkannt",
"333": "Fremdkessel Aktiv, Nachlauf",
"334": "Fremdkessel Aktiv, Bereitschaft",
"335": "Login: Administrator",
"336": "Login: Servicepersonal",
"337": "Login: Fachpersonal",
"338": "Kaminkehrermessung beendet, Nachlauf",
"339": "Warten bis die Raumluftklappe offen ist",
"340": "Keine Brennerfreigabe, Außentemperatur + Prognose ",
"341": "Keine Brennerfreigabe, Außentemperatur ",
"342": "Puffertemperatur ausreichend, Bereitschaft ",
"343": "Differenzdruckschalter hat ausgelöst, Nachlauf ",
"344": "WT-Spülung Brennwertmodul aktiv"

Fix broken config-migration for 3.0.0-beta -> CONF_FRESH_WATER_MODULE not defined

CONF_FRESH_WATER_MODULE not imported in __init__.py

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 629, in async_migrate
    result = await component.async_migrate_entry(hass, self)
  File "/config/custom_components/solarfocus/__init__.py", line 145, in async_migrate_entry
    new_options[CONF_FRESH_WATER_MODULE] = 0
NameError: name 'CONF_FRESH_WATER_MODULE' is not defined

Add contributor workflow documentation

As a new contributor is not easy to develop and test changed to the source. Hence some best practices would be great to support new developers. (I'll just sort my thoughts and I'm open for further recommendations)

e.g.

  1. small changes of enumerations can be directly done using the visual studio code addon and editing the related files in custom_components
  2. test by reload home assistant
  3. overtake changes the forked version and create a pull request

my recommendation is not to used the main branch of the forked repositore for pull requests. This main branch can be used to register the hacs integration in the own home assistant and use the update mechanism of hacs

maybe a dev container for the HA would also be maybe an option

Where could such documentation go?
docs/CONTRIBUTE.md?

Add new buffer registers from v22.090 to support external buffers

https://github.com/LavermanJJ/pysolarfocus/blob/7f40d0df8b71c5666b8526cbbb9c239a045ad06b/pysolarfocus/components/buffer.py#L17-L20

        if api_version.greater_or_equal(ApiVersions.V_22_090.value):
            self.external_top_temperature_x44 = DataValue(address=0,multiplier=10,register_type=RegisterTypes.Holding)
            self.external_middle_temperature_x36 = DataValue(address=1,multiplier=10,register_type=RegisterTypes.Holding)
            self.external_bottom_temperature_x35 = DataValue(address=2,multiplier=10,register_type=RegisterTypes.Holding)
           

[Bug]: Sensor "biomass boiler outdoor temperature" shows wrong value

Sensor "biomass boiler outdoor temperature" shows wrong value. Constant same temperature during the whole day, 10,3 C not changing.
On the ecotouch display it shows e.g. 8 C changing during the day.

Note: I do not have a room thermostat, just a Solarfocus outdoor temperature sensor that feeds data back to the biomass boiler for the heating curve. (Heizkurve).

  • Home assistant version: [2023.4.4]
  • Home assistant Supervisor: [2023.04.0]
  • Home Assistant Operating System: [9.5]
  • Solarfocus custom component version: [ 2.2.2 ]
  • Solarfocus firmware version: [22.050]
  • Solarfocus biomass boiler: [Ecotop light]
  • Solarfocus boiler=buffer: [Hygiene Kombispecher HYKO]

PelletTop

Hello, have a pellet Top 25. can you integrate this boiler type? A few points I can use right now. For example, the buffer temps. As for the boiler directly, does not work as expected.

Greetings from the Black Forest

Support option flow

To avoid removing and re-adding the component for changing parameters (e.g. SCAN_INTERVAL), the option flow should be supported.

Solar don't work. State just a number

I don't know what is wrong
image
image
image

in your exe all sensors are ok. In your release everythyíng is 0

And the second Problem:
All States are a Number. No Text like "Bereitschaft"

Edit:
In Version 2.0.0 State is correct
image

Add new Biomass boiler registers from v22.090 and v23.010

Add sensors and a button for the following entities:
https://github.com/LavermanJJ/pysolarfocus/blob/7f40d0df8b71c5666b8526cbbb9c239a045ad06b/pysolarfocus/components/pellets_boiler.py#L25-L34

       if api_version.greater_or_equal(ApiVersions.V_22_090.value):
            self.sweep_function_start_stop = DataValue(address=10,register_type=RegisterTypes.Holding)
            self.sweep_function_extend = DataValue(address=11,register_type=RegisterTypes.Holding)

        if api_version.greater_or_equal(ApiVersions.V_23_010.value):
            self.pellet_usage_last_fill = DataValue(address=14,count=2,multiplier=0.1)
            self.pellet_usage_total = DataValue(address=16,count=2,multiplier=0.1)
            self.heat_energy_total = DataValue(address=18,count=2,multiplier=0.1)            

            self.pellet_usage_reset = DataValue(address=12,register_type=RegisterTypes.Holding)

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.