Achtung:
Änderungen und Updates kündige ich immer im 2. Beitrag an, den ersten Beitrag werde ich versuchen so weit aktuell zu halten, dass er die derzeitige Funktionalität repräsentiert.
---------------------------------------
Hi allerseits,
ich wollte euch hier mal mein Projekt vorstellen, was mich die letzten 2 Jahre beschäftigt hat. Aktuell ist die Version 3.1-beta.
Angeregt durch den knx-Stack von thesing, beschrieben in dem Thread https://knx-user-forum.de/forum/%C3%...66-knx-mit-ets habe ich mit einem SAMD21-Board ein ETS-konfigurierbares Logikmodul mit 80 Logikkanälen entwickelt.
Weiterhin angeregt durch das Raum-Sensormodul von Masifi. beschrieben in dem Thread https://knx-user-forum.de/forum/proj...98#post1460098 habe ich auch noch eine ETS-konfigurierbare Sensor-Applikation entwickelt. Diese unterstützt inzwischen auch 1-Wire-Sensoren. iButtons und 1-Wire-IO sind in Arbeit.
Anschließend war es naheliegend, beides zusammenzuwerfen und so ein Raum-Sensormodul zu erhalten, dass ziemlich viel kann:
Was alles genau geht, kann man in den Applikationsbeschreibungen nachlesen. Es gibt die
Out-of-the-Box funktioniert das mit der Hardware von Masifi, alternativ braucht man ein SAMD21 Board, eine KNX-Anbindung, ein EEPROM (min 4k) und einen der unterstützten Sensoren. Und dann muss man in der Firmware (Hardware.h in knx-common) ein paar defines anpassen, damit die Geräte und Pins gefunden werden. Getestet ist es aber nur auf der angegeben Hardware.
Das läuft jetzt seit fast 2 Jahren (Zeitschaltuhren seit 1 Jahr) bei mir im Test, ich bin sehr zufrieden, aber ich garantiere trotzdem für nichts. Da die Logiken beliebig kombiniert und somit auch sehr komplex werden können, kann ich Fehler in dieser Phase sicherlich nicht ausschließen.
Mein Ziel ist es mittelfristig in jedem Raum so ein Sensormodul zu haben und dann jegliche raumabhängige KNX-Logik darüber laufen zu lassen und so auf meinen zentralen Server zu verzichten. Mal schauen wie gut das klappt.
Auf der Sensorseite werden noch 6 Inputs für Fensterkontakte dazukommen.
Ich möchte mich speziell bei thesing und Bernator für den knx-Stack bedanken und für die tolle Unterstützung während meiner Entwicklungszeit. Auch den anderen, die am knx-Stack programmiert haben, gilt mein Dank. Gleichzeitig bitte ich um Entschuldigung, dass ich auf einem Fork des Stacks aufsetze. Ich werde in den nächsten Monaten auf jeden Fall zusehen, die beiden Varianten wieder zusammenzuführen. Leider sprechen einige Weiterentwicklungen im Original-Stack derzeit gegen eine Zusammenführung.
Ferner möchte ich mich auch noch bei Masifi für die tolle Hardware bedanken und für den regen Ideenaustausch, dadurch konnte die Firmware immer besser werden. Und auch Danke für die Umsetzung meiner Vorschläge in Hardware!
Falls es Fragen oder Vorschläge gibt, beantworte ich diese gerne in diesem Thread.
Gruß, Waldemar
Änderungen und Updates kündige ich immer im 2. Beitrag an, den ersten Beitrag werde ich versuchen so weit aktuell zu halten, dass er die derzeitige Funktionalität repräsentiert.
---------------------------------------
Hi allerseits,
ich wollte euch hier mal mein Projekt vorstellen, was mich die letzten 2 Jahre beschäftigt hat. Aktuell ist die Version 3.1-beta.
Angeregt durch den knx-Stack von thesing, beschrieben in dem Thread https://knx-user-forum.de/forum/%C3%...66-knx-mit-ets habe ich mit einem SAMD21-Board ein ETS-konfigurierbares Logikmodul mit 80 Logikkanälen entwickelt.
Weiterhin angeregt durch das Raum-Sensormodul von Masifi. beschrieben in dem Thread https://knx-user-forum.de/forum/proj...98#post1460098 habe ich auch noch eine ETS-konfigurierbare Sensor-Applikation entwickelt. Diese unterstützt inzwischen auch 1-Wire-Sensoren. iButtons und 1-Wire-IO sind in Arbeit.
Anschließend war es naheliegend, beides zusammenzuwerfen und so ein Raum-Sensormodul zu erhalten, dass ziemlich viel kann:
- I2C-Sensoren:
- CO2 (SCD30)
- VOC (BME680, IAQCore)
- Temperatur (BME680, BME280, SHT3x)
- Luftfeuchte (BME680, BME280, SHT3x)
- Luftdruck (BME680, BME280)
- Helligkeit (OPT3001)
- Entfernung (VL51L1X)
- 1-Wire
- DS18S20 (Temperatur, 0.5° Genauigkeit)
- DS18B20 (Temperatur, 0.125° Genauigkeit)
- DS2438 (Anlalogsensor, Basis für viele Anlaogbasierte Sensoren wie VOC, Luftfeuchte, Helligkeit usw.)
- DS1990 (iButton, in Arbeit, funktioniert aktuell nur eingeschränkt)
- DS2413 (I/O, 2 Kanal)
- DS2408 (I/O, 8 Kanal)
- Aktoren:
- Buzzer (WT1201)
- RGB-LED
- Logikfunktionen mit bis zu 2 Eingängen
- UND
- ODER
- EXOR
- TOR/Sperre
- Zeitschaltuhr
- Einstellbare Ausgangstrigger
- Bei Wertänderung am Ausgang
- Bei jedem Eingangstelegramm
- Nur beim Eingangstelegramm am Eingang 1 oder am Eingang 2
- Mehrere Kanäle können zu größeren Logikblöcken zusammengefasst werden
- Eingänge unterstützen DPT 1, 2, 5, 5.001, 6, 7, 8, 9, 17
- Ausgänge unterstützen zusätzlich den DPT 16
- Konvertierung zwischen Ein- und Ausgangs-DPT
- Alle Ein- und Ausgänge können ihre Werte invertieren
- Eingänge können aktiv Werte lesen
- beim Startup
- Zyklisch mit einstellbarer Zeit
- Zyklisch bis die erste Antwort kommt
- Wiederholfilter: Wenn mehrfach EIN- oder AUS-Telegramme hintereinander kommen, kann man
- Alle Wiederholungen durchlassen
- Nur EIN-Wiederholungen durchlassen, AUS nur einmal
- Nur AUS-Wiederholungen durchlassen, EIN nur einmal
- EIN- und AUS-Telegramm nur einmal durchlassen
- Zeitglieder am Ausgang (Zeitbasis bis zu 1/10 Sekunde)
- Treppenlicht mit Verlängerung und vorzeitigem Ausschalten (einstellbar)
- Einschaltverzögerung mit einstellbarer Aktion bei vorzeitigem AUS/wiederholtem EIN
- Ausschaltverzögerung mit einstellbarer Aktion bei vorzeitigem EIN/wiederholtem AUS
- Blinken mit wählbarem Puls-Pausen-Verhältnis
- Zyklisch senden getrennt einstellbar für EIN- und AUS-Telegramm
- Ausgangsfilter: nur EIN-, nur AUS oder beides durchlassen
- Ausgangskonverter
- Für EIN oder AUS wird der Wert eines anderen DPT gesendet
- Für EIN oder AUS wird der Wert eines Eingangs gesendet
- Sonderfunktionen
- Die Funktion "Gerät zurücksetzen" (sonst nur über die ETS machbar)
- Speichern von Werten im EEPROM über Stromausfall hinweg
- Akustische Signalisierung über einen Buzzer
- Optische Signalisierung mittels einer RGB-LED
- Zeitschaltuhren
- Als Jahresschaltuhr mit 4 oder als Tages/Wochenschaltuhr mit 8 Schaltzeiten definiert werden
- Feiertage berücksichtigen (oder ignorieren)
- Urlaub berücksichtigen (oder ignorieren)
- Tag/Monat berücksichtigen (bei Jahresschaltuhren)
- Wochentag/Stunde/Minute berücksichtigen (bei allen Schaltuhren)
- Sonnenstandsbezogene Schaltzeiten:
- Sonnenauf-/-untergang +/- Stunden/Minuten
- Sonnenauf-/-untergang, aber frühstens/spätestens um ...
- Jede Stunde zu bestimmten Minuten schalten
- Jeder Schaltvorgang kann dann wie bei jedem Logikkanal auch alle Ausgangsfunktionen haben
- Beim Neustart des Logikmoduls den zeitlich letzten Schaltzeitpunkt berechnen und erneut ausgeben
Was alles genau geht, kann man in den Applikationsbeschreibungen nachlesen. Es gibt die
- Applikation Sensor: https://github.com/mumpf/knx-sensor/...ung-Sensor.pdf
- Applikation Logic: https://github.com/mumpf/knx-logic/b...bung-Logik.pdf
- Es gibt jetzt auch einen Diskussionsthread zum Logikmodul: https://knx-user-forum.de/forum/%C3%...-l%C3%B6sungen
- Applikation OneWire: https://github.com/mumpf/knx-wire/bl...ibung-Wire.pdf
Out-of-the-Box funktioniert das mit der Hardware von Masifi, alternativ braucht man ein SAMD21 Board, eine KNX-Anbindung, ein EEPROM (min 4k) und einen der unterstützten Sensoren. Und dann muss man in der Firmware (Hardware.h in knx-common) ein paar defines anpassen, damit die Geräte und Pins gefunden werden. Getestet ist es aber nur auf der angegeben Hardware.
Das läuft jetzt seit fast 2 Jahren (Zeitschaltuhren seit 1 Jahr) bei mir im Test, ich bin sehr zufrieden, aber ich garantiere trotzdem für nichts. Da die Logiken beliebig kombiniert und somit auch sehr komplex werden können, kann ich Fehler in dieser Phase sicherlich nicht ausschließen.
Mein Ziel ist es mittelfristig in jedem Raum so ein Sensormodul zu haben und dann jegliche raumabhängige KNX-Logik darüber laufen zu lassen und so auf meinen zentralen Server zu verzichten. Mal schauen wie gut das klappt.
Auf der Sensorseite werden noch 6 Inputs für Fensterkontakte dazukommen.
Ich möchte mich speziell bei thesing und Bernator für den knx-Stack bedanken und für die tolle Unterstützung während meiner Entwicklungszeit. Auch den anderen, die am knx-Stack programmiert haben, gilt mein Dank. Gleichzeitig bitte ich um Entschuldigung, dass ich auf einem Fork des Stacks aufsetze. Ich werde in den nächsten Monaten auf jeden Fall zusehen, die beiden Varianten wieder zusammenzuführen. Leider sprechen einige Weiterentwicklungen im Original-Stack derzeit gegen eine Zusammenführung.
Ferner möchte ich mich auch noch bei Masifi für die tolle Hardware bedanken und für den regen Ideenaustausch, dadurch konnte die Firmware immer besser werden. Und auch Danke für die Umsetzung meiner Vorschläge in Hardware!
Falls es Fragen oder Vorschläge gibt, beantworte ich diese gerne in diesem Thread.
Gruß, Waldemar
Kommentar