Hallo in die Runde,
ich bin auf der Suche nach einem Homematic Schalter HM-LC-SW1 Bauform annähernd egal der zusätzlich einen 0-10V oder PWM Ausgang besitzt ... (Funktion vergleichbar mit Eltako FSG71/1-10V)
Die Hardware ist grundsätzlich kein Thema. Das sollte ich hinbekommen. Mein Hauptproblem ist das "Homematic SDK". Dort komme ich irgendwie überhaupt nicht mit klar ;-)
Wenn mir jemand sagt: Lege das Relais auf den Ausgang xy und Du hast den PWM auf Ausgang yz, dann kann ich die Platine dazu machen.
Hintergrund: Ich möchte ein 12V Netzzeil mit PWM Ausgang ansteuern und dazu habe ich 0-10V bzw. PWM zur Verfügung.
Liebe Grüße
Ralf
Hi,
Schau doch w/ Software mal hier: https://forum.fhem.de/index.php?topic=57486
Gruß Arnd
Gesendet von iPhone mit Tapatalk
Zitat von: Wuppi68 am 11 September 2018, 13:32:20
ich bin auf der Suche nach einem Homematic Schalter HM-LC-SW1 Bauform annähernd egal der zusätzlich einen 0-10V oder PWM Ausgang besitzt ... (Funktion vergleichbar mit Eltako FSG71/1-10V)
Oder anders herum ausgedrückt - ein PWM Dimmer, der noch zusätzlich ein Relais schaltet, wenn der Kanal > 0 ist.
Das müsste relativ einfach mit dem HM-LC-Dim1PWM-CV Example (https://github.com/pa-pa/AskSinPP/tree/master/examples/HM-LC-Dim1PWM-CV) machbar sein. Da muss ja nur zusätzlich noch ein Pin geschaltet werden.
Zitat von: papa am 11 September 2018, 14:19:36
Oder anders herum ausgedrückt - ein PWM Dimmer, der noch zusätzlich ein Relais schaltet, wenn der Kanal > 0 ist.
Das müsste relativ einfach mit dem HM-LC-Dim1PWM-CV Example (https://github.com/pa-pa/AskSinPP/tree/master/examples/HM-LC-Dim1PWM-CV) machbar sein. Da muss ja nur zusätzlich noch ein Pin geschaltet werden.
ging mir auch schon durch den Kopf ;-)
Aber was ich irgendwie überhaupt nicht kapiere:
Wo werden in dieser Datei die Ports geschaltet? Ich finde da irgendwie gar nichts, oder ich bin blind ...
Das ist alles in Dimmer.h drin. Du must nur im loop den Channel abfragen und nen extra Pin schalten:
void loop() {
bool worked = hal.runready();
bool poll = sdev.pollRadio();
digitalWrite(RELAISPIN,sdev.channel(1).status() > 0 ? HIGH : LOW);
if( worked == false && poll == false ) {
hal.activity.savePower<Idle<true> >(hal);
}
}
Der PWM ist hier aber leider nur 8bit. Wenn Du nen STM32 nimmst, geht auch 16bit. Sieht einfach schöner aus. Siehe auch HM-DW-WM (https://github.com/pa-pa/AskSinPP/tree/master/examples/stm32/HM-DW-WM).
Passende Hardware ist hier STM32Dimmer (https://github.com/pa-pa/STM32Dimmer)
Zitat von: papa am 11 September 2018, 15:21:06
Das ist alles in Dimmer.h drin. Du must nur im loop den Channel abfragen und nen extra Pin schalten:
void loop() {
bool worked = hal.runready();
bool poll = sdev.pollRadio();
digitalWrite(RELAISPIN,sdev.channel(1).status() > 0 ? HIGH : LOW);
if( worked == false && poll == false ) {
hal.activity.savePower<Idle<true> >(hal);
}
}
LoL ... ich denke, dann sollte ich damit klar kommen ;-)
Mille gracie