Firmwareupdate 2.2.0(92)

Es gibt ein neues Firmwareupdate für den OpenSprinkler 3.2, speziell die Versionen mit Ethernet Anschluss.

Nachdem einige Kunden uns kontaktiert hatten, dass nach einigen Tagen der OpenSprinkler nicht mehr reagierte, wenn man diesen per Ethernet anschloss, sind wir den Problem nachgegangen. Seltsamerweise sind davon nur 1 von 10 Kunden betroffen. Die Ursache zu finden war recht problematisch, denn erst nach vielen Stunden hängte sich der OpenSprinkler auf und reagierte nicht.

Hier gibts die genaueren Details: https://opensprinkler.com/forums/topic/controller-lockups-crashes/page/3/#post-67581

 

Leider gibt es trotzdem noch Probleme, welche durch andere, ungeklärte Ursachen zur Blockade des OpenSprinklers führen.

Daher habe ich entschlossen, eine eigene Firmware zu entwickeln. Die von mir angepasste Version 2.2.0(89)  basiert auf der aktuellen der 2.1.9(7), hat jedoch folgende zusätzliche Funktionen:

– wifi-sleepmode: Kommt keine WiFi-Verbindung zu stande, wird diese für eine Zeitlang deaktiviert. Dies ist notwendig, wenn WLAN-Router Energiesparmodus aktiviert haben oder Nachts das WLAN deaktiviert wird. Ebenso lößt dies bestimmte Wiederverbindungsprobleme (betrifft nur OpenSprinkler 3.0/3.2 AC/DC/Latch OHNE Ethernet-Schnittstelle)
– Ping-Check: Alle 60s prüft OpenSprinkler, ob er noch online ist. Wenn dem 3x nacheinander nicht so ist, erfolgt ein Reboot. Bei WIFI wird dabei ein Ping gegen das Gateway gemacht, bei LAN werden diverse externe WebServer kontaktiert. Ein Neustart erfolgt natürlich nie, wenn ein Programm gerade läuft. Nur im Leerlauf erfolgt ein Reboot (Betrifft alle OpenSprinkler 3.0/3.2 AC/DC/Latch)
– Aktualisierte Ethernet API Implementierungen. Besonders die Version mit EthernetENC ist hier hervorzuheben, da diese auf den neuen “Ethernet 2.0.0 Arduino library functions” basiert.

Hier ist die Firmware:

OS220(92).bin (mit EthernetENC from 11.10.2020 + Wifi Sleep + Ping-Check)

OS220(90).bin (mit UIPEthernet 2.0.9 + Wifi Sleep + Ping-Check)

OS220(89).bin (mit UIPEthernet 2.0.8 + Wifi Sleep + Ping-Check)

NEU: BETAVERSION zum Testen:

OS220(93).bin (mit EthernetENC from 12.11.2021 + Wifi Sleep + Ping-Check). Basis ist ESP 8266 Version 2.7.4

Informationen zum “wie” und “wo” man ein Firmwareupdate macht, gibt es hier:

Firmware Update

Dieser Eintrag wurde veröffentlicht am Allgemein. Setze ein Lesezeichen auf den permalink.

10 Meinungen zu “Firmwareupdate 2.2.0(92)

  1. Sebastian Lotz
    Sebastian Lotz sagt:

    Hallo,

    auf dem von mir bei Euch gekauften Gerät ist 2.1.9 (7) installiert und keine 2.2.0er.
    Ist diese inzwischen (2021) nicht mehr notwendig bzw. sinnvoll?

    Gruß

    Sebastian Lotz

    • Admin
      Admin sagt:

      Hallo,
      das liegt daran, dass die Version 2.2.0(92) MEINE Version ist, nicht die OpenSprinkler.com
      Die offizielle Version ist weiterhin 2.1.9(7) und wird daher auch so ausgeliefert.
      Da die Software Open-Source ist, kann diese von jedem heruntergeladen und mit etwas Know-how angepasst werden.
      Einige Änderungen waren notwendig, da scheinbar nur in Europa und nicht in den USA nachts die W-LANs abgeschaltet werden und so der OpenSprinkler Neuverbindungsprobleme machte.
      Dann kommt noch das Ethernetproblem hinzu, dass in manchen LANs so viel Stör-Traffic vorkommt, dass sich der Ethernetadapter aufhängt.
      Für beides habe ich meine Vorstellung der Lösung umgesetzt. Bei OpenSprinkler.com sind diese Änderungen derzeit noch nicht eingeflossen.
      Ach ja, meine 2.2.0 Version basiert auf der 2.1.9(7)

      • Philipp
        Philipp sagt:

        Hallo Stefan,

        sind deine Code Änderungen auch irgendwo eingecheckt? Ich bin in deinem GitHub Account nicht fündig geworden.

        Gruß,
        Philipp

      • Tobias
        Tobias sagt:

        Hallo, ich setzte seit gestern Opensprinkler mit deiner Version

        OS220(92).bin (mit EthernetENC from 11.10.2020 + Wifi Sleep + Ping-Check)

        und Anbindung über LAN ein.

        Leider habe ich folgendes Problem: OS versucht in Regelmäßigen Abstanden auf der Router IP das Webinterface auf Port 80 zu erreichen. Meim Router hat allerdings keinen HTTP Webserver. Dies führt dazu, dass OS alle paar Minuten neu bootet. Hänge ich eine alte Fritzbox dazwischen, auf welcher der Webserver auf Port 80 antwortet, sind die Reboots weg.

        Als Reboot Grund wird stets “Power On” angegeben.

        Bei Anbindung über Wlan kann ich den Router Logs entnehmen, dass regelmäßig Pings auf das Gateway abgesetzt werden.

        Welche externen Server werden zur Prüfung für den Verbindungsabriss bei LAN Anbindung geprüft?

        Gibt es einen Grund, warum bei WLAN ein Ping und bei LAN ein HTTP-Request für den .”Ping-Check” verwendet wird?

        • Admin
          Admin sagt:

          Hallo,
          das liegt daran, dass es für die EthernetENC Bibliothek (https://github.com/jandrassy/EthernetENC) keine Ping Funktion gibt. Fürs WLAN hingegen gibt es dies. Und nein, es gibt leider keine Alternative Bibliothek.
          Daher macht er stattdessen ein http-get auf die IP des Gateways.
          Aber auch wenn die IP nicht antwortet, weil eben kein Webinterface geschaltet ist, funktioniert die Prüfung: Wenn der erste Versuch fehlschlägt, dann werden stattdessen reihum folgende Webseite gepingt (mit http-get):
          “opensprinkler.com”, “google.de”, “youtube.com”, “usatoday.com”, “wikipedia.org”
          Sobald drei Hosts nacheinander nicht erreicht werden können, macht der OS ein reboot.

  2. Philipp
    Philipp sagt:

    Hallo Stefan,
    sind deine Code Änderungen auch irgendwo eingecheckt? Ich bin in deinem GitHub Account nicht fündig geworden.

    Gruß,
    Philipp

  3. christopher.lindemann
    christopher.lindemann sagt:

    Gibt es hier eigentlich irgendwann ein permanenten Fix ? Ich seh nur öfter das es ein Reboot bekommen hat “Grund Network Failure” etc.

    • Admin
      Admin sagt:

      Aufgrund der Veröffentlichung von Arduino 3 mit nativer Unterstützung der Ethernet Schnittstelle ENC28J60, wird derzeit die Firmware darauf hin angepasst. Leider sind die Änderungen so gravierend, dass das nicht mal so einfach geht.

  4. Christopher Lindemann
    Christopher Lindemann sagt:

    Ich hab auf die offizielle firmware 2.1.9 rev 9 geupdatet. problem besteht weiterhin dann mach ich wieder eure firmware wohl drauf dann funktioniert das teil wenigstens

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.