RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

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

Moderator: Co-Administratoren

Sunti
Beiträge: 451
Registriert: 10.12.2011, 17:56
Danksagung erhalten: 3 Mal

Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

Beitrag von Sunti » 02.04.2023, 17:15

Hallo miteinander,

ich dachte erst die Rechenoperation "255 -" sei falsch, würde nicht funktionieren - irgendwann habe ich es dann mal mit Addition versucht und es kamen nachvollziehbare Werte raus - ich hatte es auch am Anfang mal mit "510 -" versucht aber es kam immer noch Helligkeitswerte von "0" heraus

Dann hab ich angefangen mit "2550 -" und es ging in die Richtung "Hohe" Zahl gleich hell - "Niedrige" Zahl gleich dunkler

bei 1.250 - zeigte der Sensor in der dunklen Schublade 66 an / bei 1.200 noch 55 / bei 1.100 noch 30 und bei 1.000 = 0

Jetzt habe ich den Sensor mal neben einen originalen BW gestellt - dieser zeigt einen Helligkeitswert von "210" an während der WMDO leider schon "250" anzeigt. Heute Abend mal im Historian gucken wie die sich die Beiden bei der Dämmerung verhalten.

Was ich zum Sketch auf Seite 2 geändert habe:

klar eigene Device ID & Device Serial

{0x00,0x5D}, // Device Model

_brightness = 1000 - analogRead(A6);


Fehlermeldung "Batterie" leider immer noch

Greetz SunTi

jp112sdl
Beiträge: 12143
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 854 Mal
Danksagung erhalten: 2156 Mal
Kontaktdaten:

Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

Beitrag von jp112sdl » 02.04.2023, 17:55

Sunti hat geschrieben:
02.04.2023, 17:15
_brightness = 1000 - analogRead(A6);
Da analogRead max. 1024 liefern kann, wäre 1024-... richtig(er)

VG,
Jérôme ☕️

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

Sunti
Beiträge: 451
Registriert: 10.12.2011, 17:56
Danksagung erhalten: 3 Mal

Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

Beitrag von Sunti » 02.04.2023, 20:28

Hallo miteinander,

@ jp112sdl - na toll - ich mach da stundenlang rum und du schüttelst das mal eben so aus dem Ärmel - egal hab ja was gelernt

Komisch warum ich nicht auf die magische 1024 gekommen bin - so jetzt zeigt er "8" in der dunklen Schublade an

Greetz SunTi

Surfi
Beiträge: 30
Registriert: 16.01.2019, 13:42
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

Beitrag von Surfi » 03.04.2023, 18:33

Hallo @papa
Hat schon jemand rausgekriegt, ob wir irgendwo die SPannung abgreifen können ?
Meinst du UBat? Die müsste an A7 anliegen über einen symetrischen Spannungsteiler von jeweils 1M Ohm

Grüße Thomas
VG Thomas

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

Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

Beitrag von papa » 04.04.2023, 08:14

Dann müsste

#define BAT_SENSOR BatterySensorExt<A7,0xFF>

doch funktionieren.
Anfragen zur AskSin++ werden nur im Forum beantwortet

Sunti
Beiträge: 451
Registriert: 10.12.2011, 17:56
Danksagung erhalten: 3 Mal

Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

Beitrag von Sunti » 04.04.2023, 08:44

Hallo miteinander,

schön das es mit dem WMDO weitergeht - bin unterwegs - kann es wohl erst Donnerstag testen

Greetz SunTi

Sunti
Beiträge: 451
Registriert: 10.12.2011, 17:56
Danksagung erhalten: 3 Mal

Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

Beitrag von Sunti » 05.04.2023, 14:50

Hallo miteinander,

leider nein - die "Batterie"Fehlermeldung geht nicht weg - auch nicht bei Batterie neu anlegen - neu angelernt - Fehler kommt wieder

Code: Alles auswählen

//- -----------------------------------------------------------------------------------------------------------------------
// AskSin++
// 2016-10-31 papa Creative Commons - http://creativecommons.org/licenses/by-nc-sa/3.0/de/
// ci-test=yes board=328p aes=no
//- -----------------------------------------------------------------------------------------------------------------------


#define EI_NOTEXTERNAL
#include <EnableInterrupt.h>
#include <AskSinPP.h>
#include <LowPower.h>
#include <Register.h>

#include <MultiChannelDevice.h>
#include <Motion.h>

#define LED_PIN 8
#define CONFIG_BUTTON_PIN 0
// WMDO Bewegungsmelder Aussen
#define PIR_PIN 14
// WMD Bewegungsmelder Innen
//#define PIR_PIN1 17
//#define PIR_PIN2 14
#define PEERS_PER_CHANNEL 10



#define BAT_VOLT_LOW        34  // 3.4V low voltage threshold
#define BAT_VOLT_CRITICAL   29  // 2.9V critical voltage threshold, puts AVR into sleep-forever mode
#define BAT_SENSOR BatterySensorExt<A7,0xFF>



// all library classes are placed in the namespace 'as'
using namespace as;

// define all device properties
const struct DeviceInfo PROGMEM devinfo = {
    {0x00,0x10,0xAB},       // Device ID
    "XYZ0016471",           // Device Serial
    {0x00,0x5D},              // Device Model
    0x16,                   // Firmware Version
    as::DeviceType::MotionDetector, // Device Type
    {0x01,0x00}             // Info Bytes
};

/**
 * Configure the used hardware
 */
typedef AvrSPI<10, 11, 12, 13> SPIType;
typedef Radio<SPIType,2> RadioType;
typedef StatusLed<LED_PIN> LedType;
typedef AskSin<LedType,BAT_SENSOR,RadioType,Brightness> Hal;

class analogBrightness : public Brightness {
public:
  analogBrightness () {}
  void init () {
    _present = true;
    pinMode(A6, INPUT);
  }

  void measure (__attribute__((unused)) bool async=false) {
    _brightness = 1024 - analogRead(A6);
  }  
};

typedef MotionChannel<Hal,PEERS_PER_CHANNEL,List0,analogBrightness> MChannel;
typedef MultiChannelDevice<Hal,MChannel,1> MotionType;

Hal hal;
MotionType sdev(devinfo,0x20);
ConfigButton<MotionType> cfgBtn(sdev);

void setup () {
  DINIT(57600,ASKSIN_PLUS_PLUS_IDENTIFIER);
  sdev.init(hal);
  buttonISR(cfgBtn,CONFIG_BUTTON_PIN);
  // WMDO Bewegungsmelder Aussen
  motionISR(sdev,1,PIR_PIN);
  // WMD Bewegungsmelder Innen
  //motionISR(sdev,1,PIR_PIN1);
  //motionISR(sdev,2,PIR_PIN2);
  hal.initBattery(60UL*60,BAT_VOLT_LOW,BAT_VOLT_CRITICAL); // Measure Battery every 1h
  sdev.initDone();
  pinMode(4,OUTPUT);
}

void loop() {
  bool worked = hal.runready();
  bool poll = sdev.pollRadio();
  if( worked == false && poll == false ) {
    // deep discharge protection
    // if we drop below critical battery level - switch off all and sleep forever
    if( hal.battery.critical() ) {
      // this call will never return
      hal.activity.sleepForever(hal);
    }
    // if nothing to do - go sleep
    hal.activity.savePower<Sleep<>>(hal);
  }
  digitalWrite(4,HIGH);
}

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

Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

Beitrag von papa » 05.04.2023, 18:31

Kommen Werte auf der Serial-Console raus ?
Anfragen zur AskSin++ werden nur im Forum beantwortet

Sunti
Beiträge: 451
Registriert: 10.12.2011, 17:56
Danksagung erhalten: 3 Mal

Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

Beitrag von Sunti » 05.04.2023, 18:49

Hallo miteinander,

@papa - sag mir was ich machen soll und ich probiere es aus

Ich benutze Arduino IDE 2.0.4

Greetz SunTi

Surfi
Beiträge: 30
Registriert: 16.01.2019, 13:42
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware

Beitrag von Surfi » 05.04.2023, 19:36

Hallo zusammen,

Asche auf mein Haupt... das war wohl mein Fehler. Ich bin durch Suntis nachfolgenden Einträgen stutzig geworden und hab nochmal alles überprüft.
Mir ist da wohl ein Fehler unterlaufen und ich hatte den falschen Sketch geflasht. Alles nochmal mit dem Sketch und BatterySensorExt geflasht
und ich werde erst noch mal weiter testen. Sorry nochmal für die Verwirrung.
kann ich bestätigen. Mit dem BatterySensorExt Eintrag kommen wieder fast exakt alle 5 Min erkannte Bewegungen.
Es muss irgendwie mit den Routinen zur Batteriemessung zusammen hängen. Als ob da ein Pin genutzt wird, der schon anderweitig in Verwendung ist.

Ändere ich den Sketch wieder auf:
typedef AskSin<LedType,NoBattery,RadioType,Brightness> Hal;
//typedef AskSin<LedType,BAT_SENSOR,RadioType,Brightness> Hal;

treten keine falsch erkannten Bewegungen mehr auf.
Zuletzt geändert von Surfi am 05.04.2023, 21:23, insgesamt 2-mal geändert.
VG Thomas

Antworten

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