Hallo Zusammen,
ich bin vor kurzem auf die Homematic-Selbstbau-Möglichkeiten aufmerksam geworden. Arduino etc. ist mir nicht fremd, jedoch ist mir die objektorientierten Struktur der AskSinPP-Lib noch sehr verschlossen . Das "einfache" verwenden der Beispiele klapp gut.
Bei stöbern im Internet bin ich auf folgendes Projekt von Adafruit aufmerksam geworden. https://learn.adafruit.com/gmailbox/introduction
Ich würde jetzt gerne die NodeMCU durch eine Homematickomponente ersetzen und dann meinen "normalen" SchneckenPost-Briefkastenstatus damit anzeigen. Also etwas in Richtung "Klappanzeige HM-Dis-TD-T" nur schöner .
Nur leider erschließt sich mir nicht, wo ich den Servo-Code einbauen sollte. Ich sehe schon, objektorientierte Programmierung erfordert noch etwas Einarbeitung meinerseits .
Über jeglich Hilfe bin ich dankbar, von einfachen Hinweisen bis zum fertigen Sketch ist alles willkommen.
Vielen Dank
Marco
HM-Dis-TD-T - mechanische Post-Anzeige mit Homematic
Moderator: Co-Administratoren
-
- Beiträge: 12085
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 847 Mal
- Danksagung erhalten: 2139 Mal
- Kontaktdaten:
Re: HM-Dis-TD-T - mechanische Post-Anzeige mit Homematic
Hi,
du kannst aus den AskSinPP-examples den Sketch vom HM-LC-Sw1-BA-PCB nehmen.
Darin änderst du das Device Model von {0x00,0x6c} auf {0x00,0x78}.
Nun verhält sich der Sketch wie ein HM-Dis-TD-T.
Das Schalten der üblicherweise verwendeten Relais erfolgt in der Switch.h:
Dort könntest du statt der Methoden "digitalWrite(..." für ON und OFF deinen Servocode einbauen.
Idealerweise könnte man auch eine eigene Servoklasse bauen...
du kannst aus den AskSinPP-examples den Sketch vom HM-LC-Sw1-BA-PCB nehmen.
Darin änderst du das Device Model von {0x00,0x6c} auf {0x00,0x78}.
Nun verhält sich der Sketch wie ein HM-Dis-TD-T.
Das Schalten der üblicherweise verwendeten Relais erfolgt in der Switch.h:
Code: Alles auswählen
virtual void switchState(__attribute__((unused)) uint8_t oldstate,uint8_t newstate,__attribute__((unused)) uint32_t delay) {
if( newstate == AS_CM_JT_ON ) {
digitalWrite(pin,lowact ? LOW : HIGH);
}
else if ( newstate == AS_CM_JT_OFF ) {
digitalWrite(pin,lowact ? HIGH : LOW);
}
BaseChannel::changed(true);
}
Idealerweise könnte man auch eine eigene Servoklasse bauen...
Re: HM-Dis-TD-T - mechanische Post-Anzeige mit Homematic
Super, danke.
Das hat grundsätzlich erstmal funktioniert, auch wenn der Servo noch nicht so will, wie ich.
Das hat grundsätzlich erstmal funktioniert, auch wenn der Servo noch nicht so will, wie ich.