RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware
Moderator: Co-Administratoren
-
- Beiträge: 705
- Registriert: 22.05.2018, 10:23
- Hat sich bedankt: 24 Mal
- Danksagung erhalten: 120 Mal
Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware
Wow - das ging ja schnell.
Ist der Spike vielleicht immer auf dem gleichen Kanal ? Könnte mal als schnellen Hack einfach den anderen Pin als Erkennung nehmen?
Ist der Spike vielleicht immer auf dem gleichen Kanal ? Könnte mal als schnellen Hack einfach den anderen Pin als Erkennung nehmen?
Anfragen zur AskSin++ werden nur im Forum beantwortet
-
- Beiträge: 12085
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 847 Mal
- Danksagung erhalten: 2139 Mal
- Kontaktdaten:
Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware
Vielleicht ja.
Ich müsste dazu einen Langzeit-Test machen
Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware
Hallo miteinander,
@Jerome - Klasse - hab`s doch gewusst das das für dich ein Klacks ist
Habe deine Änderungen eingearbeitet - beim Test mit zwei kräftigen AA-Zellen hat er brav gemeckert - mit drei Zellen keine Fehlermeldung mehr.
Wie äußern sich die "Fehlbewegungen" - habe den heute wieder aus dem Fenster "gucken" lassen - im Historian kann ich (wieder - siehe Thread oberhalb) keine "Fehlbewegung" erkennen.
Greetz SunTi
@Jerome - Klasse - hab`s doch gewusst das das für dich ein Klacks ist
Habe deine Änderungen eingearbeitet - beim Test mit zwei kräftigen AA-Zellen hat er brav gemeckert - mit drei Zellen keine Fehlermeldung mehr.
Wie äußern sich die "Fehlbewegungen" - habe den heute wieder aus dem Fenster "gucken" lassen - im Historian kann ich (wieder - siehe Thread oberhalb) keine "Fehlbewegung" erkennen.
Greetz SunTi
-
- Beiträge: 705
- Registriert: 22.05.2018, 10:23
- Hat sich bedankt: 24 Mal
- Danksagung erhalten: 120 Mal
Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware
Dann probiere mal das hier:
In Motion.h
Code: Alles auswählen
// helper class to check that 2 pins are triggered in a certain time frame
template <int TIMEFRAME>
class TwoPinTrigger : public Alarm {
uint8_t lastpin;
public:
TwoPinTrigger () : Alarm(0,true), lastpin(0xff) {}
virtual ~TwoPinTrigger () {}
bool check(uint8_t p) {
bool result = false;
if( lastpin == 0xff ) { // first trigger
lastpin = p;
sysclock.cancel(*this);
set(millis2ticks(TIMEFRAME));
sysclock.add(*this);
}
else if( lastpin != p ) { // second trigger
sysclock.cancel(*this);
lastpin = 0xff;
result = true;
}
return result;
}
virtual void trigger (__attribute__ ((unused)) AlarmClock& clock) {
lastpin = 0xff; // reset after timeout
}
};
#define motionISR2Pin(device,chan,pin1,pin2,timeframe) static TwoPinTrigger<timeframe> trigger; \
class device##chan##ISRHandler { \
public: \
static void isr1 () { if( trigger.check(pin1)==true) device.channel(chan).motionDetected(); } \
static void isr2 () { if( trigger.check(pin2)==true) device.channel(chan).motionDetected(); } \
}; \
pinMode(pin1,INPUT); \
pinMode(pin2,INPUT); \
if( digitalPinToInterrupt(pin1) == NOT_AN_INTERRUPT ) \
enableInterrupt(pin1,device##chan##ISRHandler::isr1,RISING); \
else \
attachInterrupt(digitalPinToInterrupt(pin1),device##chan##ISRHandler::isr1,RISING); \
if( digitalPinToInterrupt(pin2) == NOT_AN_INTERRUPT ) \
enableInterrupt(pin2,device##chan##ISRHandler::isr2,RISING); \
else \
attachInterrupt(digitalPinToInterrupt(pin2),device##chan##ISRHandler::isr2,RISING);
Code: Alles auswählen
motionISR2Pin(sdev,1,PIR_PIN1,PIR_PIN2,100);
Anfragen zur AskSin++ werden nur im Forum beantwortet
-
- 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
Hallo zusammen,
erstmal vielen Dank an jp112sdl und papa. Wahnsinn, wie schnell ihr Lösungen zaubert.
Deine Codezeile bezieht sich hier aber auf den WMDO mit den beiden Komparatorpins am 328 nehme ich an, oder?
Was müsste man dann für den WMD noch ergänzen um beide PIRs zu nutzen?
erstmal vielen Dank an jp112sdl und papa. Wahnsinn, wie schnell ihr Lösungen zaubert.
Ich dachte schon, ich hätte Hallus. Interessanterweise meldete der gleiche BM mit gleichem Sketch unter fhem viel mehr "falsche" Bewegungen als an einer CCU.
@papa Der WMDO hat ja nur einen Pir und der WMD 2. Im Sketch wird der Variablenname PIR_PIN1 und PIR_PIN2 für die beiden Pir's des WMD benutzt.papa hat geschrieben: ↑11.04.2023, 20:35Und dann im init()Ist aber nicht getestet - nur durch den Compiler geschickt.Code: Alles auswählen
motionISR2Pin(sdev,1,PIR_PIN1,PIR_PIN2,100);
Deine Codezeile bezieht sich hier aber auf den WMDO mit den beiden Komparatorpins am 328 nehme ich an, oder?
Was müsste man dann für den WMD noch ergänzen um beide PIRs zu nutzen?
VG Thomas
Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware
Hallo miteinander,
Ich rede vom WMDO - AUSSEN - letzte Änderungen von Jerome eingearbeitet
3. Versuch zum Thema "Fehlbewegungsmeldungen" - wie stellt ihr die fest? - Ich habe gerade wieder im Historian nachgeschaut - keinerlei "Fehl"-Bewegungsmeldungen heute Nacht
Greetz SunTi
Ich rede vom WMDO - AUSSEN - letzte Änderungen von Jerome eingearbeitet
3. Versuch zum Thema "Fehlbewegungsmeldungen" - wie stellt ihr die fest? - Ich habe gerade wieder im Historian nachgeschaut - keinerlei "Fehl"-Bewegungsmeldungen heute Nacht
Greetz SunTi
-
- Beiträge: 12085
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 847 Mal
- Danksagung erhalten: 2139 Mal
- Kontaktdaten:
Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware
Ja genau. Beim WMD hast du 4 Pins.
Da es sich um ein 1-Kanal-Gerät handelt, müsste man die Bewegungserkennungen beider PIR "ver-odern".
"Bewegung erkannt" in der CCU , obwohl keine Bewegung stattgefunden hat
Nächste Woche hab ich auch noch mal Zeit, mich damit näher zu befassen
- Peter.matic
- Beiträge: 20
- Registriert: 01.08.2022, 22:00
- System: CCU
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 4 Mal
Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware
Hallo allerseits,
nun muss ich mich doch einmal in die Diskussion einschalten. Ich beschäftige mich auch schon eine ganze Weile mit dem WMD.
Die meisten der hier angesprochenen Probleme habe ich auch schon gelöst.
Ein funktionsfähiges Sketch kann ich auch zur Verfügung stellen.
Alle meine Erkenntnisse habe ich in einem github Repository zusammengestellt, das hier zu finden ist.
Bitte dort weiterlesen.
Ich hoffe, dass alles so funktioniert. Andernfalls hier melden, dann sehen wir weiter.
Viel Spass damit...
nun muss ich mich doch einmal in die Diskussion einschalten. Ich beschäftige mich auch schon eine ganze Weile mit dem WMD.
Die meisten der hier angesprochenen Probleme habe ich auch schon gelöst.
Ein funktionsfähiges Sketch kann ich auch zur Verfügung stellen.
Alle meine Erkenntnisse habe ich in einem github Repository zusammengestellt, das hier zu finden ist.
Bitte dort weiterlesen.
Ich hoffe, dass alles so funktioniert. Andernfalls hier melden, dann sehen wir weiter.
Viel Spass damit...
-
- Beiträge: 12085
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 847 Mal
- Danksagung erhalten: 2139 Mal
- Kontaktdaten:
Re: RWE/Innogy/Livisi Bewegungsmelder WMD - Homematic/AskSinPP Firmware
Das ist ja mal alles schön ordentlich aufgeschrieben und dokumentiert.
Nur das
ist komisch. Funktioniert das so?
Von der Logik her, hast du gerade 4 Geräte-Kanälen Pins zugewiesen, obwohl das Gerät nur 1 Kanal besitzt
Hier gilt es immer noch, eine "Gesamt-ISR" für alle 4 Pins (eigentlich eine Logik aus 2x2 Pins) zu bauen.
Bei Bewegung kommt ja immer 1 Impuls des einen Komparatorausgangs gefolgt von einem Impuls des zweiten.
Nur das
Code: Alles auswählen
motionISR(sdev,1,PIR_PIN1);
motionISR(sdev,2,PIR_PIN2);
motionISR(sdev,3,PIR_PIN3);
motionISR(sdev,4,PIR_PIN4);
Von der Logik her, hast du gerade 4 Geräte-Kanälen Pins zugewiesen, obwohl das Gerät nur 1 Kanal besitzt
Code: Alles auswählen
typedef MultiChannelDevice<Hal,MChannel,1> MotionType;
Bei Bewegung kommt ja immer 1 Impuls des einen Komparatorausgangs gefolgt von einem Impuls des zweiten.
-
- 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
Hallo Peter,
super dokumentierte Seite, wow.
dass bei einer erkannten Bewegung diese 3 Min lang ansteht, egal wie kurz diese wirklich ist.
Also frühestens nach 3 Min meldet der BM wieder "keine Bewegung"
Grüße Thomas
super dokumentierte Seite, wow.
ich habe dein Konstrukt mal quick&dirty ausprobiert. Es scheint zu funktionieren auf beiden PIRs. Was mir allerdings aufgefallen ist,Peter.matic hat geschrieben: ↑13.04.2023, 15:18
Ich hoffe, dass alles so funktioniert. Andernfalls hier melden, dann sehen wir weiter.
Viel Spass damit...
dass bei einer erkannten Bewegung diese 3 Min lang ansteht, egal wie kurz diese wirklich ist.
Also frühestens nach 3 Min meldet der BM wieder "keine Bewegung"
Grüße Thomas
VG Thomas