zxdavb / incomfort-client Goto Github PK
View Code? Open in Web Editor NEWPython client to poll Intergas boilers via a Lan2RF gateway
License: MIT License
Python client to poll Intergas boilers via a Lan2RF gateway
License: MIT License
I notice the thermostat card in HA dashboard is limited.
For example if you have the heating setpoint below the current temperature it still reports 'heating' - which is wrong in my view. Could we have a little review of the issue? I was expecting the card would show "neutral" state if the setpoint is below the actual temperature reported.
I have more than one heater but only one is shown in Home Assistant, the heater with climate control is not showing. It only gets the heater 0 , is it possible to select heater 1 instead of 0.
[2019-10-29 07:31:22 DEBUG (MainThread) [incomfortclient] Gateway(hostname=10.0.0.249) instantiated.
2019-10-29 07:31:22 DEBUG (MainThread) [incomfortclient] _get(url=heaterlist.json, auth=None)
2019-10-29 07:31:23 DEBUG (MainThread) [incomfortclient] _get(url=heaterlist.json): response = {'heaterlist': ['********728', '********429', None, None, None, None, None, None]}
2019-10-29 07:31:23 DEBUG (MainThread) [incomfortclient] Heater(serial_no=********728) instantiated.
2019-10-29 07:31:23 DEBUG (MainThread) [incomfortclient] Heater(serial_no=********429) instantiated.
2019-10-29 07:31:23 DEBUG (MainThread) [incomfortclient] _get(url=data.json?heater=0, auth=None)
2019-10-29 07:31:23 DEBUG (MainThread) [incomfortclient] _get(url=data.json?heater=0): response = {'nodenr': 162, 'ch_temp_lsb': 165, 'ch_temp_msb': 25, 'tap_temp_lsb': 105, 'tap_temp_msb': 16, 'ch_pressure_lsb': 150, 'ch_pressure_msb': 0, 'room_temp_1_lsb': 255, 'room_temp_1_msb': 127, 'room_temp_set_1_lsb': 255, 'room_temp_set_1_msb': 127, 'room_temp_2_lsb': 255, 'room_temp_2_msb': 127, 'room_temp_set_2_lsb': 255, 'room_temp_set_2_msb': 127, 'displ_code': 126, 'IO': 0, 'serial_year': 19, 'serial_month': 5, 'serial_line': 15, 'serial_sn1': 0, 'serial_sn2': 97, 'serial_sn3': 28, 'room_set_ovr_1_msb': 0, 'room_set_ovr_1_lsb': 0, 'room_set_ovr_2_msb': 0, 'room_set_ovr_2_lsb': 0, 'rf_message_rssi': 31, 'rfstatus_cntr': 0}
2019-10-29 07:31:23 DEBUG (MainThread) [incomfortclient] Heater(********728).status() = {'display_code': 126, 'display_text': 'standby', 'fault_code': None, 'is_burning': False, 'is_failed': False, 'is_pumping': False, 'is_tapping': False, 'heater_temp': 65.65, 'tap_temp': 42.01, 'pressure': 1.5, 'serial_no': '********728', 'nodenr': 162, 'rf_message_rssi': 31, 'rfstatus_cntr': 0}](url)
Am working on implementing a javascript (+php) client version, so it can run in the browser. This largely works already, but I wonder about two things for now:
Intergas might get some info by accumulation on their cloud service? The heater I bought second hand reported a use of 5000 hours, but was never connected to their service. Is there more info to get from lan2rf perhaps?
aiohttp==3.5.4 -> 3.6.2
attrs==19.1.0 -> 19.3.0 or higher
idna==2.8 -> 2.10
multidict==4.5.2 -> 4.7.6
typing-extensions==3.7.2 -> 3.7.4.3
yarl==1.3.0 -> 1.4.2 or higher
To avoid future issues it would be good if this library would change its pinning to allow any higher version and just set a minimum version. Thanks a lot.
I mean this one sometimes called gateway II
Second question do you need an internet connection or can you still communicate when internet is down?
Please see below as reference for a fix in regards to Home Assistant Core issue #110140
I have been able to work around this until a fixture can be applied:
Workaround is to set timeout in the incomfortclient library to a sufficiently high value. Downside is this needs to be reapplied after every Home Assistant Core update.
docker exec command to achieve this is:
docker exec -it homeassistant sh "/bin/sed -i 's/CLIENT_TIMEOUT = 20/CLIENT_TIMEOUT = 300/g' /usr/local/lib/python3.12/site-packages/incomfortclient/__init__.py"
Alternatively one could create a shell command which can be triggered per the usual ways:
shell_command:
fix_incomfort: /bin/sed -i 's/CLIENT_TIMEOUT = 20/CLIENT_TIMEOUT = 300/g' /usr/local/lib/python3.12/site-packages/incomfortclient/__init__.py
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.