Ankündigung

Einklappen
Keine Ankündigung bisher.

Alternative Firmware für das Raum-Sensormodul von Masifi

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Hi Stefan,

    glücklicherweise hat der SAMD21 schon einen Watchdog eingebaut. Man muss den nur korrekt parametrieren und verwenden. Im Prinzip ist das ein nachtriggerbares Zeitglied (im KNX würde man das "Treppenlicht mit Verlängerung" nennen). Man sagt dem Zeitglied z.B. nach 15 Sekunden machst Du ein Reset. Dann schaltest Du es ein und verlängerst so oft Du kannst (bei mir üblicherweise alle 5 Mikrosekunden und falls es mal länger dauert, dann so 10 Millisekunden). Dann läuft das so vor sich hin, bis mal der Prozessor hängt, warum auch immer. Dann wird die Verlängerung nicht mehr angesprochen, die 15 Sekunden vergehen und ein Reset kommt. Der Prozessor startet neu und macht all die Sachen, die sonst auch beim Neustart kommen (also bei PowerOn, nach dem Programmieren, nach einen "Gerät neustarten" oder nach dem Drücken der Reset-Taste). Im Rahmen dieser Initialisierung wird wieder das Zeitglied auf 15 Sekunden gesetzt, gestartet und andauernd verlängert...

    Zur Hardware: Ich bin da ein totaler "Versager", da musst Du Dich an Matthias wenden, er schätzt das alles ab (Stromverbrauch, parallele Nutzung mit anderen Sensoren, Größe (damit es noch in die Unterputzdose passt) usw. Falls es um Entfernungsmessung/Füllstandsmessung geht, werden wir sehr bald (lief schon mal kurz testweise bei mir) den VL53L1X unterstützen, der kann Entfernungen bis 4 m (in dunkler Umgebung) messen, macht das aber per Laserstrahl. Oder gibt es einen anderen Grund für Ultraschall?

    Ich habe die Sensoren in der Firmware eher nach den Messwerten klassifiziert, also
    • Temperatur
    • Luftfeuchte
    • Luftdruck
    • VOC
    • CO2
    • Helligkeit
    • Entfernung
    Da das bei mir bitweise verwaltet wird und es erst 7 Klassen sind, hätte ich noch eine Klasse frei... Aber Ultraschallsensoren sind - soviel ich weiß - alle für Entfernungsmessungen gedacht, wäre also keine neue Klasse.

    Achja, dann ist es noch so, dass ich das als Hobby mache und bereits eine lange Liste von Verbesserungen habe, die noch notwendig sind, damit das in meinem Haus laufen kann, insofern reiße ich mich auch nicht um die Implementierung von weiteren Sensoren... Aber wenn es einen guten Grund gibt, kann man zumindest drüber reden.

    Gruß, Waldemar
    OpenKNX www.openknx.de

    Kommentar


      hi Waldemar,

      das mit dem Watchdog ist natürlich elegant, wenn das direkt die Hardware mitbringt. Jetzt überlege ich ob man somit auch einen deadlock loggen bzw. auf dem Bus schreiben könnte. Man müsste also beim PowerOn (oder später) feststellen können ob es ein Kaltstart war oder per Watchdog initiiert.

      Ja genau ich will mit dem Ultraschallsensor Entfernungen messen. Konkret geht es um den Füllstand einer Zisterne. Das sollte ja auch mit dem VL53L1X gut machbar sein. Wäre dann wohl eher die Frage ob die Hardware (sowohl Sensor als auch Modul) mit den Temperaturen und Feuchtigkeit dauerhaft klarkommt.

      Dass das nur ein Hobby ist ist klar und ich würde nie verlangen das dieses und jenes implementiert wird. Finde es ja generell super das du deine Arbeit hier teilst 👍 und kann sicher nur erahnen wie viel Zeit in solch ein Projekt fließt. Wenn ich einen neuen Sensor nutzen wollen würde, würde ich auch versuchen das selbst zu implementieren (oder es zumindest versuchen 😉).
      Was die Elektronik angeht, da geht es mir wie dir. Da fühle ich mich in der Softwarewelt wohler, allerdings (zumindest noch) nicht in der Mikrocontrollerprogrammierung 😀.

      VG Stefan
      Zuletzt geändert von st400; 28.03.2021, 22:10.

      Kommentar


        Hi Stefan,

        Du kennst schon dieses Modul von Masifi? https://knx-user-forum.de/forum/öffentlicher-bereich/knx-eib-forum/diy-do-it-yourself/1479195-raum-sensormodul-hw-thread-für-temp-hum-pres-voc-co2-1-wire-buzzer?p=1612101#post1612101

        Mit den passenden Gehäuse? https://knx-user-forum.de/forum/öffentlicher-bereich/knx-eib-forum/diy-do-it-yourself/1479195-raum-sensormodul-hw-thread-für-temp-hum-pres-voc-co2-1-wire-buzzer?p=1543849#post1543849

        Ich hab das hier liegen, sieht sehr gut aus. Allerdings muss man sich für den VL53L1X noch was mit dem Deckel überlegen. Ich will versuchen den so zu kalibrieren, dass er durch einen Mikroskop-Objektträger von ca. 0.5mm Dicke möglichst ohne Verluste hindurch messen kann. Wenn das klappt, dann muss man sehen, wie man den Deckel präparieren kann, so dann das mit dem Objektträger kombiniert werden kann. Und dann wäre das Ganze sogar wasserdicht.

        Aber das ist noch alles Zukunftsmusik, die naheliegenden Sachen sind:
        • Watchdog, um einen Bugfix für den SCD30 zu liefern
        • 1-Wire-Release
        • OPT300x (Helligkeit) für den Außensensor
        • VL53L1X (Entfernung) für Tanks/Zisternen
        • Sicherlich noch haufenweise Bugfixes für 1-Wire
        Gruß, Waldemar
        ​​​​​​​
        OpenKNX www.openknx.de

        Kommentar


          Die Platinen für das Außengehäuse hatte ich bisher nicht auf dem Schirm. Habe mal bei Matthias angefragt 😉.

          Kommentar


            Hi allerseits,

            soeben habe ich das Firmware-Release 2.5 freigegeben. Das enthält keine neue knxprod, kann also einfach auf das Sensormodul aufgespielt werden. Ihr braucht knx, knx-logic und knx-sensor, es schadet aber nichts, wenn knx-common auch geholt wird. Es sind nur kleine Korrekturen, manche aber mit großer Wirkung:
            • Man kann jetzt einen Watchdog aktivieren. Der Vorgang ist ist in knx-dev-setup.pdf bzw. knx-update-setup.pdf beschrieben (beide im doc-Folder zu finden). In der Applikationsbeschreibung habe ich auch was zum Watchdog und zu seinen Vor- und Nachteilen geschrieben. Empfehlen würde ich den Watchdog derzeit beim SCD30, zumindest solange, bis ich die Ursache für die sporadischen "Hänger" gefunden habe.
            • Es ist jetzt auch der Long-Frame-Support eingebaut. War eigentlich für 3.0 geplant, aber das ist so viel schneller, dass ich es euch nicht vorenthalten wollte. Man kann die komplette Applikation jetzt 2-3 mal schneller übertragen, das ist schon deutlich zu merken. Natürlich muss die Programmierschnittstelle das auch unterstützen und auch alle LK, die auf dem "Programmierweg" liegen. Ihr müsst dafür nichts tun, die ETS erkennt das automatisch und programmiert so schnell es geht.
            • Ein kleiner Bug in der Logik ist auch noch beseitigt: Wenn man das "Blink-Modul" bei einem Logikausgang verwendet hat, wurden zu viele Eingangs-Trigger durchgereicht. Hat bisher noch keiner gemerkt (ich vorher auch nicht) und ist auch keine Elementare Funktion der Logik, ist aber jetzt korrigiert.
            Wegen Long-Frame-Support kann ich das Update nur empfehlen, zumindest wenn man das Modul immer wieder mal programmiert. Watchdog würde ich nur machen, wenn man den SCD30 nutzt oder wenn man gelegentliche Hänger hat (die dann aber unbedingt hier melden). Wegen der Logikkorrektur alleine würde ich jetzt kein Update machen, sondern auf die nächste (größere) Version warten, bei der man dann auch den Watchdog in der Applikation einstellen können wird.

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              Man bist Du schnell Waldemar; werde ich sobald ich dazu komme installieren und dann berichten.
              Liebe Grüße
              Matthias

              Kommentar


                Alles klar. Normalerweise lasse ich Änderungen erst eine Zeit lang bei mir laufen, aber da ein Watchdog ja Hänger eher verschleiert, bringt das nicht wirklich was. Ich bin ja eher daran interessiert, keinen Watchdog zu brauchen.

                Um Missverständnisse zu vermeiden: Der Watchdog ist getestet und funktioniert, es gibt nur keinen Langzeittest, den wirst Du machen dürfen....

                Ich habe derzeit auch noch keine Möglichkeit eingebaut, um festzustellen, ob bzw. wie häufig der Watchdog zugeschlagen hat. Allerdings plane ich, das mal im Diagnosemodul abfragbar zu machen.

                Gruß, Waldemar
                OpenKNX www.openknx.de

                Kommentar


                  Hi allerseits,

                  hier mal eine Vorab-Info: Ab der Applikations-Version 3.0 und höher wird es nur noch eine knxprod geben und nicht mehr 4 Stück mit 10, 20, 40 und 80 Kanälen. Natürlich wird die eine knxprod 80 Kanäle enthalten. Folgende Gründe machen das möglich (und erforderlich):
                  • Ich habe mich durch den Long-Frame-Support durchgekämpft und der funktioniert jetzt. Eine 80-Kanal-Programmierung dauert jetzt so lange wie früher 20 Kanäle.
                  • Ich habe erste positive Tests mit partieller Programmierung machen können. Wenn man nur ein paar Parameter ändert (was beim austesten von Logiken häufig passiert), dauert die Programmierung weniger als 15 Sekunden.
                  • Das Verwalten der verschiedenen Update-Pfade von 4 alten Applikationen auf 4 neue Applikationen ist ehrlich gesagt die Hölle... und verstanden haben es die meisten auch nicht. Nur eine knxprod macht das wesentlich einfacher
                  • Die ETS kann damit auch nicht besonders gut umgehen, dass ich verschiedene Applikationen für verschieden viele Kanäle mache
                  • Für mich was die lange Programmierzeit überhaupt erst der Grund, warum ich unterschiedlich große Applikationen eingeführt habe. Da die Zeit jetzt drastisch gesunken ist, entfällt der Grund.
                  In Zukunft wird man das erste Mal vollständig übertragen müssen, und falls man keine Schnittstelle mit long frame support hat, dauert das dann halt. Weitere Übertragungen können dann über partielle Programmierung erfolgen. Das geht in den meisten Fällen rasend schnell. Manchmal passt die ETS die interne Speicherstruktur an, dann wird wieder vollständig übertragen, aber das entscheidet die ETS selbst und man merkt es dann an der langen Übertragung.

                  Das nur zur Vorab-Info, für mich ist das eine große Arbeitsersparnis und für euch wird das Handling einfacher. Und das Programmieren wird schneller, also haben alle was davon. Kleiner Wehrmutstropfen bei der Sache: Ich wollte eigentlich schon Ende März mit einer v3.0 beta rauskommen (Mit 1-Wire-Unterstützung), das verzögert sich bis nach Ostern, also ca. 1 Woche bis 10 Tage.

                  Gruß, Waldemar
                  OpenKNX www.openknx.de

                  Kommentar


                    Hallo Waldemar,

                    habe jetzt vier Module mit Watchdog ausgestattet und logge die Werte. Vielleicht kann man anhand eines kurzen Ausfalls erkennen, wenn der Watchdog aktiv war.
                    Werde berichten, was ich zu beobachten habe.
                    Viele liebe Grüße und geruhsame und gesunde Osterferien.
                    Matthias

                    Kommentar


                      Hi Matthias,

                      super - Danke! Wie schon geschrieben, hier bist Du der Tester, ich versuche eher die "Hänger" mitzubekommen und dann die Ursache zu finden, deswegen ist der Watchdog nicht wirklich was für mich.

                      Ansonsten bin ich fleißig am Testen der 3.0 Firmware, dort ist der Watchdog dann per Applikation ein- und ausschaltbar. Und im Diagnosemodus wird man zumindest feststellen können, ob der letzte Neustart durch Watchdog, die ETS (Neuprogrammierung / Gerät neu starten) oder durch Busspannungsausfall ausgelöst wurde. Dann kann man durch eine Logik nach einem Neustart die Diagnose selber auslösen und so den Grund für den Neustart erfahren.

                      Wenn Dir was auffällt, melde Dich bitte...

                      Gruß, Waldemar
                      OpenKNX www.openknx.de

                      Kommentar


                        Hi Allerseits,

                        ich muss mal in die Runde fragen, zumindest an die, die meine Firmware bereits in Benutzung haben: Ich habe jetzt eine v3.0 zusammengebaut, die gut funktioniert. Die hat ein paar neue Sachen:
                        • 1-Wire-Support
                        • Partielles programmieren und Long-Frame-Support (siehe #293)
                        • Neue Sensoren, um das neue Außen-Modul von Masifi zu unterstützen
                        • Mehr Möglichkeiten, die Sensoren zu kombinieren
                        • Eine vereinfachte Installation (der DEV-Umgebung, mit der man die Firmware bauen kann)
                        • Viele kleine Detailverbesserungen, die im Laufe der Zeit aufgefallen sind
                        Die teste ich jetzt intensiv und wie das immer so ist, beim Testen findet man auch Fehler. Als Perfektionist würde ich sagen, bevor nicht alle Fehler raus sind, werde ich das nicht freigeben. Umgekehrt ist nicht jeder Fehler gleich so, dass es nicht benutzbar ist, das meiste sind Unschönheiten, z.B. dass bei 1-Wire-IO nach einem Neustart als Status immer erst ein AUS kommt, bevor der echte Status gemeldet wird. Für jemanden, der gar kein 1-Wire-IO nutzen will, ist so was komplett unwichtig.

                        Deswegen die Frage an die Runde: Soll ich zeitnah eine BETA rausbringen? Bei BETA ist gemeint, dass es gut funktioniert, aber noch keinen Langzeittest durchlaufen hat.
                        • Die bisherigen Sensormodul-Funktionen laufen wie bisher, das wird vom 1-Wire-Modul nicht beeinflusst. Das ist also noch immer auf RELEASE-Stand.
                        • Die neuen Sensormodul-Sensoren sind getestet, aber noch nicht im Langzeittest gewesen. Hier geht es um Helligkeit und Entfernung. Den Stand würde ich als BETA ansehen
                        • Die bisherigen Logikmodul-Funktionen laufen auch weiterhin so wie bisher, also ist das auch noch auf RELEASE-Stand.
                        • 1-Wire-Sensoren (DS18S20, DS18B20, DS2438) laufen prima und haben einen gewissen Langzeittest durchlaufen, vor allem die Temperatursensoren DS18B20. Aus meiner Sicht der häufigste Anwendungsfall für 1-Wire. Wenn ich nur die hätte, würde ich ein Release machen. Die sind somit aus meiner Sicht auf einem RELEASE-Stand.
                        • 1-Wire-IO (DS1990 oder auch iButton, DS2408, DS2413) werden auch unterstützt, aber hier läuft noch nicht alles Rund. Kann man verwenden, aber "at your own risk", hier würde ich ganz klar vom BETA-Stand reden. Das ist auch das, was mich am ehesten von einem Release abhält.
                        Es gibt viel, was gut und stabil läuft, die neuen und schnellen Programmiermöglichkeiten (partielle Programmierung) machen auch riesig Spaß, mit dem Modul zu arbeiten und auch mal verschiedene Parametrierungen auszuprobieren. Und für die Leute, die noch ein paar Temperatursensoren oder Wiregate-Multisensoren zu Hause haben, können die schon anschließen.

                        Also: Wollt ihr es als BETA haben? Eine Woche wird das sowieso noch dauern, bis die Doku und die Umstellung auf BETA überall durch ist. Ich würde dann der Release-Stand (Firmware 2.5 mit den Applikationen 2.4-2.7) so lassen und eine neue BETA-Installation beschreiben.

                        Gruß, Waldemar
                        OpenKNX www.openknx.de

                        Kommentar


                          Hi,
                          von mir ein klares JA.
                          1-Wire nutze ich (noch) nicht, aber das Außen-Modul mit Entfernungsmessung soll hier so schnell wie möglich zum Einsatz kommen. Wenn dabei Fehler auftauchen, melde ich die natürlich.

                          Viele Grüße Stefan
                          Zuletzt geändert von stmeyer; 04.04.2021, 20:09.

                          Kommentar


                            hi,

                            beta sehr gerne. :-)

                            Gruß
                            RObert

                            Kommentar


                              Bin schon fleißig am dokumentieren, wie man die Beta aufsetzt (release soll ja auch noch funktionieren). Ich denke, kommendes WE ist es soweit...

                              Gruß, Waldemar
                              OpenKNX www.openknx.de

                              Kommentar


                                Hi,

                                im Rahmen der vielen Tests für v3.0 habe ich auch noch einen kleinen Bug im knx-Stack fixen können: Wenn man ein Sensormodul ohne Gruppenadressen programmiert (also alle KO sind ohne zugewiesene GA), dann konnte es passieren, dass sich das Modul daraufhin so aufhängt, dass nur ein erneutes aufspielen der Firmware über USB das Modul wieder zum Leben erweckt. Das ist mir lange nicht aufgefallen, weil ich immer mindestens die "ich bin noch da" GA zuweise.

                                Ist ein reines Firmware-Update (auf 2.5.1), ohne ETS-Applikation. Alternativ kann man einfach zusehen, dass man immer mindestens eine GA zugewiesen hat.

                                Falls man doch über das Problem stolpert: Einfach per USB erneut die Firmware aufspielen und dann das Modul mit der ETS neu programmieren.

                                Gruß, Waldemar
                                OpenKNX www.openknx.de

                                Kommentar

                                Lädt...
                                X