HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Beitrag von Bratmaxe » 31.08.2018, 08:39

Anbei möchte ich euch mitteilen, das der Sketch nun erfolgreich bei mir läuft.
Daher hier nochmal für alle die Anleitung, die diesen Sketch auf einem HM-LC-Sw1PBU oder HM-LC-Sw2PBU verwenden möchten..
Danke an alle Beteiligten, die mich hier so sehr unterstützt haben, waren die Fragen auch noch so doof. :wink:

Wichtige Information am Anfang:
Durch das Flashen des Sketches erlischt natürlich eure Garantie!
Durch das Flashen wird aus dem HM-LC-SwxPBU ein HB-UNI-SenAct-4-4, dadurch kann man den Aktor nach dem Anlernen nicht tauschen, also müssen alle Programme und Direktverknüpfungen neu erstellt/angelegt werden!
Solltet ihr noch keinen ISP-Programmer haben, dann kann ich euch die Empfehlung von klassisch auch nur wärmstens empfehlen:https://www.diamex.de/dxshop/USB-ISP-Pr ... l-AVR-Rev2 Diese hat bei mir unter Windows10 sofort funktioniert, ohne Treiber installation etc. einstecken und fertig! Ich hatte den Postversand gewählt und der Programmer war am nächsten Tag da.

Anleitung:
- Als erstes solltet ihr prüfen, ob auf dem Aktor der ATMEGA644PA verbaut wurde.
Ich habe bei meinem Aktor (HM-LC-Sw1PBU-FM) dieses Chip verbaut, in der Aufbauanleitung wird aber geschrieben, das der ATMEGA644A verwendet wird, auf den Bilder ist aber der ATMEGA644PA zu sehen, die Beschreibung ist hier falsch. Gleiches gilt auch für die Aufbauanleitung für den HM-LC-Sw2PBU-FM.

- Programmierungsbeschreibung (Danke an klassisch):
- Überprüfen der Spannungsversorgung: An den Pins VCC müssen 3.3V gegen GND anliegen. Die Pins für den I2C Anschluss bieten sich zum Messen an.
- Einstellungen Arduino IDE:
--Zuerst den Mighty Core zur Unterstützung des 644PA Prozessor einbinden. Die Installationsanleitung dazu findet sich auf der zugehörigen Github Seite https://github.com/MCUdude/MightyCore#how-to-install . Danach kann ein Neustart der Arduino IDE erforderlich sein
-- Board einstellen -> Werkzeuge -> Board -> ATmeaga644 (zu finden unter MightyCore)
-- Pinout einstellen -> Werkzeuge -> Pinout -> Bobuino
-- Clock einstellen -> Werkzeuge -> Clock -> 8MHz external
-- Compiler Optimierung einstellen -> Werkzeuge -> Compiler LTO -> Disabled
-- Variante einstellen -> Werkzeuge -> Variant -> 644P/644PA
-- Brownout Voltage einstellen -> Werkzeuge -> BOD -> 2.7V
-- Programmer für den Bootloader einstellen: -> Werkzeuge -> Programmer -> "STK 500 as ISP (MightyCore)"
-- Libaries aktualisieren! (EnableInterrupt mind V1.0. Falls die Arduino IDE diese Version noch nicht anbietet, direkt von github https://github.com/GreyGnome/EnableInterrupt ziehen und ins entsprechende lokale Verzeichnis kopieren)

- Den Adapter mit dem 6 pol ICSP Pin Header gemäß der Beschriftung verbinden:
ISP Verbindung.jpg
- Sketch anpassen an Bobuino-Pinout für ATMEGA644PA.
MightyCore TQFP44 Bobuino pinout.jpg
Beispiel am Aktor "HM-LC-Sw2PBU-FM":
Pinne aus dem Sketch:

Code: Alles auswählen

#define RELAY1_PIN 17    //A3
#define RELAY2_PIN 16    //A2

#define BUTTON1_PIN 6
#define BUTTON2_PIN 3
In der Aufbauanleitung ist die Schaltung des Aktors abgedruckt. Hier kann man dann sehen, das die Pinne wie folgt belegt sind:
Relais1 = PD5
Relais2 = PD4

Taste1 = PD6
Taste2 = PD0 (RX)

anhand des oben Dargestellten Bildes kann man nun die Bobuino Pinne herausfinden:

Code: Alles auswählen

#define RELAY1_PIN 30
#define RELAY2_PIN 8

#define BUTTON1_PIN 9
#define BUTTON2_PIN 0
WICHTIG!!! Wird PIN 0 oder PIN 1 verwendet, dann müssen die DEBUG-Meldungen deaktiviert werden, das geht indem man im Sketch ganz oben folgende Zeile einfügt:

Code: Alles auswählen

#define NDEBUG
- Sketch in der Arduino IDE compilieren
- Applikation flashen: Programmieren mit -> Sketch -> Hochladen mit Programmer

- Danach kann man den Aktor wieder zusammenbauen.

- Um den Aktor sauber anlernen zu können müsst ihr das Addon von jp112sdl installieren: https://github.com/jp112sdl/JP-HB-Devices-addon

- Nach dem Anlernen müssen nun aber noch Direktverknüpfungen erstellt werden, damit bei Tastendruck auch der Aktor geschaltet wird.

Ich habe dann bei mir Direktverknüpfungen angelegt, die nur auf den kurzen Tastendruck reagieren. Mit dem Langentastendruck kann ich dann wieder eine andere Direktverknüpfung anlegen, oder auch ein Programm starten lassen.

Empfehlung:
Es werden beim Anlernen immer 4 Taster und 4 Relais in der CCU eingebunden. Unter Einstellungen --> Geräte --> Gerätename habe ich dann die Sichtbarkeit der nicht verwendeten Kanäle ausgeschaltet, damit ich diese nicht ständig irgendwo stehen habe.

Zusatz:
An den Entwickler von TinyMatic habe ich bereits eine Anfrage zum implementieren des Aktors gestellt, da dieser schon zwei andere Selbstbauaktoren eingebaut hat, wird das vermutlich auch schnell passieren. Der ist da echt flott :D

Einschränkungen:
- Direktverknüpfungen, die zwischen Taster und der internem Relais erstellt wurden, sind nicht in der WEB-UI unter Direktverknüpfungen zu sehen.
Allerdings kann man diese unter Einstellungen->Geräte->GERÄTENAME->Einstellen sehen und bearbeiten.
- In der Web-Ui kann man den kurzen- und den langen Tastendruck unter Status und Bedienung->Geräte->GERÄTENAMEN simulieren. Das funktioniert nicht, da die klassischen HM-Aktoren eigene Telegramme rausfiltern. Das bedeutet, das man das virtuelle Betätigen des Aktors auch in Programmen nicht verwenden kann!

Gruß Carsten
Zuletzt geändert von Bratmaxe am 03.09.2018, 11:56, insgesamt 2-mal geändert.
Gruß Carsten

DeepCore
Beiträge: 13
Registriert: 31.12.2013, 13:43
Wohnort: Niedersachsen
Hat sich bedankt: 10 Mal

Re: HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Beitrag von DeepCore » 31.08.2018, 10:08

Hallo Carsten,

das nenne ich mal eine Anleitung !

Aber bei den Farbpunkten auf der Platine meine ich einen Fehler zu sehen. MP3 und MP16 sind vertauscht, oder ?

Edit: Ich hab so genau geguckt, weil ich ein Anschluss-Problem mit dem ELV-Transciever gestern abend hatte.
Da es echt heiss wurde, geh ich mal davon aus, dass es nun kaputt ist oder von anfang an war.
Zuletzt geändert von DeepCore am 31.08.2018, 13:26, insgesamt 1-mal geändert.

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Beitrag von Bratmaxe » 31.08.2018, 10:24

Da hast du Recht, danke für den Hinweis, habe ich korrigiert!
Gruß Carsten

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Beitrag von Bratmaxe » 31.08.2018, 11:49

@jp112sdl:
Ich habe gerade gesehen das die Direktverknüpfungen auch in der WebUI zu sehen sind und zwar unter Einstellungen-->Geräte-->Gerätename-->Einstellungen. (dort sind diese im Normalfall nicht zu sehen, habe ich zumindest noch bei keinem Aktor gesehen)

Allerdings erhalte ich zwei Fehlermeldungen beim Öffnen des Dialogs:
Fehler1.jpg
Fehler1.jpg (15.76 KiB) 1502 mal betrachtet
Fehler2.jpg
Fehler2.jpg (14.9 KiB) 1502 mal betrachtet
Ich weiß natürlich nicht, ob das was mit dem zweckentfremdeten Sketch zu tun hat, oder ob das ein generelles Problem ist. Aber vielleicht kannst du dir das mal ansehen?!? Ps. ich habe zwei Kanäle ausgeblendet (haken bei Sichtbarkeit entfernt) vielleicht hat es auch damit was zu tun.

Zudem ist mir aufgefallen, das die Direktverknüpfungen nicht ausgelößt werden, wenn ich in der WebUi auf "Tastendruck kurz" oder "Tastendruck lang" klicke. (Im Protokoll wird aber aufgeführt, das die Taste gedruckt wurde, also wird anscheinend nur das Telegram nicht vom Aktor verarbeitet, oder gar nicht erst hingeschickt..)
Gleiches wenn ich unter den oben genannten Geräte-Einstellungen auf "Simuliere Tastendruck" klicke. Passiert auch nichts..
Drücke ich aber am Aktor selber auf die Taste, wird die Direktverknüpfung ausgeführt.

Die ausgeblendeten Kanäle sehe ich jetzt auch nicht mehr, ich weiß also nicht, wie ich die wieder sichtbar bekomme (vermutlich über den Homematic Manager)

Gruß Carsten
Gruß Carsten

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Beitrag von papa » 31.08.2018, 12:22

Bratmaxe hat geschrieben:
31.08.2018, 11:49
Zudem ist mir aufgefallen, das die Direktverknüpfungen nicht ausgelößt werden, wenn ich in der WebUi auf "Tastendruck kurz" oder "Tastendruck lang" klicke. (Im Protokoll wird aber aufgeführt, das die Taste gedruckt wurde, also wird anscheinend nur das Telegram nicht vom Aktor verarbeitet, oder gar nicht erst hingeschickt..)
Gleiches wenn ich unter den oben genannten Geräte-Einstellungen auf "Simuliere Tastendruck" klicke. Passiert auch nichts..
Drücke ich aber am Aktor selber auf die Taste, wird die Direktverknüpfung ausgeführt.
Das hängt wahrscheinlich damit zusammen, dass die Lib Nachrichten, die über Funk reinkommen und als Sender die eigene ID haben, ignoriert werden. Dass interne Peering genau so arbeiten, dass Nachrichten mit Sender == Empfänger == eigenen ID verwendet werden. Diese Nachrichten werden besonders abgearbeitet - z.B. keine AES Prüfung erzwungen. Damit das dann aber kein Sicherheitsproblem wird, werden eben keine Nachrichten mit der eigenen ID als Absender vom Funkmodul akzeptiert.
Ich hoffe, dass war jetzt irgendwie verständlich.
Anfragen zur AskSin++ werden nur im Forum beantwortet

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Beitrag von Bratmaxe » 31.08.2018, 12:59

ja doch, ich denke ich verstehe was du meinst.
Ist wie gesagt auch für mich nicht wichtig. Für mich ist wichtig, das ich den Tastendruck am Gerät mitbekomme und somit reagieren kann. Und das ist ja gegeben!


Danke
Gruß Carsten
Gruß Carsten

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Beitrag von Bratmaxe » 03.09.2018, 11:44

@jp112sdl:
ich habe nun zwei Aktoren mit dem Sketch des "HB-UNI-SenAct-4-4" umprogrammiert. Einer davon (Device ID: F3) holt die Konfigurationsdaten automatisch ab. Der zweite (Device ID: F4 <-manuell hochgezogen) holt die Daten nicht automatisch ab, und anscheinend auch nicht wenn ich den Konfig-Taster drücke.. (Strom aus--> an habe ich noch nicht getestet)..
Hast du da ne Idee woran das liegen könnte, bzw. wie ich den Aktor dazu kriege die Daten abzurufen?

Gruß Carsten
Gruß Carsten

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Beitrag von papa » 03.09.2018, 12:06

Du musst immer die Device ID und die Device Serial ändern.
Anfragen zur AskSin++ werden nur im Forum beantwortet

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Beitrag von jp112sdl » 03.09.2018, 12:06

Bratmaxe hat geschrieben:
03.09.2018, 11:44
Einer davon (Device ID: F3) holt die Konfigurationsdaten automatisch ab.
Das ist jetzt keine komplette Device ID.
Poste zur Sicherheit bitte mal bei Device IDs - von dem Gerät, wo es funktioniert und von dem, wo es nicht funktioniert.

Weiterhin sicherheitshalber nachgefragt: Das "0xf3" bei "Device Model" hast du belassen, oder auch auf f4 geändert?

Die "Device Serial" unterscheidet sich auch zwischen beiden Geräten?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: HB-UNI-SenAct-4-4 auf HM-LC-Sw2PBU-FM flashen

Beitrag von Bratmaxe » 03.09.2018, 14:07

Da hast du natürlich Rest.

ich habe nur den ersten Teil der Device ID beschrieben:

Code: Alles auswählen

{0xf3, DEV_MODEL, 0x01},// Device ID
"JPSENACT01",           // Device Serial
{0xf3, DEV_MODEL},      // Device Model
DEV_MODEL ist in meinem Fall "0x32"

hier habe ich die Device Serial hochgezogen auf "JPSENACT02". Da ich den Aktor danach nicht anlernen konnte habe ich dann noch 0xf3 auf 0xf4 hochgezogen, danach konnte ich den Aktor anlernen:

Code: Alles auswählen

{0xf4, DEV_MODEL, 0x01},// Device ID
"JPSENACT02",           // Device Serial
{0xf3, DEV_MODEL},      // Device Model
Device Model habe ich nicht verändert!

Beim Aktor 1 (0xf3) funktioniert alles beim zweiten Aktor (0xf4) leider nicht.

Gruß Carsten
Gruß Carsten

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“