chrishrb / hoval-gateway Goto Github PK
View Code? Open in Web Editor NEWHoval Gateway
License: Apache License 2.0
Hoval Gateway
License: Apache License 2.0
https://www.waveshare.com/2-ch-can-hat.htm
half the price of PICAN2.
For that board :
sudo nano /boot/config.txt
dtparam=spi=on
dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=25
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=23
dtoverlay=spi-bcm2835-overlay
all informations on https://www.waveshare.com/wiki/2-CH_CAN_HAT
That board works with your code.
How did you get the temperatures of "Zuluft" and "Fortluft"?
Hello,
could you provide this repo as a home assistant addon to be installed on the HA machine directly and be configured via the UI?
This will make an additional raspberry pi or machine where the docker image is running obsolete.
It would be a great advantage for HA users.
Thanks a lot.
CDaxi
Hi, thank you for your work! I have a HOVAL heat pump and I mounted a Raspberry in PICAN2. My question is as follows: do I have to connect the CAN wires coming out of the heat pump directly to the PICAN or can I use the RJ45 output of the HOVAL gateway that I already have? Another question: can you give me the exact command to launch the SCRIPT as it is written in your tutorial? I can't define which file to execute? Thank you
Joël
Hi,
Is there a way to turn on/off the VOC functionality? Aka “air quality control”
Thank you!
The arbitration ID is composed of a sender_id
and a receiver_mask
:
Explanation using the can id 0x1FE40801
hex: 1 F E 4 0 8 0 1
binary: 0001 1111 1110 0100 0000 1000 0000 0001
index: 28 24 20 16 12 8 4 0
[31, 22]
: is always 0001 1111 11
[21, 11]
: device id of senderb10 0100 0000 1
= 1153, in this example the sender would be a Gateway (GW)[10, 0]
: receiver maskb000 0000 0001
= 1, the receiver is a heat generator (WEZ). I think b111 1111 1111
can be used to address all devices on the bus.Current implementation
def build_arbitration_id(message_id, priority, device_type, device_id):
return (message_id << 24) | (priority << 16) | (device_type << 8) | device_id
Should be:
def build_arbitration_id(sender_id, receiver_mask):
return (0x7F << 22) | (sender_id << 11) | receiver_mask;
Thanks for putting this project together! I'm in the process of getting data from two Hoval UltraSource B Comfort C heat pumps and I am particularly interested in the energy consumption/production datapoints of the systems. These are found in FunctionGroup 10, FunctionNum 1 and DataPoint Ids 23009 and 29050.
Both these datapoints are 32bit unsigned ints per the specification from Hoval. Interestingly, I can't seem to observe any response messages (42) for any of these datapoints. A can dump of the bus only shows messages that seem to be significantly formatted in a different fashion than the usual response messages. Additionally, the values would have to be sent as two messages as well, since this is a 32bit int.
Do you have any pointers or suggestions as to what I should look for?
Hi, thanks for your work! I own a Homevent FR251 with TopTronic E. Can you add the pinout of the RJ45 CAN connector to the readme? I am not sure if GND is on Pin 3, 7 or both. Thanks!
Hey,
I'm currently working on my own hoval gateway for TTE-WEZ. (https://github.com/abichinger/esp_canbus) and
I'm trying to figure out how hoval puts the can ID together.
According to your code
def build_arbitration_id(message_id, priority, device_type, device_id):
return (message_id << 24) | (priority << 16) | (device_type << 8) | device_id
the device_id
should be: can_id & 0xFF
and the device_type
should be (can_id >> 8) & 0xFF
.
I found three can IDs on my bus and after sending some SET_REQUESTS from the control modules, I was able to assign the devices.
0x1FE09001
-> device_type = 0x90
, device_id = 0x01
0x1FE00801
-> device_type = 0x08
, device_id = 0x01
0x1FC00FFF
-> device_type = 0x0F
, device_id = 0xFF
I would expect both control modules to have the same device_type
.
Have I made a mistake or is the can ID composed differently?
Devices listed on the GUI of my control module with device IDs:
Device types according to https://raw.githubusercontent.com/wladwnt/CAN-Gateway/master/Operating_manual.pdf (page 34)
Hallo,
Python ist zwar nicht meine Liebling, aber lesen geht gerade noch.
wie bestimmt man den Device Typ & Id für meine Wärmepumpenheizung.
will eher mit einem ESP32/ESP8266 und einem Canbus-Modul unter C++ die Anlage auslesen ggf. steuern.
Bin selber Programmierer aber CANBUS Neuling.
Wie wäre ein Request für einen speziellen DatenPunkt aussehen?
Schaut ja sehr analog Modbus aus.
Danke schon mal vorab für deine Hilfe
https://github.com/coryjfowler/MCP_CAN_lib/blob/master/examples/CAN_send/CAN_send.ino
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.