AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

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

Moderator: Co-Administratoren

Antworten
cactus-online
Beiträge: 123
Registriert: 10.08.2014, 13:29
Danksagung erhalten: 2 Mal

AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

Beitrag von cactus-online » 11.02.2022, 20:53

Hallo,

wer kann mir einen Tipp geben, wo ich suchen muss? Ich habe einen einen Testaufbau für einen HM-SEC-MDIR gestartet, der als Bewegungsmelder AM312 und als Helligkeitssensor TSL2561 verwendet, also genau wie im Beispiel vorgesehen. Der Bewegungsmelder meldet korrekt, aber immer den Helligkeitswert 0. Der Sensor wird erkannt und ich habe schon eine 4er und eine 5er AskSin++ lib ausprobiert:

Code: Alles auswählen

AskSin++ V4.0.3 (Feb 11 2022 20:20:41)
TSL2561 found at 0x29
Address Space: 32 - 76

AskSin++ v5.0.0 (Feb 11 2022 20:42:28)
TSL2561 found at 0x29
Address Space: 32 - 76
Grundsätzlich funktioniert der Sensor auch, wenn ich das Beispiel der TSL2561 lib verwende, wird ein Helligkeitswert gemessen

Code: Alles auswählen

Found sensor
Lux: 246
Lux: 246
Lux: 57
Lux: 103
Lux: 36
Lux: 17
Lux: 9
Lux: 25
Lux: 14
Lux: 9
Lux: 245
Lux: 243
Da das Gerät ja quasi direkt in der AskSin++ versteckt ist, fehlt mir jetzt ein Ansatzpunkt, was schief laufen könnte ... .

Kann mir jemand helfen ?

Ganz lieben Dank im Voraus.

cactus-online
Beiträge: 123
Registriert: 10.08.2014, 13:29
Danksagung erhalten: 2 Mal

Re: AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

Beitrag von cactus-online » 14.02.2022, 10:32

Code: Alles auswählen

TSL2561 found at 0x29
ist leider keine zuverlässige Meldung. Bei mir hat der Sensor die Adresse

Code: Alles auswählen

TSL2561 found at 0x39
was mit

Code: Alles auswählen

typedef MotionChannel<Hal,PEERS_PER_CHANNEL,List0,Tsl2561<TSL2561_ADDR_FLOAT> > MChannel;
im Sketch einzustellen war. Jetzt kommen auch Werte ... .

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

Re: AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

Beitrag von papa » 14.02.2022, 20:15

Das ist ja blöd. Könntest Du mal rausfinden, warum das falsch angezeigt wird. Damit wir das dann mal fixen können.
Anfragen zur AskSin++ werden nur im Forum beantwortet

rih
Beiträge: 123
Registriert: 09.05.2019, 23:04
System: keine Zentrale (nur Pairing, FHEM etc.)
Wohnort: Nürtingen
Hat sich bedankt: 19 Mal
Danksagung erhalten: 10 Mal

Re: AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

Beitrag von rih » 14.02.2022, 20:54

@cactus-online:
Welches TSL2561-Breakout hast Du denn? Bei den meisten erhältlichen TLS2561 gibt es ein 3-poliges Lötfeld, mit welchem die Adresse festgelegt werden kann bzw. muss. Damit sich der Sensor auf Adresse 0x29 meldet, muss das mittlere Lötfeld mit dem GND-Lötfeld (Low) gebrückt werden. Hast Du das beachtet?
Viele Grüße,
Hans

cactus-online
Beiträge: 123
Registriert: 10.08.2014, 13:29
Danksagung erhalten: 2 Mal

Re: AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

Beitrag von cactus-online » 14.02.2022, 21:26

Häh, häh, häh. Da fragst Du ja den Richtigen, ich kann nicht programmieren. Nein, Du kannst es nicht korrigieren, es sei denn, Du fixed die deprecated TSL-Lib.

In der TSL2561.cpp wird in der Funktion begin der Klasse TSL2561 eine Verundung

Code: Alles auswählen

if (x & 0x0A ) {
vorgenommen, die aber scheinbar nicht korrekt ist (oder nicht mehr zur Wire Funktion passt - x ist FFFFFF, wenn kein Sensor initialisiert wurde). Jedenfalls ist das Ergebnis immer true. Mal schnell reingehacked

Code: Alles auswählen

if (x != -1 ) {
dann läuft es. Allerdings sagt der Autor ja selbst, dass man die Lib nicht mehr verwenden soll. Er verweist stattdessen die https://github.com/adafruit/Adafruit_TSL2561. Die ist leider sehr anders, so dass es mir mit meinen Fähigkeiten nicht gelingt, diese zu integrieren.

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

Re: AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

Beitrag von jp112sdl » 15.02.2022, 06:40

cactus-online hat geschrieben:
14.02.2022, 21:26
Er verweist stattdessen die https://github.com/adafruit/Adafruit_TSL2561. Die ist leider sehr anders, so dass es mir mit meinen Fähigkeiten nicht gelingt, diese zu integrieren.
Dort wird mit 0x05 maskiert

Code: Alles auswählen

  /* Make sure we're actually connected */
  uint8_t x = read8(TSL2561_REGISTER_ID);
  if (x & 0x05) { // ID code for TSL2561
    return false;
  }
  
https://github.com/adafruit/Adafruit_TS ... #L106-L110
cactus-online hat geschrieben:
14.02.2022, 21:26
x ist FFFFFF, wenn kein Sensor initialisiert wurde
Das wäre bei der Annahme von 0xFF auch immer wahr.

VG,
Jérôme ☕️

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

cactus-online
Beiträge: 123
Registriert: 10.08.2014, 13:29
Danksagung erhalten: 2 Mal

Re: AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

Beitrag von cactus-online » 15.02.2022, 09:21

rih hat geschrieben:
14.02.2022, 20:54
@cactus-online:
Welches TSL2561-Breakout hast Du denn? Bei den meisten erhältlichen TLS2561 gibt es ein 3-poliges Lötfeld, mit welchem die Adresse festgelegt werden kann bzw. muss. Damit sich der Sensor auf Adresse 0x29 meldet, muss das mittlere Lötfeld mit dem GND-Lötfeld (Low) gebrückt werden. Hast Du das beachtet?
Danke für die Info. Da der Sensor vermutlich immer mit offenen Lötbrücken ausgeliefert werden wird, ist das originale Beispiel zur Lib mit TSL2561_ADDR_FLOAT und nicht TSL2561_ADDR_LOW wie es der HM-SEC_MDIR Beipiel-Sketch verwendet. Somit ergeben sich 3 Möglichkeiten

  • schliessen der Brücke auf dem Breakout zu LOW und übernehmen des HM-SEC_MDIR-Sketch as is
  • belassen des Breakout as is und ändern der Adresse von TSL2561_ADDR_LOW zu TSL2561_ADDR_FLOAT im Sketch
  • schliessen der Brücke auf dem Breakout zu HIGH ändern der Adresse von TSL2561_ADDR_LOW zu TSL2561_ADDR_HIGH im Sketch


Ich hoffe, dass es damit für alle, die auch über das Problem stolpern, eine passende Option geben wird.

cactus-online
Beiträge: 123
Registriert: 10.08.2014, 13:29
Danksagung erhalten: 2 Mal

Re: AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

Beitrag von cactus-online » 16.02.2022, 11:07

jp112sdl hat geschrieben:
15.02.2022, 06:40
cactus-online hat geschrieben:
14.02.2022, 21:26
Er verweist stattdessen die https://github.com/adafruit/Adafruit_TSL2561. Die ist leider sehr anders, so dass es mir mit meinen Fähigkeiten nicht gelingt, diese zu integrieren.
Dort wird mit 0x05 maskiert
Mit der neueren Lib funktioniert die Sensorerkennung. Mein Sensor ist FLOAT adressiert:

Adafruit_TSL2561_Unified tsl = Adafruit_TSL2561_Unified(TSL2561_ADDR_LOW, 12345);

Code: Alles auswählen

Light Sensor Test

Ooops, no TSL2561 detected ... Check your wiring or I2C ADDR!

Adafruit_TSL2561_Unified tsl = Adafruit_TSL2561_Unified(TSL2561_ADDR_FLOAT, 12345);

Code: Alles auswählen

Light Sensor Test

------------------------------------
Sensor:       TSL2561
Driver Ver:   1
Unique ID:    12345
Max Value:    17000.00 lux
Min Value:    1.00 lux
Resolution:   1.00 lux
------------------------------------

------------------------------------
Gain:         Auto
Timing:       13 ms
------------------------------------

148.00 lux

emil70
Beiträge: 288
Registriert: 02.12.2017, 13:47
System: CCU
Hat sich bedankt: 33 Mal
Danksagung erhalten: 8 Mal

Re: AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

Beitrag von emil70 » 03.07.2022, 16:09

@cactus-online

Welchen TSL2561 nutzt du da genau? Link wäre nett

Du schreibst Adafruit_TSL2561. Es gibt da ja soviel über Google. Laufen die den auf mit der Lib?

Wie sieht es mit der Batterielebensdauer aus, wenn du sie im HM-SEC-MDIR mit drin hast?

Der TSL2561 braucht, so wie ich das lese mind 3Volt. Der AM312 PIR läuft ab 2.7 Volt


Edit: Beim TSL2561 Luminosity Sensor steht im Datenblatt Voltage range: 2.7-3.6V

Aber läuft der mit der lib?
gruß emil70

cactus-online
Beiträge: 123
Registriert: 10.08.2014, 13:29
Danksagung erhalten: 2 Mal

Re: AskSin++ Beispiel für HM-SEC-MDIR liefert immer Brightness: 0

Beitrag von cactus-online » 04.07.2022, 09:47

Ich verwende einen beliebigen AM312 Klon (der letzte Kauf waren 5 Stück für 9 € bei Ali). Ich arbeite grundsätzlich mit einem Step-Up-Regler auf 3,3V, da ich ausschließlich R3-Akkus (AAA) verwende. Seit der Inbetriebnahme der Sensoren habe ich die Akkus noch nicht wechseln müssen, die Energieaufnahme ist deutlich geringer als von mir erwartet.

Antworten

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