Autor Thema: OpenHr20 + HM-11  (Gelesen 3530 mal)

ElTentakel

  • Gast
OpenHr20 + HM-11
« am: 10 August 2015, 21:26:08 »
Ich habe folgendes getan: ein HM-11 Modul in ein HR20 mit OpenHR20 Firmware eingelötet. Das Ergebnis sieht so aus:

[CON][78:A5:04:3E:E0:CB][LE]> char-write-cmd 0x0012 41
[CON][78:A5:04:3E:E0:CB][LE]> char-write-cmd 0x0012 32
[CON][78:A5:04:3E:E0:CB][LE]> char-write-cmd 0x0012 38
[CON][78:A5:04:3E:E0:CB][LE]> char-write-cmd 0x0012 0d
[CON][78:A5:04:3E:E0:CB][LE]>
Notification handle = 0x0012 value: 44 3a 20 64 35 20 30 31 2e 30 31 2e 31 30 20 31 32 3a 35 33
[CON][78:A5:04:3E:E0:CB][LE]>
Notification handle = 0x0012 value: 3a 30 37 20 4d 20 56 3a 20 32 30 20 49 3a 20 32 36 39 33 20
[CON][78:A5:04:3E:E0:CB][LE]>
Notification handle = 0x0012 value: 53 3a 20 30 35 30 30 20
[CON][78:A5:04:3E:E0:CB][LE]>
Notification handle = 0x0012 value: 42 3a 20 32 39 34 30 20 49 73 3a 20 66 62 30 30 20 58 0a 0a

Danach habe ein A28 [Enter] gesendet und bekomme eine Statusmeldung zurück (siehe code). Das Thermostat zeigt danach 16°C Zieltemperatur. Das Protokoll des HR20 sieht so aus:

http://www2.htw-dresden.de/~wiki_sn/index.php5/HR20#Befehle_zur_Kommunikation_mit_dem_HR20-Thermostat

Also an sich ein einfaches Spiel. Was mir fehlt ist Unterstützung für die Entwicklung. Wie kompliziert ist es ein BTLE Modul für eine Heizungssteuerung einzubinden? ... Und das schlimmste, ich habe keine Ahnung von Perl :D (dafür aber Programmiererfahrung mit C).

ElTentakel

  • Gast
Antw:OpenHr20 + HM-11
« Antwort #1 am: 11 August 2015, 18:32:15 »
Wenn keiner was dagegen hat, würde ich einfach mal die Erkenntnisse hier rein schreiben:

Das HM-11 ist ein BT4.0 BLE UART Converter, den man unter anderem bei Ebay beziehen kann:

http://www.ebay.de/itm/4-0-BLE-Bluetooth-Uart-Transceiver-Modul-CC2541-Central-Switching-HM11-Arduino-/221723432924?pt=LH_DefaultDomain_77&hash=item339fbf17dc

Das interessante an dem Gerät: im Standby braucht es "nur" 0,5mA, das heißt mit einem Paar Batterien mit je 2000mAh müsste das System zumindestens 4-5 Monate durchhalten. Da das Modul sehr klein ist, passt es passt wunderbar in die obere Abdeckung in der sich das Display befindet. Für alle Lötfaule, die das ersteinmal ausprobieren wollen kann man auch ein auf einer Trägerplatine bestücktes Module mit ferig konfeltionierten Kabeln an die Kontakte der Revisionsklappe anschiießen.

Die Belegung der Kontakte sieht folgendermaßen aus:
HM11 - FUNKT - HR20
1      RX / TX    6
2      TX / RX    7
9      VCC        9
12      GND      10

Nun ist die Seite der BLE Seite überhaupt nicht dokumentiert, es zeigt sich aber beim Senden des Status Strings vom HR20 folgender Dienst sich meldet:

Notification handle = 0x0012
Nun hatte ich probiert mit diesem einfach einen String zu senden, was fehl schlug, da immer nur ein Zeichen übertragen wurde. Man muß also wie bei einer seriellen Verbindung jedes zeichen einzeln senden (siehe vorherigen Post).

So, soviel dazu. Ich werde noch mehr schreiben, jedoch ist meine Zeit recht begreńzt. Da aber sich aber sechs HR20 mit openHR20 in meinem Haushalt befinden und sehr gute Dienste leisten ist meine Motivation doch recht hoch. Sollte sich noch jemand anderes oder gar das FHEM Team dafür begeistern können bin ich für jede Unterstützung dankbar.

ElTentakel

  • Gast
Antw:OpenHr20 + HM-11
« Antwort #2 am: 12 August 2015, 16:55:33 »
Ich habe mir den Quellcode mal angeschaut und denke, dass das Projekt in 2 Teile geteilt werden muss:

1. Teil: Implementierung der Steuerung des HR20 (über UART)

2. Teil: Implementierung eines Zugriffsmoduls für den BLE UART Converter.

Ich denke einige Besitzer der HR20 schon Dankbar wären, wenn es eine Möglichkeit gibt das Gerät mit UART zu steuern. Schließlich gibt es auch Menschen die dafür RS485 benutzen.

Der 2. Teil ist ein wenig schwierig für mich einzuschätzen. Aber notfalls könnte man ein C Programm dazu schreiben, dass per Netzwerk socket eine Serielle Verbindung über RS485 vortäuscht. Es sollte also machbar sein.

Offline Mikesch

  • Jr. Member
  • **
  • Beiträge: 66
Antw:OpenHr20 + HM-11
« Antwort #3 am: 01 Februar 2018, 19:01:05 »
Hallo,

bist du mit den HR20 weitergekommen? Hast du es geschafft sie unter FHEM ans laufen zu bringen?
Es hat sich glaube ich was openhr20 Firmware angeht einiges getan.

Ein RFM12b 868 MHz kann intern verlötet werden.

Die neue Version der Software basiert auf der Arduino-IDE und ist hier zu finden. Sie verwendet das MQTT.
https://github.com/basti79/ESP8266-Sensors/tree/ESP-01

Hier steuert einer die Thermostate mit seinem OpenWRT Router:
https://piontecsmumble.wordpress.com/2013/02/25/openhr-20-tutorial-part-0-introduction/


Ich Frage weil ich auch 5 von denen im Einsatz habe und ich Sie gerne ins FHEM bekommen würde.

Offline Mikesch

  • Jr. Member
  • **
  • Beiträge: 66
Antw:OpenHr20 + HM-11
« Antwort #4 am: 16 Februar 2018, 18:38:18 »
Hallo zusammen,

Ich habe mir einen 6ten gekauft um es "zu probieren". Vielleicht macht ja jemand mit :-)
Es gibt verschiedene Wege ich habe den hier eingeschlagen. Weil der Programmer günstig ist und ich (ich es nicht besser wusste:-) und ich dafür ein Win10 Laptop benutzten wollte.
Die anderen heißen USBtinyISP  oder AVR Dragon, ich habe echt keine Ahnung davon und bin froh das es doch, mit dem 6€ Chinateil, klappt.

Wenn ich es richtig verstehe dieser nur von der AVR Studio 4.18 Version unterstützt wird.
AVR Studio 4.18 mit SP3 Update, bekommt man hier: http://www3.nautel.com/pub/Utilities/AVR_Studio/AVR%20Studio%204.18/
Das ist der JTAG-ICE Programmer 6€
https://www.ebay.de/itm/USB-Download-Programmer-Emulator-Debugger-fur-AVR-JTAG-ICE-Atmega-AVR-STUDIO-Neu/111543439247?hash=item19f881cf8f:g:W6AAAOSwg3FUhqy7

Das ist die Pin Verbindungsanleitung: (ich habe mir einen Adapter gebaut siehe Bild bitte den gesamten Beitrag erst lesen)
HR20 JTAG
1 (/RESET) 6 (NSRST)
2 (PE2) not connected
3 (TMS) 5 (TMS)
4 (TCK) 1 (TCK)
5 (TDO) 3 (TDO)
6 (TxD) not connected
7 (RxD) not connected
8 (TDI) 9 (TDI)
9 (+Batt) 4 (VREF)
10 (GND) 10 (GND)

Batterien raus! Der Strom kommt über USB. Sonst geht's kaputt.
Hier die nötigen Einstellungen: https://www2.htw-dresden.de/~wiki_sn/index.php/HR20/flashen#Einstellungen
Hier die Firmware: https://www2.htw-dresden.de/~wiki_sn/index.php/Datei:Software_OpenHR20_1.0.tar.gz

Ob die neue Firmware drauf ist sieht man wenn man den mittleren Knopf zwei mal drückt. In der Anzeige erscheint dann die aktuelle Temperatur.
Siehe beigefügtes Bild. Der HR20 auf der linken Seite hat die openHR20 Firmware.

Ok geflasht ist er schon mal ich warte mal auf meine RFM12b Funkchips.

Ich habe noch mit den verschiedenen Versionen der Firmware gespielt.
Dazu muss ich noch sagen das es etwas verwirrend ist.
obwohl rfm_ext suggeriert dass das Funkmodul außen ist das die richtige Firmware auch wenn das Funkmodul innen verbaut wird.
Es sind die gleichen Kontakte vom Stecker nur innen im Gehäuse abgegriffen statt außen. Also Falls jemand das hier nachbauen sollte nimm die  rfm_ext_sww. Bei der anderen rfm_int_* blieb bei mir das Display immer dunkel.

original_* - Ohne RFM12-Funkmodul
rfm_int_* - RFM12 Chip wird intern angelötet
rfm_ext_* - RFM12 Chip wird über den 2x5 Pin-Block angeschlossen
     *_sww - offene Fenster werden softwareseitig erkannt
    *_hww - offene Fenster werden hardwareseitig erkannt (Anschluss an den Pinst)

Dabei habe ich ein paar Probleme mit dem flashen gehabt die ich mal erwähnen will. Wenn auf der ersten Seite die Signature des Chips nicht passt "0x1E 0x94 0x05" braucht ihr nicht weitermachen. Manchmal hilft ein paar mal auf den Button "Read Signature" zu drücken. Das Zeug abstecken und anstecken bis da diese Zahlen stehen. 
Bei Problemen kann man am Thermostat (Pin 9/+Batt und GND) bzw. (Pin4 VREF am JTAG)  einen 100µF Elko anschließen.
Außerdem half es bei mir eine Brücke zwischen GND und HR20 Pin1 Reset (JTAG Pin 6 NSRST) eine Brücke zum flashen zu machen.
Keine Angst dann geht das Display aus aber man kann flashen.

Anbei als Anlage noch die Bilder der Einstellungen. Diese sind (musste ich mittlerweile feststellen) ziemlich egal.
Letztendlich gehts es so:
JTAG anschließen,
AVR Studio starten, "Tools",   "Programm AVR", "Connect"
Plattform "JTAG ICE" und "Port:" COM3 (das passende:-)
Unter "Mail" auf "Read Signature" falls die Signatur richtig ist weiter,
Reiter "Program" unter "ELF Production File Format" das rfm_ext_sww/hr20.elf auswählen und auf "Program" klicken.
Falls es Probleme beim verifiy gibt, auf den Reiter "Fuses" gehen auf "Read" klicken, den Hacken bei "EESAVE" wegmachen, auf "Program" klicken und das flashen wiederholen.

Das Funkmodul würde ich am Anfang nicht rein löten (eher zum Stecken) das man sonst nicht Programmieren kann.
In der Firmware muss die ID und der Schlüssel eingestellt werden. Sobald ich das hinbekommen habe schreibe ich hier was dazu.
Nicht wundern nach einiger Zeit zeigt das Thermostat "E4" an. bedeutet es hat kein Funk Paket vom HR20 Master bekommen.
Hie bin ich auch noch dabei.

Wenn man den "UART TTL - CP2102 Seriell Adapter Modul" noch da hat kann man direkt die Serielle Konsole verbinden. Drei Pins reichen GND TXD und RXD (vertauscht) Siehe https://www2.htw-dresden.de/~wiki_sn/index.php/HR20#Kommunikation_mittels_RS232-Schnittstelle
sieht dann so aus:     V:OpenHR20 1.0 Feb 16 2011 01:28:33 Rel_1.0     D: d4 16.02.17 23:26:55 A V: 30 I: 2107 S: 1700 B: 2717 Is: 0000 E:04 X


« Letzte Änderung: 01 März 2018, 11:35:42 von Mikesch »

Offline Mikesch

  • Jr. Member
  • **
  • Beiträge: 66
Antw:OpenHr20 + HM-11
« Antwort #5 am: 28 Februar 2018, 12:31:56 »
Update ich habe die Funkmodule (RFM12BSP Rev.1.0 866Mhz) eingebaut.
Leider stehe ich jetzt etwas auf dem Schlauch ich habe versucht am myLaCrosseGateway etwas zu empfangen leider bis jetzt ohne Erfolg.
set myLaCrosseGateway LaCrossePairForSec 120 ignore_battery

Hat jemand eine Idee oder Tipps?

Offline Florian_GT

  • Developer
  • Full Member
  • ****
  • Beiträge: 335
    • Florian-Asche
Antw:OpenHr20 + HM-11
« Antwort #6 am: 17 Januar 2020, 00:40:26 »
Hallo zusammen,

ich weiß der Beitrag ist alt, aber ich werde meine HR20 nun bald mit dem ESP verbinden und hoffentlich auch eine Verbindung über MQTT zu FHEM schaffen. OpenHR20 läuft bereits mit einer Modifizierten Version, Siehe https://github.com/florian-asche/openhr20.

Mit einem RS232 Com-Server hatte ich schon eine Verbindung zu FHEM aber eher unstabil. Ich will nun mit dem ESP und MQTT eine bessere Verbindung schaffen und nebenbei noch mit einigen DS18B20 Temperatur messen.
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera)

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

 

decade-submarginal