Skip to content

Conversation

@hackepeterOli
Copy link

  1. Hardware Setup (ELM327)
    a. Most cheap china replicas will not work because the "AT PP" command is not implemented. A purchase recommendation is as follows: https://www.totalcardiagnostics.com/elm327
    b. It is recommended to order a matching obd2 socket (16pol) to connect the can adapter
    c. Connect the CAN-High cable 6, the CAN-Low cable 14 and CAN signal ground 5 to the hpsu, Power on the CAN-Side is not needet

  2. Software Setup (ELM327)
    a. get the id from the usb elm interface: ls /dev/serial/by-id/
    b. apt-get install python-pika python3-pika python-configparser python3-serial
    c. git clone https://github.com/Spanni26/pyHPSU
    d. cd pyHPSU
    e. chmod +x install.sh
    f. ./install.sh
    g. test the communication (exchange the id)
    python3 /usr/bin/pyHPSU_dirty.py -v 2 -d elm327 --port /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_-if00-port0 -c t_hc_set -o CSV

There are the following different possibilities of data export

2.1 Data Export to CSV:
a. python3 /usr/bin/pyHPSU_dirty.py -v 2 -d elm327 --port /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_-if00-port0 -c t_hc_set -o CSV

2.2 Data Export to Emoncms
a. cp -r pyHPSU/etc/pyHPSU/EMONCMS.ini /etc/pyHPSU/emoncms.ini
b. Register and note the API key:https://emoncms.org
c. Enter Api key in /etc/pyHPSU/emoncms.ini
d. sample config:


     [config]  
     apikey=xxxxxxxxxxxxxxxxxxxxxxxxxx  
     emoncms_url=https://emoncms.org  
     [node]  
     Node_30=flow_rate,mode,t_ext,t_hc_set,bpv,posmix,t_dhw_set,door_ot1,t_v1,t_r1,tliq2,t_vbh,t_dhw1,ta2,ehs,qdhw,qch,qchhp,qwp 
     

e. run pyHPSU:
/usr/share/pyHPSU/bin/pyHPSU.py -v 1 -d elm327 --port /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_-if00-port0 -o CLOUD -u EMONCMS
3. Data Export to FHEM
a. Create Dummy on FHEM Server:
define HPSU dummy
b. run pyHPSU:
python3 /usr/bin/pyHPSU.py -o FHEM -d elm327 -p /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_-if00-port0 -c t_hc
4. Daemon Mode
a. apt-get install rabbitmq-server
b. Check if the service is running: sudo rabbitmqctl status
c. you can activate a management plugin, so that the access to the rabbitMQ server via webinterface port 15672 is possible. The
plugin is not needed for operation.
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl restart
d. cp hpsud.service /etc/systemd/system/
e. systemctl enable hpsud.service
f. systemctl --system daemon-reload
g. check the status: systemctl status hpsud.service

More information at: (italian language) http://cercaenergia.forumcommunity.net/?t=58409485

A possible HW set-up guide (italian language):

Needs:

  • python
  • python-pika
  • python-serial
  • python-configparser
  • python-can
  • python-requests
  • python3
  • python3-serial
  • python3-pika
  • python3-requests
  • python3-mysql.connector

If a database should be used simply create a mysql DB with collation "utf8_bin", edit the pyhpsu.conf and select "DB" as output type
Configure it in /etc/pyHPSU/pyhpsu.conf

Spanni26 and others added 30 commits February 26, 2018 18:43
Signed-off-by: Spanni26 <dspannbauer@web.de>
- removed old help call
- modified output (prints readable value)
- added values to pyHPSU.conf
- save bfore heavily modifiy the pyHPSU.py and HPSU.py
  for moving the commands dictionary to pyHPSU.py or a
  seperate function
- a lot of changes in pyHPSU.py to support the new plugin
- HPSU.py: Don't process "version" command
- therefore, edited import statements
- all files use python3 now
- moved canpi.ini to canpi.conf
First fixes to Dutch translation.
Spanni26 and others added 30 commits September 26, 2020 11:50
- delete old service file
help: label lookup through name not command
.gitingnore: vscode launch config added
command dictionary EN: scrred -> screed :-)
- pyHPSU.py: now string values can be given
update packages and required python-can version
Copying the example, also copies the `nbsp` characters, which are **not** space characters. Debian 10 networking scripts ignore the `pre-up` command, if it is prefixed with `nbsp` chars. This behavior is real hard  to diagnose.
fix /etc/network/inferfaces in example
correct translation for heat_slope
The values for the temperature of frost protection were wrong, e.g. -50.0°C instead of -5.0°C
As discussed in #62 it was not possible to get correct values for the command „error“.

When adjusting the type to longint it works as expected
Changed output to valid json
Add adaptation for XML-API >=2.0
Changed homematic calls to use tokens which are required in XML-API version >=2.0
Wrong divisor for T_FROST_PROTECT
Fix command „error“
mode_01: update values for Automatic 1 & 2, add English translation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.