da ich in den Dokumentationen und im Forum keine Antwort gefunden habe, stelle ich meine Frage nun hier:
Ich möchte auf Basis des Projektes HM-LC-SW1-SM_SONOFF_BASIC meine Osram Lightify Steckdosen umrüsten.
Die Hardware dazu habe ich fertig und auch erfolgreich getestet. Nun stehe ich jedoch vor dem Problem, dass der am gerät verbaute Taster HIGH active ist und nicht nicht wie bei allen anderen Projekten LOW active. Um den Taster verwenden zu können, muss ich bei der Konfiguration des ConfigToggleButton diesen Parameter übergeben.
Hier der relevante Code (Quelle: GitHub Beispiel AsksinPP/.../HM-LC-SW1-SM_SONOFF_BASIC):
Code: Alles auswählen
typedef AvrSPI<10, 11, 12, 13> RadioSPI;
typedef AskSin<StatusLed<LED_PIN>, NoBattery, Radio<RadioSPI, 2> > Hal;
// setup the device with channel type and number of channels
typedef MultiChannelDevice<Hal, SwitchChannel<Hal, PEERS_PER_CHANNEL, List0>, 1> SwitchType;
Hal hal;
SwitchType sdev(devinfo, 0x20);
ConfigToggleButton<SwitchType> cfgBtn(sdev);
void initPeerings (bool first) {
// create internal peerings - CCU2 needs this
if ( first == true ) {
HMID devid;
sdev.getDeviceID(devid);
for ( uint8_t i = 1; i <= sdev.channels(); ++i ) {
Peer ipeer(devid, i);
sdev.channel(i).peer(ipeer);
}
}
}
void initModelType () {
uint8_t model[2];
sdev.getDeviceModel(model);
sdev.channels(1);
}
void setup () {
DINIT(57600, ASKSIN_PLUS_PLUS_IDENTIFIER);
bool first = sdev.init(hal);
sdev.channel(1).init(RELAY1_PIN, true);
buttonISR(cfgBtn, CONFIG_BUTTON_PIN);
initModelType();
initPeerings(first);
sdev.initDone();
}
Danke für eure Hilfe!
Benedikt