RWE ISC2 bleiben hängen / kein LED Licht mehr

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

Moderator: Co-Administratoren

Antworten
Bastler75
Beiträge: 1
Registriert: 23.10.2023, 00:11
System: Alternative CCU (auf Basis OCCU)

RWE ISC2 bleiben hängen / kein LED Licht mehr

Beitrag von Bastler75 » 23.10.2023, 00:50

Hallo,

ich habe mir drei ISC umgeflasht. Dev ID und Serial sind jeweils unterschiedlich.
Nach dem erfolgreichen Anlernen an die OCCU sehe ich den Taster auch.

Der erste Tastendruck wird noch mit grün bestätigt - danach ist aber schluss.
Wenn es nur der eine Taster wäre - O.K. aber es betrifft alle drei ISC2 (die ich originalverpackt bekommen habe).

Die ISS Schalter habe ich einbinden können. Mit dem Wandtaster WSC2 hatte ich auch keine Probleme.
Läuft der HM-PB-2-FM_ISC2.ino Sketch bei Euch?

Wo könnte mein Fehler liegen?

Lg

Horbi
Beiträge: 199
Registriert: 29.05.2019, 12:51
Hat sich bedankt: 19 Mal
Danksagung erhalten: 65 Mal

Re: RWE ISC2 bleiben hängen / kein LED Licht mehr

Beitrag von Horbi » 23.10.2023, 07:31

Hi, ich hatte ein ähnliches Problem und vermute das Powermanagement als Fehlerursache...
Der angehängte Sketch läuft bei mir recht stabil. Bin mir nicht sicher ob die geänderte Batteriespannungsmeßmethode oder die Schlafroutine den Unterschied macht.

Code: Alles auswählen


//- -----------------------------------------------------------------------------------------------------------------------
// AskSin++
// 2016-10-31 papa Creative Commons - http://creativecommons.org/licenses/by-nc-sa/3.0/de/
// 2021-02-12 jp112sdl Creative Commons - http://creativecommons.org/licenses/by-nc-sa/3.0/de/
// 2021-02-12 re-vo-lution Creative Commons - http://creativecommons.org/licenses/by-nc-sa/3.0/de/
//- -----------------------------------------------------------------------------------------------------------------------
// ci-test=yes board=328p aes=no
// fuses & lockbits: -U lfuse:w:0xe2:m -U hfuse:w:0xd2:m -U efuse:w:0xff:m

// define this to read the device id, serial and device type from bootloader section
// #define USE_OTA_BOOTLOADER

//#define SENSOR_ONLY
//#define SIMPLE_CC1101_INIT
//#define NOCRC
//#define NDEBUG

// 2FB ist ein AT24C512B
#define STORAGEDRIVER at24cX<0x50, 512, 128>
#include <Wire.h>

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

#include <MultiChannelDevice.h>
#include <Remote.h>

#define LED_PIN           8
#define CONFIG_BUTTON_PIN 0
#define BTN1_PIN          14
#define BTN2_PIN          15
#define CC1101_PWR_PIN    5
#define CC1101_GDO0_PIN   2

// number of available peers per channel
#define PEERS_PER_CHANNEL 16
#define SLEEP_DELAY_MS    3000 //wait milliseconds before sleep mode


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

// define all device properties
const struct DeviceInfo PROGMEM devinfo = {

  {0x76, 0x41, 0xdd},   // Device ID - 01 vergeben
  "HB07750109",         // Device Serial - 01 vergeben

  {0x00, 0xBF},           // Device Model
  0x14,                   // Firmware Version
  as::DeviceType::Remote, // Device Type
  {0x00, 0x00}            // Info Bytes
};

/**
   Configure the used hardware
*/
typedef AvrSPI<10, 11, 12, 13> RadioSPI;
typedef Radio<RadioSPI, CC1101_GDO0_PIN, CC1101_PWR_PIN> RadioType;
typedef StatusLed<LED_PIN> LedType;
//typedef AskSin<LedType, IrqInternalBatt, RadioType> HalType;
typedef AskSin<LedType, BatterySensor, RadioType> HalType;
class Hal : public HalType {
  // extra clock to count button press events
  AlarmClock btncounter;
public:
  void init(const HMID& id) {
    HalType::init(id);
    battery.init(50, btncounter);
    battery.low(22);
    battery.critical(19);
  }

  void sendPeer() {
    --btncounter;
  }

  bool runready() {
    return HalType::runready() || btncounter.runready();
  }
};

typedef RemoteChannel<Hal, PEERS_PER_CHANNEL, List0> ChannelType;
typedef MultiChannelDevice<Hal, ChannelType, 2> RemoteType;

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

void setup() {
  DINIT(57600, ASKSIN_PLUS_PLUS_IDENTIFIER);
  sdev.init(hal);

  remoteISR(sdev, 1, BTN1_PIN);
  remoteISR(sdev, 2, BTN2_PIN);
  buttonISR(cfgBtn, CONFIG_BUTTON_PIN);

  sdev.initDone();
  DDEVINFO(sdev);
}

class PowerOffAlarm : public Alarm {
private:
  bool    timerActive;
public:
  PowerOffAlarm() : Alarm(0), timerActive(false) {}
  virtual ~PowerOffAlarm() {}

  void activateTimer(bool en) {
    if (en == true && timerActive == false) {
      sysclock.cancel(*this);
      set(millis2ticks(SLEEP_DELAY_MS));
      sysclock.add(*this);
    }
    else if (en == false) {
      sysclock.cancel(*this);
    }
    timerActive = en;
  }

  virtual void trigger(__attribute__((unused)) AlarmClock& clock) {
    powerOff();
  }

  void powerOff() {
    hal.led.ledOff();
    hal.radio.setIdle();
    //hal.battery.setIdle();

    DPRINT('.');
    delay(5);
    LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
    DPRINT(':');
    //hal.battery.unsetIdle();
    DPRINT(F("iVcc:")); DPRINTLN(hal.battery.current());
  }

} pwrOffAlarm;

void loop() {
  bool worked = hal.runready();
  bool poll = sdev.pollRadio();

  pwrOffAlarm.activateTimer(hal.activity.stayAwake() == false && worked == false && poll == false);

}




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

Re: RWE ISC2 bleiben hängen / kein LED Licht mehr

Beitrag von jp112sdl » 23.10.2023, 08:46

Horbi hat geschrieben:
23.10.2023, 07:31
Bin mir nicht sicher ob die geänderte Batteriespannungsmeßmethode oder die Schlafroutine den Unterschied macht.
Hmm, Batteriemessung dürfte es nicht sein, da es kein "sleepForever" bei battery critical gibt.
Also selbst wenn da Mist gemessen wird, dürft es maximal eine "LOW BAT" Warnung in der CCU geben.

Im Original-Thread viewtopic.php?f=76&t=65461 war mal Thema, dass die Strom-Abschaltung des CC1101 evtl. Probleme verursacht.
Vielleicht ein etwas höheres Delay verwenden https://github.com/pa-pa/AskSinPP/blob/ ... 101.h#L244

VG,
Jérôme ☕️

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

Antworten

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