Hi,
ich hab mal wieder ein neues Projekt, dass ich euch vorstellen wollte.
Durch die guten Erfahrungen, die ich mit meinem Sensormodul-Projekt (https://knx-user-forum.de/forum/%C3%...dul-von-masifi) gemacht habe und durch die Hardware-Spende von Masifi (https://knx-user-forum.de/forum/proj...1-wire-gateway) habe ich beschlossen, für sein 1-Wire-Gateway (vom mir nur kurz WireGateway genannt) eine alternative Firmware zu schreiben.
Wie schon beim Sensormodul-Projekt, basiert das Ganze auf dem KNX-Stack von thesing (https://knx-user-forum.de/forum/%C3%...6-knx-mit-ets). Dadurch kann ich auch eine ETS-Applikation (ETS5 und ETS6) für die Konfiguration des Moduls anbieten.
Zusätzlich gib es (wie beim Sensormodul) ein integriertes Logikmodul mit 80 Logikkanälen.
Das 1-Wire Modul bietet pro verfügbaren Busmaster bis zu 30 1-Wire-Kanäle. Im Maximalausbau bietet das WireGateway von Masifi 3 Busmaster, dann stehen bis zu 90 1-Wire-Kanäle zur Verfügung.
Was bedeutet ein 1-Wire-Kanal? Bitte auf keinen Fall mit einem 1-Wire-Gerät verwechseln! Die einfachste (aber sehr technische) Erklärung: Alles, was auf der KNX-Seite ein KO braucht, ist ein 1-Wire-Kanal. Ein Temperatursensor (DS18B20) braucht nur einen Kanal, da er über ein KO seine Temperaturen verschicken kann. Ein 8-fach 1-Wire-I/O (DS2408) braucht acht 1-Wire-Kanäle, pro In- oder Output einen Kanal. Die Zuordnung ist sehr flexibel, wenn man von einem DS2408 nur 4 Inputs braucht, kostet das auch nur vier 1-Wire-Kanäle.
Wichtig: Ich liste hier Maximalwerte auf! Ich kann nicht wirklich 30 Kanäle pro Busmaster garantieren, da 1-Wire sehr empfindlich auf Timing, Leitungsläge und externe Störungen reagiert. Ich habe erfolgreich 17 DS18B20 an einem Busmaster getestet (mehr Sensoren habe ich nicht), das hat funktioniert.
Was unterstützt die 1-Wire-Firmware derzeit:
Das Logikmodul bietet das gleiche wie im Sensormodul, bis auf das Schreiben von GA ins EEPROM und die damit verbundenen Funktionen. Pro Logikkanal wird folgendes unterstützt:
Die Firmware ist schon längere Zeit im Testbetrieb, die Version mit bis zu 30 1-Wire-Kanälen auch schon seit längerem im Sensormodul verfügbar. Es läuft einigermaßen Stabil, aber es gibt noch Hänger, für die ich reproduzierbare Beispiele suche. Insofern muss klar sein, dass man das auf "eigenes Risiko" installiert und nutzt. Die Software ist so, wie sie ist - ich übernehme keine Garantien. Ich helfe aber gerne, um Probleme zu lösen. Trotzdem möchte ich betonen, dass ich 1-Wire nicht (mehr) produktiv einsetze. Ich werde dieses Gateway allerdings ab kommenden Sommer mit ein paar DS18B20 bei meiner Heizung zur Messung von ein paar Werten einsetzen. Alleine damit ich etwas habe, das produktiv läuft und mir erlaubt, Fehler nachzuvollziehen und Verbesserungen zu implementieren.
Falls das jemand ausprobieren möchte:
Falls es Fragen oder Verbesserungsvorschläge gibt, beantworte ich diese gerne in diesem Thread. Für das Logikmodul gibt es einen eigenen Diskussionsthread: https://knx-user-forum.de/forum/%C3%...-l%C3%B6sungen.
Im 2. Beitrag werde ich immer Aktualisierungen (mit Verweis auf die jeweilige Beschreibung) ankündigen.
Gruß, Waldemar
ich hab mal wieder ein neues Projekt, dass ich euch vorstellen wollte.
Durch die guten Erfahrungen, die ich mit meinem Sensormodul-Projekt (https://knx-user-forum.de/forum/%C3%...dul-von-masifi) gemacht habe und durch die Hardware-Spende von Masifi (https://knx-user-forum.de/forum/proj...1-wire-gateway) habe ich beschlossen, für sein 1-Wire-Gateway (vom mir nur kurz WireGateway genannt) eine alternative Firmware zu schreiben.
Wie schon beim Sensormodul-Projekt, basiert das Ganze auf dem KNX-Stack von thesing (https://knx-user-forum.de/forum/%C3%...6-knx-mit-ets). Dadurch kann ich auch eine ETS-Applikation (ETS5 und ETS6) für die Konfiguration des Moduls anbieten.
Zusätzlich gib es (wie beim Sensormodul) ein integriertes Logikmodul mit 80 Logikkanälen.
Das 1-Wire Modul bietet pro verfügbaren Busmaster bis zu 30 1-Wire-Kanäle. Im Maximalausbau bietet das WireGateway von Masifi 3 Busmaster, dann stehen bis zu 90 1-Wire-Kanäle zur Verfügung.
Was bedeutet ein 1-Wire-Kanal? Bitte auf keinen Fall mit einem 1-Wire-Gerät verwechseln! Die einfachste (aber sehr technische) Erklärung: Alles, was auf der KNX-Seite ein KO braucht, ist ein 1-Wire-Kanal. Ein Temperatursensor (DS18B20) braucht nur einen Kanal, da er über ein KO seine Temperaturen verschicken kann. Ein 8-fach 1-Wire-I/O (DS2408) braucht acht 1-Wire-Kanäle, pro In- oder Output einen Kanal. Die Zuordnung ist sehr flexibel, wenn man von einem DS2408 nur 4 Inputs braucht, kostet das auch nur vier 1-Wire-Kanäle.
Wichtig: Ich liste hier Maximalwerte auf! Ich kann nicht wirklich 30 Kanäle pro Busmaster garantieren, da 1-Wire sehr empfindlich auf Timing, Leitungsläge und externe Störungen reagiert. Ich habe erfolgreich 17 DS18B20 an einem Busmaster getestet (mehr Sensoren habe ich nicht), das hat funktioniert.
Was unterstützt die 1-Wire-Firmware derzeit:
- 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, funktioniert aber nicht so berauschend)
- DS2413 (I/O, 2 Kanal) - nicht für Taster (kurzzeitige Tastendrücke) geeignet, eher für Fensterkontakte
- DS2408 (I/O, 8 Kanal) - nicht für Taster (kurzzeitige Tastendrücke) geeignet, eher für Fensterkontakte
Das Logikmodul bietet das gleiche wie im Sensormodul, bis auf das Schreiben von GA ins EEPROM und die damit verbundenen Funktionen. Pro Logikkanal wird folgendes unterstützt:
- 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)
- 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
Die Firmware ist schon längere Zeit im Testbetrieb, die Version mit bis zu 30 1-Wire-Kanälen auch schon seit längerem im Sensormodul verfügbar. Es läuft einigermaßen Stabil, aber es gibt noch Hänger, für die ich reproduzierbare Beispiele suche. Insofern muss klar sein, dass man das auf "eigenes Risiko" installiert und nutzt. Die Software ist so, wie sie ist - ich übernehme keine Garantien. Ich helfe aber gerne, um Probleme zu lösen. Trotzdem möchte ich betonen, dass ich 1-Wire nicht (mehr) produktiv einsetze. Ich werde dieses Gateway allerdings ab kommenden Sommer mit ein paar DS18B20 bei meiner Heizung zur Messung von ein paar Werten einsetzen. Alleine damit ich etwas habe, das produktiv läuft und mir erlaubt, Fehler nachzuvollziehen und Verbesserungen zu implementieren.
Falls das jemand ausprobieren möchte:
- Auf github gibt es die Setup-Anleitung (https://github.com/mumpf/knx-wire/bl...x-dev-setup.md)
- Das gesamte Projekt ist hier: https://github.com/mumpf/knx-wire/tree/release
- Applikation OneWire: https://github.com/mumpf/knx-wire/bl...ibung-Wire.pdf
- Applikation Logik: https://github.com/mumpf/knx-logic/b...ibung-Logik.md
Falls es Fragen oder Verbesserungsvorschläge gibt, beantworte ich diese gerne in diesem Thread. Für das Logikmodul gibt es einen eigenen Diskussionsthread: https://knx-user-forum.de/forum/%C3%...-l%C3%B6sungen.
Im 2. Beitrag werde ich immer Aktualisierungen (mit Verweis auf die jeweilige Beschreibung) ankündigen.
Gruß, Waldemar
Kommentar