Hallo Ich versuche derzeit eine neue Firmware auf ein Sonoff Basic Schalter zu brennen damit ich ihn direkt in Apple HomeKit einbinden kann. Leider bekomme ich immer folgende Fehlermeldung: Walters-iMac:~ walter$ /Users/walter/Desktop/Sonoff-Homekit-master/flash.sh ; exit; /Users/walter/Desktop/Sonoff-Homekit-master/flash.sh: line 8: esptool.py: command not found logout Geöffnet habe ich das Programm mit Terminal. Ich hab auch gelesen, dass man Python installieren muss - hab ich gemacht. Als Serial Adapter verwende ich einen Arduino (mit ausgebauten Prozessor) - Egal ob er angesteckt ist oder nicht - es funktioniert nicht. Konkret geht es um dieses Projekt: https://github.com/Gruppio/Sonoff-Homekit Hardware: Apple OSX Softwarekenntnisse: Ein bisschen was mit Arduino. Also nicht wirklich. Strom: Grobmotoriker - Kabel haben in der Regel 1,5mm2 und Spannungen unter 1 Volt sind Messfehler. Und ich weiss wo der Lötkolben sein heisses Ende hat. Welche Infos braucht ihr noch? Danke Walta
:
Bearbeitet durch User
Und wie geht das? Ich hab in Terminal folgendes eingetippt: Walters-iMac:~ walter$ sudo pip install esptool Password: sudo: pip: command not found Ich bin Apple User - ich arbeite mit drag and drop. Direkte Befehlseingabe an einem Terminal ist bei mir schon Jahrzehnte vorbei. :-( Walta
Hallo Walta, Python ist schon da. Check mit
1 | python --version |
Dann pip Installer runterladen
1 | curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py |
und ausführen
1 | python get-pip.py |
kann sein, dass du sudo brauchst, dann eben
1 | sudo python get-pip.py |
viel Erfolg Timm
Hallo, versuch mal:
1 | curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py |
1 | python get-pip.py |
Danach sollte das
1 | sudo pip install esptool |
klappen. Wenn das nicht hilft geht es hier weiter: 1. Welche Version von macOS benutz Du? Apfel Menu > Über diesen Mac 2. Was kommt wenn Du die folgenden Kommandos auf der Konsole ausführst:
1 | python -V |
Gibt die Version des default Interpreters aus sollte:
1 | /usr/local/bin/python |
sein.
1 | which python |
Gibt aus welcher Interpreter als default genutzt wird sollte
1 | Python 2.7.16 |
sein.
Nach der Anleitung von Timm und Oliver hat sich einiges getan. Dinge wurden heruntergeladen und installiert, geendet hat es mit: Successfully built esptool pyaes Installing collected packages: pyserial, pyaes, ecdsa, esptool Successfully installed ecdsa-0.14.1 esptool-2.8 pyaes-1.6.1 pyserial-3.4 Sehr schön. Dann hab ich flash.sh nochmal gestartet und es kam: WARNING: Flash size arguments in megabits like '8m' are deprecated. Please use the equivalent size '1MB'. Wenn ich die Datei flash.sh in Text Edit öffne dann steht dort: #!/bin/bash POWERON_STATE="ON" # Change this to "OFF" if you want that your Sonoff will be OFF when powered SONOFF_PORT="/dev/cu.wchusbserial14310" esptool.py \ -p $SONOFF_PORT \ --baud 115200 \ write_flash \ -fs 8m \ -fm dout \ -ff 40m \ 0x0 ./firmware/rboot.bin \ 0x1000 ./firmware/blank_config.bin \ 0x2000 ./firmware/Sonoff_$POWERON_STATE.bin Ich werd mal versuchen -fs 8m auf -fs 1MB zu ändern und schau mal was passiert. Hab zwar keine Ahnung was ich da mache aber es läuft unter dem Titel "Jugend forscht" walta
Das ist passiert: esptool write_flash: error: argument <address> <filename>: [Errno 2] No such file or directory: './firmware/rboot.bin' Die Datei boot.bin und der Ordner firmware ist aber vorhanden. Grrrrr... Walta Gehe jetzt Fernsehen - muss nachdenken
:
Bearbeitet durch User
Ich hab jetzt die Files und die Ordner direkt in das Programm geschrieben: #!/bin/bash POWERON_STATE="ON" # Change this to "OFF" if you want that your Sonoff will be OFF when powered SONOFF_PORT="/dev/cu.wchusbserial14310" esptool.py \ -p $SONOFF_PORT \ --baud 115200 \ write_flash \ -fs 1MB \ -fm dout \ -ff 40m \ 0x0 desktop/sonoff/firmware/rboot.bin \ 0x1000 desktop/sonoff/firmware/blank_config.bin \ 0x2000 desktop/sonoff/firmware/Sonoff_$POWERON_STATE.bin Jetzt hab ich die nächste Fehlermeldung - er findet das /dev/cu.wchusbserial14310 nicht: serial.serialutil.SerialException: [Errno 2] could not open port /dev/cu.wchusbserial14310: [Errno 2] No such file or directory: '/dev/cu.wchusbserial14310' logout Was ist das schon wieder? danke walta
SONOFF_PORT="/dev/cu.wchusbserial14310" Da muss dein Serialport rein meist ist es /dev/ttyUSB0 oder ähnliches.
Als serialport verwende ich den Arduino. Werde mal schauen, wie der bezeichnet wird. Melde mich am Nachmittag wieder. danke walta
Hi Walta ich hänge an dem gleichen Problem. Absoluter Anfänger, es geht aber mit trial und error voran :) was deinen Port angeht: Ich musste bei mir vorher noch Treiber installieren, dass dieser gefunden wird: https://www.ftdichip.com/Drivers/VCP.htm Wenn installiert, dann wirst du bei Arduino unter Werkzeuge->Port fündig. Diesen musst du dann in der flash.sh abändern. Trotz alledem kommt bei mir nun folgende Fehlermeldung: "A fatal error occurred: Failed to connect to Espressif device: Timed out waiting for packet header" Hat jemand ne Idee woran das liegt?
Edit: funktioniert nun. Falls es was hilft, das habe ich gemacht: 1. den Knopf auf dem Sonoff gedrückt halten, während ich des USB einstecke 2. Den Flash-Speicher auf dem Sonoff löschen mit "esptool.py erase_flash" im Terminal 3. USB-Stecker ziehen, Knopf drücken und wieder einstecken 4. die Datei Flash.sh geöffnet und folgendermassen geändert: a) "-fs 8m" durch "-fs 1MB" ersetzt b) "-p $SONOFF_PORT \" durch "-p /dev/cu.usbserial-A50285BI \" ersetzt (hier natürlich deinen eigenen einsetzen c) "0x2000 ./firmware/Sonoff_$POWERON_STATE.bin" durch "0x2000 desktop/sonoff/firmware/Sonoff_ON.bin" ersetzt (oder durch die Off-Datei, je nachdem was du oben gewählt hast). 5. den Text ab esptool.py kopieren und in Terminal einfügen ab dann lief es.
Auch von mir ein kurzer Zwischenbericht. Inzwischen konnte ich den Schalter umprogrammieren. Wenn ich ihn anschliesse kann ich mich in sein WLAN einloggen. In der Home app hab ich manuell den Code eingegeben (11111111) so wie auf der Homepage beschrieben. Nur das Gerät erscheint dann nicht. Die HomeApp such ein neues Gerät - aber findet es nicht. HomeApp gelöscht und neu Installiert - geht auch nicht. Keine Ahnung was jetzt schon wieder spinnt. Danach hab ich versucht ihn nochmal zu flashen - nur ohne Erfolg: der Schalter wird vom ISP Arduino nicht gefunden. Hier mein Code: #!/bin/bash POWERON_STATE="ON" # Change this to "OFF" if you want that your Sonoff will be OFF when powered SONOFF_PORT="/dev/cu.usbmodem621" esptool.py \ -p $SONOFF_PORT \ --baud 115200 \ write_flash \ -fs 1MB \ -fm dout \ -ff 40m \ 0x0 desktop/sonoff/firmware/rboot.bin \ 0x1000 desktop/sonoff/firmware/blank_config.bin \ 0x2000 desktop/sonoff/firmware/Sonoff_$POWERON_STATE.bin Walta
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.