Problem beim Flashen

  • Hallo

    Ich habe nach gefühlt 6 Stunden keinen Rat mehr und muss jetzt mal fragen ob mir jemand helfen kann.

    Ich möchte meinen Sonoff Basic flashen und habe alles vorbereitet wie im den beiden Videos beschrieben.

    Im Prinzip funktioniert das flashen auch. Es steht wie im Video auch beschrieben in grün SUCCESS dann öffnet sich ein Fenster


    PS C:\Users\Ulli\Downloads\Sonoff mit Alexa\Sonoff-Tasmota-master\Sonoff-Tasmota-master> pio device monitor --port COM7 --baud 115200

    --- Miniterm on COM7 115200,8,N,1 ---

    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---

    00:00:07 WIF: Connect failed as AP cannot be reached

    00:00:07 WIF: Connecting to AP1 biker1602 in mode 11N as sonoff-4224...

    00:00:14 WIF: Connect failed as AP cannot be reached

    00:00:14 WIF: SmartConfigactive for 1 minute

    00:02:00 RSL: tele/sonoff/UPTIME = {"Time":"1970-01-01T00:02:00", "Uptime":1}

    00:03:16 APP: Restarting

    ets Jan 8 2013,rst cause:1, boot mode:(1,0)

    ets Jan 8 2013,rst cause:4, boot mode:(1,0)


    wdt reset

    Linter

    Severity Provider Description Line


    aber dann geht es nicht weiter. Der Sonoff startet nicht neu nur die Lampe am Sonoff blinkt erst schnell dann leuchtet sie einen Moment dauerhaft und dann ist sie aus.

    Ich habe an der user_config.h schon soviel rumgeschraubt und eingestellt wahrscheinlich auch schon verstellt aber alles ohne Erfolg :(

    Ich möchte eigentlich nur einen freie Firmware drauf umd die Cloud zu umgehen und das Alexa das Teil findet.

    Ich mache es heute zum ersten mal und denke das ich bestimmt immer den gleichen Fehler wieder mache.:cursing:


    Ich hoffe mir kann jemand helfen

    Vielen Dank

  • Sieht so aus, als stecke der Fehler in der WiFi-Konfiguration. Netzwerkname (biker1602) und Passwort wirklich richtig eingegeben?

    Zitat

    00:00:07 WIF: Connect failed as AP cannot be reached

    00:00:07 WIF: Connecting to AP1 biker1602 in mode 11N as sonoff-4224...

    00:00:14 WIF: Connect failed as AP cannot be reached

    Relevant in der user_config.h sind diese Zeilen:

    Code
    1. #define STA_SSID1 "Dein_Netzwerkname" // [Ssid1] Wifi SSID
    2. #define STA_PASS1 "dein_passwort" // [Password1] Wifi password
    3. #define STA_SSID2 "" // [Ssid2] Optional alternate AP Wifi SSID
    4. #define STA_PASS2 "" // [Password2] Optional alternate AP Wifi password
    5. #define WIFI_CONFIG_TOOL WIFI_WPSCONFIG // [WifiConfig] Default tool if wifi fails to connect
    6. // (WIFI_RESTART, WIFI_SMARTCONFIG, WIFI_MANAGER, WIFI_WPSCONFIG, WIFI_RETRY)

    SSID2 und PASS2 kannst du erst einmal undefiniert lassen und später über das Webinterface einrichten. Dein Sonoff bekommt keine Internet-Verbindung. Dafür spricht auch die Zeile

    Zitat

    00:02:00 RSL: tele/sonoff/UPTIME = {"Time":"1970-01-01T00:02:00", "Uptime":1}

    Hier versucht das Betriebssystem einen Zeitserver zu erreichen. Es findet keinen und nimmt stattdessen den Beginn der UNIX-Zeitrechnung

    Es kann aber auch sein, dass in den Zeilen 41-44 (IP-Konfiguration) was nicht stimmt.

    Möglicherweise müsstest du in deinem Router das WLAN-Protokoll auf Version 802.11g+b umstellen.

    Nicht verzweifeln, erst einmal eine Runde um den Block drehen und dann findest du den Fehler.

    Gruß

    Jörg

  • SSID und Passwort habe ich definitiv richtig eingegeben aber in der Zeile 46-49 kann wirklich der Hacken liegen



    // -- Wifi ----------------------------------------

    #define WIFI_IP_ADDRESS "0.0.0.0" // [IpAddress1] Set to 0.0.0.0 for using DHCP or IP address

    #define WIFI_GATEWAY "192.168.178.1" // [IpAddress2] If not using DHCP set Gateway IP address

    #define WIFI_SUBNETMASK "255.255.255.0" // [IpAddress3] If not using DHCP set Network mask

    #define WIFI_DNS "192.168.178.1" // [IpAddress4] If not using DHCP set DNS IP address (might be equal to WIFI_GATEWAY)


    Da habe ich auch schon einiges versucht aber ehrlich gesagt weiß ich garnicht wo da was hin soll.

    Die 192.168.178.1 ist die von der Fritzbox


    Was ist sonst noch sehr wichtig was ich verkehrt eingetragen habe?

  • Hallo Biker1602,

    Wenn du in Zeile 41 0.0.0.0 eingibst, teilst du Tasmota mit, dass du DHCP verwenden möchtest. Das wiederum bedeutet, dass deine Fritzbox dem Sonoff netzwerkmäßig alles Wichtige mitteilt: eine IP-Nummer, die Gateway-IP, die Subnetzmaske und den Nameserver (DNS). Das muss dann in der user_config.h leer bleiben.

    Du scheinst die Angaben gemischt zu haben. Das könnte das Problem sein. Ich persönlich arbeite lieber mit einer festen IP für alle Geräte, die in einem Netzwerk eine bestimmte Funktion haben.

    Du hast nun zwei Möglichkeiten. Entweder gibst du deinem Sonoff eine feste IP oder du überlässt der Fritzbox die Steuerung. Feste IPs kannst du bei einer Fritzbox in der normalerweise von 192.168.178.2 bis 192.168.178.19 vergeben.


    Die Zeilen 41 bis 44 sehen bei DHCP (= Steuerung durch Fritzbox) so aus:

    Code
    1. #define WIFI_IP_ADDRESS "0.0.0.0" // [IpAddress1] Set to 0.0.0.0 for using DHCP or IP address
    2. #define WIFI_GATEWAY "" // {IpAddress2] If not using DHCP set Gateway IP address
    3. #define WIFI_SUBNETMASK "" // [IpAddress3] If not using DHCP set Network mask
    4. #define WIFI_DNS "" // [IpAddress4] If not using DHCP set DNS IP address (might be equal to WIFI_GATEWAY)

    oder mit fester IP so:

    Code
    1. #define WIFI_IP_ADDRESS "192.168.178.15" // [IpAddress1] Set to 0.0.0.0 for using DHCP or IP address
    2. #define WIFI_GATEWAY "192.168.178.1" // {IpAddress2] If not using DHCP set Gateway IP address
    3. #define WIFI_SUBNETMASK "255.255.255.0" // [IpAddress3] If not using DHCP set Network mask
    4. #define WIFI_DNS "192.168.178.1" // [IpAddress4] If not using DHCP set DNS IP address (might be equal to WIFI_GATEWAY)

    wobei die 15 im letzten Zahlenblock nur eine mögliche Nummer zwischen 2 und 19 ist und nur benutzt werden darf, wenn kein andres Gerät diese Nummer bereits bekommen hat. Wenn du bislang noch keine feste IP in deinem Heimnetz vergeben hast, müsste eigentlich alles von 2 bis 19 frei sein.

    Der Vorteil einer festen IP ist, dass du immer weißt, unter welcher Adresse dein Netzwerk-Gerät zu erreichen ist. Bei DHCP kann sich das ändern, wenn z. B. dein Gerät mal ein paar Wochen nicht angeschaltet war.

    In der Fritzbox kannst du unter Heimnetz -> Heimnetzübersicht -> Netzwerkeinstellung -> Abschnitt IP-Adressen -> Schaltfläche IPv4-Adressen einstellen, ab welcher IP der DHCP-Server die Nummern vergibt. Bei mir beginnt das erst ab 70 ;). Alles was unter 70 ist sind feste IP-Adressen. Noch was: In der Fritzbox muss die Experten-Ansicht aktiviert sein.

    Ich empfehle dir, eine feste IP im Sonoff (Quellcode 2) einzurichten. Danach müsstest du den Sonoff nach Eingabe von http://192.168.178.15 erreichen.

    Gruß Jörg

  • Müssen denn in den anderen Einstellungen auch etwas verändert werden

    // -- Syslog --------------------------------------

    #define SYS_LOG_HOST "192.168.178.1" // [LogHost] (Linux) syslog host

    #define SYS_LOG_PORT 514 // [LogPort] default syslog UDP port

    #define SYS_LOG_LEVEL LOG_LEVEL_NONE // [SysLog]

    #define SERIAL_LOG_LEVEL LOG_LEVEL_INFO // [SerialLog]

    #define WEB_LOG_LEVEL LOG_LEVEL_INFO // [WebLog]


    // -- Ota -----------------------------------------

    #define OTA_URL "http://192.168.178.1:80/api/arduino/" PROJECT ".ino.bin" // [OtaUrl]


    // -- MQTT ----------------------------------------

    #define MQTT_USE 1 // [SetOption3] Select default MQTT use (0 = Off, 1 = On)

    // !!! TLS uses a LOT OF MEMORY (20k) so be careful to enable other options at the same time !!!

    //#define USE_MQTT_TLS // EXPERIMENTAL Use TLS for MQTT connection (+53k code, +20k mem) - Disable by //

    // Needs Fingerprint, TLS Port, UserId and Password

    #ifdef USE_MQTT_TLS

    #define MQTT_HOST "192.168.178.1" // [MqttHost]

    #define MQTT_FINGERPRINT "A5 02 FF 13 99 9F 8B 39 8E F1 83 4F 11 23 65 0B 32 36 FC 07" // [MqttFingerprint]

    #define MQTT_PORT 20123 // [MqttPort] MQTT TLS port

    #define MQTT_USER "cloudmqttuser" // [MqttUser] Mandatory user

    #define MQTT_PASS "cloudmqttpassword" // [MqttPassword] Mandatory password

    #else

    #define MQTT_HOST "192.168.178.1." // [MqttHost]

    #define MQTT_PORT 1883 // [MqttPort] MQTT port (10123 on CloudMQTT)

    #define MQTT_USER "DVES_USER" // [MqttUser] Optional user

    #define MQTT_PASS "DVES_PASS" // [MqttPassword] Optional password

    #endif


    Ich habe schon überlegt die Datei nochmal nach dem runterzuladen und neu zu machen

  • Hallo Biker1602,

    es reicht im Prinzip, wenn du zunächst nur den Abschnitt Wifi (Zeilen 41 bis 49) bearbeitest wie im vorigen Post beschrieben.

    Die Veränderungen bei Syslog wieder rückgängig machen, auf jeden Fall keine IP-Nummer angeben sondern einen Namen; lass domus1 einfach stehen. Ich glaube das hat nur Sonoff intern Bedeutung und Funktion.

    Entsprechend im OTA-Abschnitt wieder den Originaltext eingeben.

    MQTT: Ich glaube nicht, dass die FritzBox der MQTT-Server sein kann. Da bitte auch das Original wiederherstellen. Einen MQTT-Server kannst du einrichten, musst du aber nicht. Der Sonoff lässt sich auch ohne MQTT steuern. Wie das geht habe ich hier beschrieben:

    Post vom 30. August 2017

    [Bei mir läuft Domoticz und MQTT auf einem Raspberry Pi, der sowieso Tag und Nacht läuft, weil er mein Video- und Radiorecorder ist. Entsprechend steht bei mir dort die IP-Adresse des Raspberry.]


    Wenn du (noch) keinen MQTT-Server hast bleiben die Angaben eben alle leer. Du kannst das später direkt in den Sonoff eintragen, wenn du den Zugriff auf das Webinterface hast. Dort gibt es einen Menüpunkt "Configuration", unter dem du die eventuell vorhanden Server, Protokolle, Passwörter usw. eintragen kannst.

    Unten im Dateianhang hast du eine unverfummelte user_config.h.txt als DHCP konfiguriert. Kopiere die einfach über deine jetzige user_config.h oder vergleiche Zeile für Zeile und stelle wieder den Originalzustand her. Wifi Netzwerkname und Passwort musst du natürlich angeben


    Versuch's noch einmal. Jetzt klappt es bestimmt. :thumbup:

  • Hallo

    Erstmal ein ganz großes Dankeschön für die Unterstützung.

    Ich habe es soweit jetzt hinbekommen aber einen Sonoff habe ich wohl zerschossen denn der Lädt die Firmware hoch aber macht dann beim starten ganz viele Karos mit Fragezeichen rein und geht auch nicht richtig weiter. Ich habe dann die original user_config.h draufgespielt aber es ist immer das selbe. Vielleicht hat da ja noch jemand einen Tip für mich wie ich den komlett resetten kann.

    Jetzt habe ich nochmal einen andere Frage. Ich habe in der Wohnzimmerlampe einen Sonoff verbaut damit ich sie mit Alexa steuern kann. Ich hatte erst gar keinen Erfolg weil Alexa den Sonoff nicht gefunden hat. Erst als ich über das WebIF bei Emulation auf HUE Bridge gestellt habe (davor hatte ich auf Belkin WeMo) wurde der Sonoff gefunden und er schaltet auch. Was mich stutzig mach das beim Licht anschalten immer der Hinweis von Alexa kommt "Tischlampe reagiert gerade nicht" obwohl sie angeht. Beim ausmachen sagt sie ganz normal ok.

    Woran kann das liegen?

  • Hhm, das hört sich bizarr an. Falls du die Hardware nicht beim Einlöten der Pins verbraten hast, kann es eigentlich nur an einer falschen Konfiguration liegen. Denn beim Flashen wird der Flash-Speicher komplett neu geschrieben. Schau dir mal diese Seite an, auf der das "Löschen" beschrieben wird lade dieses Tool. Ich habe damit allerdings keine eigene Erfahrung. Vermutlich liegst aber an der Konfiguration. Zu Alexa kann ich nichts sagen, weil ich auf der einen Seite Ewelink rausschmeiße, weil ich meine WiFi-Daten und mein Schaltverhalten nicht in einer Internet-Cloud speichern will um mich dann andererseits von Amazon (oder Google oder Apple....) abhören zu lassen.


    Ich habe noch eine deutschsprachige Seite gefunden, die das Löschen des Flashspeichers beschreibt.

  • Bin auch gerade am Basteln und hatte mir hier im Shop den bereits mit Tasmota geflashten Sonoff Basic mit Koppelrelais bestellt. Hab dann natürlich gleich mal im Webinterface geschaut was so geht und festgestellt, dass erstens kein Backup der Konfiguration gemacht werden konnte, zweitens nicht die aktuelle FW geflasht war und drittens, diese sich auch nicht direkt OTA updaten lies.

    Also erst mal die aktuelle FW.bin erstellt und OTA geflasht. Danach wollte sich der Sonoff einfach nicht mehr mit Alexa verbinden. So bin ich auf diesen Thread gestoßen und hab mir die user_config.h von JoergZ mal genauer angesehen. Da war dann auch bei meiner ein kleines Problem mit der Vermischung von fester und variabler IP vorhanden. Nach dem ich dann alles schön für den DHCP eingerichtet hatte, hat's auch wieder mit Alexa funktioniert.

    Da das alles für etwas mehr Verständnis gesorgt hat, gleich noch den Sonoff von der Küche ausgebaut und selber die Tasmota FW geflasht, diesmal die user_config.h gleich richtig angepasst und alles lief gleich beim ersten Versuch ;)

    Wenn bei Dir sich der Sonoff also seltsam verhält und nicht wirklich elektrisch zerschossen ist, sollte mit einem neu Flashen und der passenden config das Teil auch wieder laufen. Bei mir läufts mit Belkin WeMo Emulation und ausgeschaltetem MQTT sehr gut.

  • Hi,


    also das habe ich auch schon festgestellt. Das wenn man die Config auf DHCP lässt es besser klappt. Wer eine "faste IP" für den Sonoff möchte, sollte besser den Weg über den Router gehen. Bei der Fritzbox kann man denen dann immer die gleiche IP vergeben. Diese wird dann auch ganz sicher mit der MAC Adresse von diesem Sonoff verknüpft. Also für mich ist dies, die bessere Wahl. Und mein PC, Raspi, IOBroker habe ich auch nach diesem Prinzip eingebunden. Klappt prima.


    Gruß

    Norbert