NEWS
[gelöst] Sonoff Basic blinken lassen über internen Zeitplan
-
nur noch mal zur Verständniss, wenn ich irgendwas editiere, muss ich es neu compilieren und hochladen ja ? Also OTA flashen ...
oder übernimmt er einfach meine editierung indem ich sie speichere ?
-
@cinimod said in Sonoff Basic blinken lassen über internen Zeitplan:
glaube bald der basic ist hinüber.
Glaube ich nicht. Es fast ausgeschlossen einen esp mittels firmware zu bricken.
Will nicht ins Wlan und macht auch keinen HotSpot auf
Wenn er kein Hotpsot aufmacht kannst du 99,99% sicher sein das er in deinem WLAN hängt. Es ist aber wahrscheinlich das er einen neuen Hostnamen und deswegen vielleicht sogar eine andere IP von deinem DHCP Server bekommen hat. Du kannst ja ganz einfach auf der Fritze gucken welche Geräte er kennt (und welche aktiv/online sind).
Habe jetzt DAS wieder drauf geballert, und es geht auf anhieb
Hast du per serial-usb Adapater geflasht? Wenn nicht dann war das der ultimative Beweis das der Sonoff in deinem WLAN hängt
@cinimod said in Sonoff Basic blinken lassen über internen Zeitplan:
Hier scheint der Fehler zu liegen:
ERROR Error auth result: Error: Authentication invalid. Is the password correct?
Das ist leicht, das
ota
password ist schlicht falsch (nicht das gleiche was bereits auf dem Gerät ist). In der yaml aus deinem link ist keines definiert, wenn also in der secrets.yaml (oder direkt in der "geräte" yaml) ein (=anderes)ota
password definiert schlägt die Aktualisierung der Firmware fehl.Irgendwas in der Secret Datei scheint nicht da hin zu gehören, wenn ich alles was dort drin steht einfüge, dann läuft der Basic ERSTMAL, Versuche jetzt noch mal die Funktionen einzubinden, dann bleibt der Kram hat im Klartext da drin stehen.
technisch macht es keine Unterschied ob du die Information aus der secrets.yaml direkt in deiner Geräte yaml hast oder nur die secrets.yaml verlinkst. Bei nur einem Gerät macht es keinen großen Unterschied, allerdings ist die Funktion goldwert wenn man mal mehr Gerätschaften mit esphome betreibt weil man die basis Konfiguration einfach teilen kann
Noch ein paar Hilfreiche Links für dich:
https://esphome.io/components/ota.html#updating-the-password
https://esphome.io/guides/configuration-types.html#packages
https://esphome.io/guides/automations.html -
@cinimod said in Sonoff Basic blinken lassen über internen Zeitplan:
nur noch mal zur Verständniss, wenn ich irgendwas editiere, muss ich es neu compilieren und hochladen ja ? Also OTA flashen ...
Genau, esphome backt immer eine frische firmware und lädt die dann (wenn einmal esphome auf dem Gerät ist) über ota hoch.
Wenn du im Editor was änderst musst du danach glaube ich auch nur noch auf upload drücken, der speichert und kompiliert das und schiebt es direkt über WLAN auf das Gerät. Dauert im Normalfall nicht länger als 30 Sekunden (außer du kompilierst auf einem pi oder anderem low power Gerät).
oder übernimmt er einfach meine editierung indem ich sie speichere ?
Wenn du "nur" speicherst hast du "nur" lokal die yaml geändert aber das Gerät läuft weiterhin mit der firmware welche aus der "alten" yaml (die du zuletzt per ota oder kabel auf das Gerät gespielt hast) gebacken wurde
-
Danke erstmal bis hier hin, ich habe es nun soweit das zu angegebener Zeit das blinken beginnt, jedoch lässt es sich nicht mehr anhalten.
Sowohl der Taster vom Basic als auch der an GPIO14 hängende Taster funktionieren nun, und toggle´n das Relais zwar, das blinken endet aber nicht mit tastendruck, leider hilft da gerade nur ihm den Strom zu klauen.
So sieht es aktuell aus:
-
@cinimod said in Sonoff Basic blinken lassen über internen Zeitplan:
Danke erstmal bis hier hin, ich habe es nun soweit das zu angegebener Zeit das blinken beginnt, jedoch lässt es sich nicht mehr anhalten.
- while: condition: binary_sensor.is_off: taster2 then: - switch.toggle: relay - delay: 5s
Stimmt, wenn du den Taster aber etwa 5,1 Sekunden gedrückt hältst sollte zumindest das blinken aufhören (allerdings kann es sein das der switch dann auch gerade an ist).
Wir müssen uns da noch was schöneres überlegen, der code passt noch nicht ganz zu deinem Anwendungszweck
Soll/muss das blinken durch beide Taster gestoppt werden oder wäre es vertretbar das nur einer (der externe?) das blinken stoppt?
EDIT: Gibt wahrscheinlich viele Möglichkeiten dein Szenario umzusetzen, aber am besten wird es wohl sein ein wait-until einzubauen und die condition mit den binary_sensor rauszuschmeisen: https://esphome.io/guides/automations.html#wait-until-action
-
Soll/muss das blinken durch beide Taster gestoppt werden oder wäre es vertretbar das nur einer (der externe?) das blinken stoppt?
Das würde vollkommen ausreichen.
Mir stellt sich etwas die frage wie es überhaupt zu stoppen ist? muss man Delay dann mit 0 steuern ?Das wird vermutlich nicht funktionieren? :
- platform: gpio id: taster2 pin: number: GPIO14 mode: input: true pullup: true inverted: true name: "GPIO14 Button" on_press: - switch.turn_off: relay - delay: 0s
-
@cinimod said in Sonoff Basic blinken lassen über internen Zeitplan:
Mir stellt sich etwas die frage wie es überhaupt zu stoppen ist? muss man Delay dann mit 0 steuern ?
Dann blinkt aber nicht's mehr und mit etwas pech geht sogar das relais kaputt
mit dem
jetzigenvorherigen code prüft er ob der taster "aus" ist und schaltet dann das relais, wartet 5 sekunden, prüft wieder ob der taster aus ist (aber eben nur genau in dieser "millisekunde") und schaltet dann wieder das relais und wartet wieder 5 sekunden und so weiter...Ein weiterer Vorschlag zum testen:
time: - platform: sntp servers: fritz.box on_time: - seconds: 0 minutes: 23 hours: 8,17,19 days_of_week: '*' then: - switch.toggle: relay - delay: 5s - wait_until: binary_sensor.is_on: taster2 - switch.turn_off: relay
Bin mir nur nicht sicher ob der auch "ordentlich" blinkt. Stoppen sollte er aber auf tastendruck und ebenfalls das relais ausschalten
EDIT: hatte einen fehler im snippet und ist jetzt korrigiert:
- wait_until: binary_sensor.is_on: taster2
wir wollen warten bis der taster aktiv geht und damit das blinken stoppen
-
gibt es hier nicht auch eine art Variable, die mit dem Taster umgeschaltet wird, und mit in die Prüfung einfließt ? die müsste nur anschließend auch wieder zurück gestellt werden.
Besser noch die sich nach 10 Sekunden selbst wieder zurück stellt. Sonst geht es ja nachher nicht an wenn jemand einfach mal so drauf gedrückt hat.
-
@cinimod gibt es auch: https://esphome.io/guides/automations.html#global-variables
du könntest auch mit scripts arbeiten: https://esphome.io/guides/automations.html#script-component
und das ganze noch mit lambdas verkomplizieren: https://esphome.io/guides/automations.html#lambda-actionich bin nur immer ein freund von keep it save and simple
-
@opensourcenomad müsste ich dann oben die Funktion vom taster raus nehmen ?
-
Hab das Update hoch geladen, nun ist das teil wieder offline, hab kein bock mehr.
UPDATE: hat sich offenbar jetzt gefangen.
Licht blinkt leider nicht, wartet auf den Tastendruck und geht dann aus.
-
@cinimod said in Sonoff Basic blinken lassen über internen Zeitplan:
Licht blinkt leider nicht, wartet auf den Tastendruck und geht dann aus.
Eine Funktion gefixt und die andere verbuggt
Wir sind nah dran... um deine Idee mit der variablen gleich wieder aufzunehmen:
esphome: # ... on_boot: then: - switch.turn_on: tablettenblinklicht switch: - platform: template name: "Tablettenblinklicht Switch" id: tablettenblinklicht time: - platform: sntp servers: fritz.box on_time: - seconds: 0 minutes: 23 hours: 8,17,19 days_of_week: '*' then: - while: condition: switch.is_on: tablettenblinklicht then: - switch.toggle: relay - delay: 5s - wait_until: binary_sensor.is_on: taster2 - switch.turn_off: relay
Zwar keine echte variable sondern einfach nur ein template switch. Probier mal ob jetzt was blinkt
Wird der template switch auf aus gestellt dann wird das Licht nicht blinken. Mit dem
on_boot
code oben wird der switch immer aufon
gestellt wenn der esp startet. Einzige Möglichkeit den switch aufoff
zu stellen ist bei dir dann über den web server des esp (sprich ein alter herr kann das wahrscheinlich nicht ohne weiteres ) -
hier hat er wieder was zu meckern:
-
@cinimod said in Sonoff Basic blinken lassen über internen Zeitplan:
wieder was zu meckern:
Dann sind wir halt mal optimistisch
switch: - platform: template name: "Tablettenblinklicht Switch" id: tablettenblinklicht optimistic: true
-
Licht blinkt jetzt wieder, Schalter (gpio14) tut aber dieses mal gar nichts
-
-
komm wir vergessen das, das teil verbindet sich schon wieder nicht mit dem Wlan. Hab kein bock jedes mal nach dem es stromlos war mit nem FTDI neu zu flashen ... Lasse mir was anderes einfallen.
Danke für dein Mühe und Hilfe
-
@cinimod said in Sonoff Basic blinken lassen über internen Zeitplan:
das teil verbindet sich schon wieder nicht mit dem Wlan.
Was bringt dich denn genau zu dieser Annahme? Ich habe unter meinem fast 100 esp Gerätschaften auch sonoff basic's und hatte noch schlicht mit keinen einzigen Probleme mit dem WLAN. Ich muss diese außerhalb der reichweite des APs tragen damit diese nicht mehr in's WLAN kommen, bei mir spannen diese dann innerhalb von etwa einer Minute zuverlässig einen Hotpsot auf.
Wenn du aber sowieso mit ftdi Adapter hantierst würde ich dir raten den sonoff basic zum testen gleich dauerhaft daran zu lassen (natürlich ohne jeglicher 230VAC Verbindung ). Das Relais selber (ohne Verbraucher) sollte sich auch zuverlässig über VDC vom ftdi schalten lassen.
Hier noch mal deine gewünschte Logik mittels script verpackt:
-
@opensourcenomad sagte in Sonoff Basic blinken lassen über internen Zeitplan:
@cinimod said in Sonoff Basic blinken lassen über internen Zeitplan:
das teil verbindet sich schon wieder nicht mit dem Wlan.
Was bringt dich denn genau zu dieser Annahme? Ich habe unter meinem fast 100 esp Gerätschaften auch sonoff basic's und hatte noch schlicht mit keinen einzigen Probleme mit dem WLAN. Ich muss diese außerhalb der reichweite des APs tragen damit diese nicht mehr in's WLAN kommen, bei mir spannen diese dann innerhalb von etwa einer Minute zuverlässig einen Hotpsot auf.
Die StatusLED blinkt munter vor sich hin, im iobroker wird er als offline angezeigt, auf die Weboberfläche komme ich nicht, und in der FB steht er als nicht verbunden. Keine Ahnung was mit dem ding los ist.
Tasmota drauf gepackt, läuft wie ne eins, komisch alles.
-
@cinimod said in Sonoff Basic blinken lassen über internen Zeitplan:
Die StatusLED blinkt munter vor sich hin
Das kann zwei gründe haben laut Dokumentation: https://esphome.io/components/light/status_led.html
EntwederError
oderWarning
, sprich es könnte WLAN verbunden sein aber die Verbindung (api) zum iobroker steht nicht.im iobroker wird er als offline angezeigt
Hier muss wieder differenziert werden: Die Verbindung mittels api zum iobroker oder die Verbindung zum esphome Dashboard (Achtung der Screenshot ist veraltet, neuerdings gibt es keine grüne Indikation mehr wenn das Gerät online ist)?
auf die Weboberfläche komme ich nicht
Hast du es mittels DHCP hostname oder die IP versucht? hast du es ebenfalls über den mDNS hostname (.local) versucht?
in der FB steht er als nicht verbunden
Hast du ein paar Minuten in's Land gehen lassen nachdem du den esp bestromt hast? Aus meiner Erfahrung zeigen die Fritzen den online Status von Geräten teils erst mit ordentlicher Verspätung an.
Normalerweise muss man bei esphome auch gar nicht lang im dunkeln stochern weil es ja das logging gibt. Entweder per serial (wenn wirklich Probleme mit dem WLAN bestehen) oder halt einfach ota, wir schreiben ja immerhin das Jahr 2021
Am schnellsten zu erreichen über das esphome dashboard -> Logs:
(wie gesagt nicht von einem fehlenden grünen Balken irritieren lassen, der wurde leider weg"optimiert" in aktuellen Versionen)