Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

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

Moderator: Co-Administratoren

spiecky
Beiträge: 73
Registriert: 09.12.2017, 15:51

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von spiecky » 09.08.2018, 09:50

ah...okay...gut, dann brauche ich das Ding zum flashen wenigstens nicht wieder ausbauen. Dann lasse ich das so. Batterien werden das schon ne Zeit überleben. Mein Original BM auf dem Flur hält auch schon ewig und der hat ne Menge mehr zu tun :wink:

Danke für die Info......

klassisch
Beiträge: 3398
Registriert: 24.03.2011, 04:32

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von klassisch » 10.08.2018, 08:02

jp112sdl hat geschrieben:
06.08.2018, 08:41
An dem File habe ich mich orientiert.
Habe Zeile 1:

Code: Alles auswählen

<device version="29" rx_modes="CONFIG,WAKEUP,BURST" rx_default="BURST" cyclic_timeout="600" supports_aes="true">
und die Sektion

Code: Alles auswählen

		<parameter id="BURST_RX">
			<logical type="boolean" default="true"/>
			<physical type="integer" interface="config" list="0" index="1" size="1.0"/>
		</parameter>
mit eingefügt.


Durch Hinzufügen der Sektion erhält man in der WebUI eine zusätzliche Checkbox "Wake on Radio".
Und egal, ob ich die aktiviere oder deaktivere - der rfd-Daemon schreibt immer "usingBurstMode=1".

Im Sketch habe ich auch DREG_BURSTRX in List0 mit reingenommen.
Wird auch alles ordentlich quittiert.
Das kann ich bestätigen. Ist auch bei mir so. Egal, ob man die Checkbox anklickt oder nicht, die CCU schickt dann immer einen wake burst. Ist eine andere Methode bekannt, mit der man das wählbar machen kann?
Hab heute Nacht wieder etwas weiter gemacht und noch ein paar Fragen:
- Z.B suche ich nach einer Schaltmöglichkeit für die LED. Bei den originalen HM-Geräten nutze ich die LED zum Anlernen und schalte sie danach aus um Batterie zu sparen. Wenn ich es rech verstanden habe, kann ich die LED hier im Arduino Sketch fest abschalten, aber dann bleibt sie natürlich immer aus. Notlösung wäre ein HW-Jumper in der LED-Zuleitung. Wenig elegant.
- Ausserdem sendet das Gerätchen recht häufig zyklisch eine Meldung. Wo wird die Zeit dazu festgelegt? im XML sehe ich

Code: Alles auswählen

cyclic_timeout="600"
und im Sketch

Code: Alles auswählen

#define CYCLETIME seconds2ticks(60UL * 3 * 0.88)
- Wenn ich die zyklische Sendung z.B. auf 16h setzen möchte, muß ich dann im Sketch und im xml diesen Wert mit 16 multipizieren?
- Was muß ich alles ändern um ein anderes Gerät zu erzeugen? Bei mir ist das jetzt ein unbekanntes Gerät
Vielen Dank!

jp112sdl
Beiträge: 2704
Registriert: 20.11.2016, 20:01
Kontaktdaten:

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von jp112sdl » 10.08.2018, 13:37

klassisch hat geschrieben:
10.08.2018, 08:02
- Z.B suche ich nach einer Schaltmöglichkeit für die LED. Bei den originalen HM-Geräten nutze ich die LED zum Anlernen und schalte sie danach aus um Batterie zu sparen. Wenn ich es rech verstanden habe, kann ich die LED hier im Arduino Sketch fest abschalten, aber dann bleibt sie natürlich immer aus. Notlösung wäre ein HW-Jumper in der LED-Zuleitung. Wenig elegant.
Schau dir mal die Sache mit der ledOntime an, in der Threestate.h
Wenn du diese auf (0) setzt, dürfte die LED aus bleiben.
klassisch hat geschrieben:
10.08.2018, 08:02
- Ausserdem sendet das Gerätchen recht häufig zyklisch eine Meldung. Wo wird die Zeit dazu festgelegt? im XML sehe ich

Code: Alles auswählen

cyclic_timeout="600"
und im Sketch

Code: Alles auswählen

#define CYCLETIME seconds2ticks(60UL * 3 * 0.88)
- Wenn ich die zyklische Sendung z.B. auf 16h setzen möchte, muß ich dann im Sketch und im xml diesen Wert mit 16 multipizieren?
Bei 16 Stunden musst du 60 Sekunden * 60 Minuten * 16 Stunden * Korrekturfaktor rechnen.
60UL * 60 * 16 * 0.88
klassisch hat geschrieben:
10.08.2018, 08:02
- Was muß ich alles ändern um ein anderes Gerät zu erzeugen? Bei mir ist das jetzt ein unbekanntes Gerät
- /www/config/devdescr/DEVDB.tcl
- /www/webui/webui.js
- /www/config/stringtable_de.txt
- /www/webui/js/lang/de/translate.lang.stringtable.js

Schau dir mal ein relativ kurzes Installationsskript aus meinem Addon an.
https://github.com/jp112sdl/JP-HB-Devic ... en-dist-us

VG,
Jérôme

WernerSch
Beiträge: 58
Registriert: 23.01.2018, 09:12

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von WernerSch » 28.08.2018, 19:23

Hallo

ich habe jetzt die Schaltung für den HM-WDS40-TH-I-BME280 nachgebaut. Lief auch schon an der CCU2 nur es kamen keine Werte. Ich habe mit examples die LED, Taster und den BMP280 gecheckt, Es war eine Brücke für die Adresse vom BMP. Dann habe ich die Software wieder aufgespielt und nix geht mehr. Ich habe schon den Pro Mini und das Funkmodul gewechselt. Im Monitor sehe ich nur

AskSin++ V3.1.1 (Aug 28 2018 18:14:03)

Ich hab mal was gelesen vom internen EEPROM, das es da Probleme wohl gab. Den habe ich auch mal gelöscht.
Was kann ich da falsch gemacht haben. Was für Möglichkeiten habe ich zum testen?

Gruß
Werner

deimos
Beiträge: 2671
Registriert: 20.06.2017, 10:38
Wohnort: Leimersheim
Kontaktdaten:

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von deimos » 28.08.2018, 19:28

Hi,

BME280 oder BMP280? Du brauchst den BME280 sonst kommen keine Werte für die Luftfeuchtigkeit, weil der BMP das nicht kann.

Ansonsten deutet das Fehlerbild darauf hin, dass der Sensor nicht erkannt wird, deine Anpassung mit der Brücke hätte vermutlich nicht gemacht werden sollen.

Viele Grüße
Alex

WernerSch
Beiträge: 58
Registriert: 23.01.2018, 09:12

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von WernerSch » 28.08.2018, 20:30

Hallo Alex

sorry war ein Schreibfehler. Natürlich ist es ein BME280. Doch auf der Rückseite sind Lötpads für die Anpassung der Adresse. Danach lief der Sensor ja und brachte Werte. Von Sparkfun gibt es z.B. eine Library da liest ein Example beide Adressen und man sieht gleich auf welcher dein Sensor liegt.

Die Software lief vorher auch obwohl der Sensor nicht erkannt wurde. In der CCU2 hatte ich dann immer 0°C und 0% Feuchte
Da habe ich dann meine Hardware gecheckt.

Gruß
Werner

deimos
Beiträge: 2671
Registriert: 20.06.2017, 10:38
Wohnort: Leimersheim
Kontaktdaten:

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von deimos » 28.08.2018, 20:42

Hi,

der Sketch verwendet die I2C Adresse 0x76, welche imho bei allen Platinen im Standard gesetzt ist. Wenn du die jetzt in der Hardware auf 0x77 gebrückt hast, dann kommt es genau zu dem Fehlerbild.

Ich würde daher vorschlagen, dass du die Adresse nochmal zurück änderst und dann mal auf die serielle Ausgabe schaust, ob es dann weiter geht und wenn ja was laut serieller Ausgabe gemessen wird.

Viele Grüße
Alex

WernerSch
Beiträge: 58
Registriert: 23.01.2018, 09:12

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von WernerSch » 29.08.2018, 07:14

Hi Alex

anscheinend habe ich es richtig gemacht. Ich habe nochmal nachgedacht was ich genau gemacht habe.
Ich habe ja die Library genommen die für die Schaltung empfohlen wurde. Da lies sich die Schaltung an der CCU2 anlernen, nur in iobroker habe ich keine Werte gesehen. Ein Example der Library hat gezeigt das der Sensor nicht erreichbar ist. LED und Taster gingen. Ich habe dann die Library mal gegen die von Sparkfun ausgetauscht. Da habe ich das mit der Adresse gefunden. Nach dem Adresswechsel lief auch das example der ursprünglichen Library. Nur mein Sensor nicht mehr. Die alten Libraries habe ich natürlich immer gelöscht. Das steht bei Sparkfun zur Adresse. Scheint auch dasselbe Layout zu sein wie meine

I2C Address Select between addresses 0x77 (default, '1' side) and 0x76 by slicing the trace and bridging the '0' side. Controls the least significant bit.

https://learn.sparkfun.com/tutorials/sp ... okup-guide

Ich war ja einige Jahre Entwickler und Sparkfun kann ich nur empfehlen zum nachschlagen für Arduinomodule oder auch anderes. Die haben immer sehr Detailgenau alles beschrieben und viel Hintergrundinfos und Datenblätter

Gruß
Werner

WernerSch
Beiträge: 58
Registriert: 23.01.2018, 09:12

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von WernerSch » 29.08.2018, 07:17

Hi Alex

kleiner Nachtrag, Ich werde es aber trotzdem heute abend mal zurück ändern weil mich interessiert was dann meine Schaltung macht.

Gruß
Werner

Bratmaxe
Beiträge: 1353
Registriert: 28.05.2015, 12:48
Wohnort: Willich

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSin

Beitrag von Bratmaxe » 29.08.2018, 07:54

deimos hat geschrieben:
28.06.2018, 08:51
Hi,

der ATmega32U4 ist was relativ besonderes, weil er einen integrierten USB hat.

Sofern er nicht out-of-the-box jetzt schon funktioniert vermute ich stark, dass es nicht zu schwer sein dürfte, den auch zu unterstützen, sofern man den OTA Bootloader mal ausklammert. Diese Vermutung stütze ich auf meine Erfahrung beim Erstellen des Supports für den 644/1284, da war der Großteil der Arbeit in den beiden externen Libs LowPower und EnableInterrupt. Und diese unterstützen den 32U4 bereits.

(Das gilt jetzt natürlich nur für die 3.3V/8MHz Variante)

Viele Grüße
Alex

Moin,

ich hatte irgendwie im Kopf, das der ATMEGA32U4 bereits funktionieren sollte. Daher habe ich gestern versucht den "HM-LC-Sw1-PL-DN-R1.ino" Sketch zu kompilieren. Leider erhalte ich folgenden Fehler:

Code: Alles auswählen

LowPower.h:144:10: note: void LowPowerClass::idle(period_t, adc_t, timer4_t, timer3_t, timer1_t, timer0_t, spi_t, usart1_t, twi_t, usb_t)
     void idle(period_t period, adc_t adc, timer4_t timer4, 
          ^
LowPower.h:144:10: note:   candidate expects 10 arguments, 8 provided
Das hatte ich auch schon mal, aber ich meine, das es danach ein update gab, oder das ich was falsch gemacht hatte (ich finden das aber nicht mehr).. Ich habe aber AskSinnPP, EnableInterupt und LowPower gerade nochmal neu runtergeladen und erhalte denselben Fehler..
Low-Power soll den 32U4 aber unterstützen, daher wundere ich mich, das gerade die den Fehler generiert.

Habt ihr ne Idee, wo ich suchen könnte?

Gruß Carsten
Gruß Carsten

Gesperrt

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