geänderte Parameter werden beim flashen nicht übernommen

  • Hallo Gemeinde,

    ich habe nun schon seit über einer Woche gesucht aber nichts hilfreiches gefunden.

    folgendes Problem => ich Flasche einen Jungfräuliches SONOFF Device. Alle gewünschten Parameter wie SSID / Password / Device Name usw. trage ich vorher in die user_config.h ein.

    Der Vorgang läuft ohne Fehler durch und das Device ist Einsatzbereit. So weit so gut.

    Nun fällt mir aber ein das ich das Gerät umbenennen oder z.B. den PowerON Status verändern möchte, also verändere ich die user_config.h und flashe erneut.

    Den Namen hat er teilweise übernommen, aber den PowerON Status nicht. Warum?:/


    Egal ob flashen by wire oder OTA. Bei beiden Vorgängen das selbe unbefriedigende Ergebnis.


    Nehme ich ein neues jungfräuliches SONOFF Device funktioniert alles wie es soll, bis ich es erneut betanken will... :(

  • Hallo mac_switch, was genau möchtest du ändern? Wenn du z. B. den Power on Status ändern willst, kannst du es so machen:

    Weboberfläche -> Console

    Das ins Eingabefeld schreiben: poweronstate 1

    Return-Taste drücken

    Das ins Eingabefeld schreiben: restart 1

    Return-Taste drücken

    5 Sekunden warten, den Strom vom Sonoff nehmen und den Strom wieder anschließen.

    Nun sollte der Sonoff nach der Stromgabe gleich im Zustand on sein. Willst du das ändern, nusst du die ganze Prozedur erneut durchlaufen allerdings mit dem Startbefehl poweronstate 0

    Der Befehl restart 1 "flashed" manche Einstellungen recht fest. Du musst allerdings einmal kurz den Strom wegnehmen.

    Mit der Console kann ziemlich viel geändert werden. Ist schon ein klasse Werkzeug.

    Gruß

    Jörg

  • Hi Joerg,


    nein er will nicht die Parameter ändern. Er beschreibt das Phänomen welches ich auch schon mal hatte / habe.


    Er flasht einen Sonoff. Gut. Die Tasmota Softw. ist drauf. Aber er hat etwas vergessen in der user_config.h einzustellen. zum Bleistifft die Pulstime sagen wir mal. Also geht er hin startet Atom ändert die user_config.h erneut, compilert diese und flasht sie einfach über das bereits geflasht Sonoff drüber. Tja und da die Build die selbe ist werden die neuen geänderten Werte aus der user_config.h nicht im bereits geflashten Sonoff überschrieben. Mir erging es so mit der SSID, der Sonoff hat die Änderungen nicht aus der user_config.h akzeptiert und das Obwohl der Flashvorgang mit Succes abgeschlossen wurde, genauso wie der Compilervorgang. Es gibt wohl einen Breich im Speicher der wenn er einmal geschrieben ist nicht mit der selben build Nummer überschrieben wird. Frag mich wieso. Keine Ahnung ..


    In meinem Fall war das so ich habe den Sonoff geflasht mit den Daten alles gut Sonoff klappt. Tja nun habe ich aber in meinem Router die Wlan SSID geändert. Also dachte ich mir ist ja kein Problem flashste dat Dingen nochmal drüber. Flashvorgang alles gut alles grün. Nur das sich der Sonoff nicht mit dem Wlan verbunden hat. Er wollte immer auf die Alte SSID verbinden? Und nu? Über den PlatformIO Monitor hat er keine IP ausgespuckt .. tja und Ohne IP auch keine Weboberfläche. Bäm und NU?? tja den Sonoff durch 5 mal kurzes drücken der Taste in den WPS Modus versetzt und nacheiner Weile hatte ich die IP von dem Sonoff und somit auch die Weboberfläche.

    Denn man kann in der Weboberfläche (Console) nicht alles ändern .. Manches muss man vor dem flashen in die user_config.h eintragen. Ähm oops lang ..So hier mal der Link wie man die Build Nummer ändert. Ich hoffe es hilft.


    https://github.com/arendst/Son…ff/user_config_override.h


    Gruß

    Norbert


    Sorry für den langen Post ..

  • Denk beim Ausprobieren und flashen auch daran: Diesen Wert zu ändern #define CFG_HOLDER 0x20171123 Hier das ist meine Build 0x bleibt immer gleich 2017=Jahr 11=Monat 23=Tag wäre also heute. Natürlch wenn du am selben Tag gleich mehrmal deinen Sonoff flashen möchtest. dann musste halt zwischen den Tagen hin und her "switchen"


    Gruß

    Norbert

  • Nobbi :

    Längere Posts sind völlig ok. Wir bauen hier gemeinsam etwas auf. Da geht es eben nicht nur um die schnelle Lösung, sondern auch darum, wie was mit wem zusammenhängt. Und da muss, da darf und da sollen wir auch mal weiter ausholen dürfen. Also: weiter so!


    Nobbi und mac_switch:

    Was über Konsole geht und was nicht, wäre noch näher zu ermitteln. Aber die IP habe ich erfolgreich geändert. Der Ort ist die Eingabezeile in der Console der Weboberfläche. Jede Zeile muss mit einem Enter abgeschlossen werden. Habe ich als <enter> eingetragen. Kommentare sind mit einem # gekennzeichnet und gehören NICHT zur Eingabe. Getestet mit einem Sonoff S20 und Tasmota 5.7.1:

    Code
    1. savedata 1<enter>    #dauerhaftes Speichern aktivieren
    2. ipaddress1 192.168.178.XXX<enter> #die gewünschte IP-Nummer eingeben, 3-5 Sekunden warten und dann
    3. #den Strom vom Sonoff nehmen und nach 3 Sekunden wieder auflegen
    4. #im Browser die neue IP-Adresse eingeben und in die Console gehen und dann
    5. savedata 0<enter>     # das dauerhafte Speichern deaktivieren - das nervt sonst eher


    So hat der Sonoff S20 dauerhaft eine andere IP.


    Dann versuchte ich das ganze mit dem Wifi-Passwort zu wiederholen, habe mir dabei aber erstmal selbst ins Knie geschossen, weil ich dem Sonoff das WifI-Passwort test verpasst habe, mein Router allerdings das zu kurze Passwort ablehnt. Jetzt muss ich wohl meinen Sonoff (zum Glück nur der Experimentier-S20) tatsächlich neu flashen. Dass ich jetzt nicht mehr an den Sonoff herankommen, weil er in kein WLAN mehr kommt, ist fast schon der Beweis, dass es so klappt.


    Zusammenfassung:

    Wichtig ist der savadata 1 oder savedata on Befehl, damit die Änderung dauerhaft gespeichert wird, und dass vom-Strom-nehmen des Sonoff. Erst dann startet das Kistchen mit den neuen Einstellungen.

    Gruß

    Jörg

    PS: Wünscht mir Glück, dass das reflashen klappt

  • Hi Joerg ..gut zu wissen. Danke. Das Werde ich doch mal mit der Pulstime testen :-) Und doch du musst nicht neu flashen (kannst du natürlich) Aber es geht auch anders. 5 mal ganz kurz den Button hintereinander drücken und der Sonoff befindet sich im WPS Modus. Man hat glaube ich dann 1 Minute Zeit um am Router auch die WPS Taste zu betätigen. Schau mal hier:

    https://github.com/arendst/Sonoff-Tasmota/wiki/Button-usage


    Gruß

    Norbert


    P.S.

    JoergZ den Tipp habe ich mal mit aufgenommen siehe hier: Tipps und Tricks Tasmota Software

  • Nobbi :

    WPS??? Wie schreibt man das? Ich habe hier ein paar Fritzboxen vom Anfang des Jahrtausends (7170 Generation), die Haus und Hof mit WLAN fluten. Ich bin da ein wenig old school (das ist nicht politisch gemeint!!!), da das Internet bei uns sowieso ziemlich schnarchig :sleeping: unterwegs ist, brauche ich noch keine bessere Hardware.

    Kurz und gut das Neuflashen hat geklappt, aber tatsächlich mit der IP-Nummer, die ich meinem letzten Gerät verpasst hatte. Das Problem muss in Atom stecken, den der S20 hatte vorher die 64, als ich ihn passworttechnisch abgeschossen habe, und nach dem flashen hat er die 67 (die eigentlich ein anderes Gerät hat). Naja, nach meiner eigenen Anleitung ^^ habe ich ihn wieder auf 64 getrimmt.


    Ach übrigens: SSID1, SSID2, Passwort1 und Passwort1 lassen sich nach der Beschreibung zur Änderung der IP-Nummer ebenfalls ändern. savedata 1 und neuer Strom sind die Schlüssel zum Glück.


    Und der Link auf Deinen Tipps und Tricks Post ist super. Genau dahin gehört so etwas wie diese Konsolen-Löterei. Danke!

  • Hi JoergZ,


    jo hat nicht jeder WPS .. :-) Ich habe mir auch erst vor 3 Monaten eine neue Fritz Box geleistet. Da wir hier einen coolen Kabelanschluss haben bis 400000 wären Möglich ich habe die Hälfte von dem. Passt :-)


    Zum zweiten .. Nein der Fehler steckt nicht bei Atom sondern in deiner Build Nummer. Da du diese nicht vorher in Erfahrung gebracht hast (über die Console geht das .. ) hättest du in der user_config.h diesen Eintrag #define CFG_HOLDER 0x20171124 neu schreiben müssen(Also nur die 8 Zahlen nach dem 0x). Den Ursprungs Eintrag findest du hier in der user_config_override.h (schau was bei mir steht .. //#define CFG_HOLDER 0x20161211) Wie du siehst steht der Original Eintrag auf 0x20161211 <<< den würde ich auch nicht ändern, wenn's nicht unbedingt sein muss. Der ist zwar ausgeklammert durch diese // aber so weis man immer wo man angefangen hat. Man kann natürlich zur eigenen Kontrolle den Eintrag auf das letzte Datum stellen an dem man den Sonoff zuletzt geflasht hat. Die // müssen aber bleiben :-) ..


    Gruß

    Nobbi

  • Nobbi :

    Danke für den Hinweis. Zu diesem Thema hattest du dich ja weiter oben schon geäußert. Weißt du schon, auf welche Einstellungen sich das auswirkt? Auf alles, was nach Zeile 36 in der user_config.h steht oder nur auf einen Teil? Und wie ruft man diesen Wert mit einem Konsolenbefehl ab?

  • Ja JoergZ


    es wirkt sich auf die gesammte cfg aus. Das Ändern der Build zwingt den Sonoff die Config Datei komplett zu schreiben und nicht nur Teile davon. Oder gar nicht's. Wenn der Speicher vom Sonoff eine neue Build "empfängt" dann wird er gezwungen so zu sagen, erst gar keinen Vergleich der Alten und Neuen Werte anzustoßen. Was folglich heisst das er "blind" Alles schreibt .. Und dies ist ja gewünscht, da andernfalls einige Werte nicht übernommen werden. Wie zum Bleistiff eine geänderte IP oder SID .. Und das liegt warscheinlich in der Struktur des verbauten Chip. Die "Vergleicher" Logig ist dort nur Minimal warscheinlich war das auch nicht vorgesehen. Oder es war kein Platz mehr auf dem Chip um dieses noch zu implementieren. Also beugt man dem vor und ändert einfach die Build. .. Na dann mal frohes flashen :-)


    Gruß

    Norbert