Esphome

rgiese

New member
Hallo!

habe einen D1Mini mit Relaiskarte in Esphome eingebunden. Benutze ihn als Switch um damit meine Warmwasserwärmepumpe zu schalten. Läuft soweit alles gut.
Nur wenn mal die Wlan Verbindung unterbrochen ist schaltet er nicht mehr ab. Was müsste ich einfügen an Code, damit das Relais abschaltet sobald das Wlan unterbrochen ist?
Geht das überhaupt?

Hier mein jetziger Code:

Code:
switch:
  - platform: gpio
    pin: D1
    id: relais # die ID kann optional vergeben werden
    name: "WP K1" 
  
  - platform: gpio
    pin: D2
    id: relais2 # die ID kann optional vergeben werden
    name: "WP K2"
  
  - platform: gpio
    pin: D3
    id: relais3 # die ID kann optional vergeben werden
    name: "WP K3"
  
  - platform: gpio
    pin: D7
    id: relais4 # die ID kann optional vergeben werden
    name: "WP K4"

Vielen Dank für eure Hilfe!!
 
Zuletzt bearbeitet von einem Moderator:

rgiese

New member
Vielen Dank für die Antwort. Wie müsste ich das in meinem Fall in den Code einbauen, das das Relais sofort abschaltet wenn keine Wlan Verbindung mehr vorhanden ist?
 

u5zzug

Member
irgendwas hiermit? ungetestet, halt mal in der Doku bisschen suchen/lesen.
YAML:
interval:
  - interval: 10s
    then:
      if:
        condition:
          not:
            wifi.connected:
          then:
 

alexamend

Active member
Wenn deine WLAN Verbindung abbricht...

Zum HA System oder zum D1mini, ich gehe davon aus du meinst zum D1mini...

Dann kann das in HA nicht realisiert werden, hierzu must du deinen Code auf dem D1mini anpassen.
 

rgiese

New member
Das leuchtet mir auch ein. Nur hab ich schon versucht den Code zu ändern, aber immer Fehler erhalten. Kenne mich einigermaßen aus, aber so gut dann wieder auch nicht. Wie müsste bzw. was muß ich in dem Code zusätzlich eingeben? Danke!
 

alexamend

Active member
Hast du den D1mini oder D1mini pro, dann eventuell mal.mit externer Antenne versuchen,
Hier sollte man in erster Linie schauen das man das Programm der schlechten Verbindung eliminiert.

Ansonsten einen watchdog der dein WLAN überprüft, hier eine Beispiel Vorlage die auf einen Eingang schaut.

Code:
void setup() {
  pinMode(D1, INPUT); // Eigentlich redundant, da das der Standardzustand ist
  pinMode(LED_BUILTIN, OUTPUT);
  for(int i=0; i<10; i++){
    digitalWrite(LED_BUILTIN, LOW);   
    delay(50);                       
    digitalWrite(LED_BUILTIN, HIGH);    
    delay(50);           
  }
  //ESP.wdtDisable();
}

void loop() {
  while(!digitalRead(D1)){
    //delay(0);  
  }
}
 

rgiese

New member
Schlechte Verbindung ist nicht der Fall. Bei Stromausfall vom Router verbindet sich der D1 Mini nicht immer wieder von alleine mit dem Wlan. Deshalb suche ich einen Code für das 1. Relais, welches bei Verlust des Wlans sofort abschaltet. Ich habe schon einiges probiert, aber erfolglos. Wäre nett, wenn mir da jemand helfen könnte. Hier nochmal der Code vom Switch:

Code:
switch:
- platform: gpio
pin: D1
id: relais # die ID kann optional vergeben werden
name: "WP K1"
 
Zuletzt bearbeitet von einem Moderator:

u5zzug

Member
neuboot wenn wlan weg, realisiert man mit sowas.
YAML:
wifi:
  reboot_timeout: 1min
reboot_timeout (Optional, Time): The amount of time to wait before rebooting when no WiFi connection exists.

Lies halt mal den esphome wifi link.
Und was hast du gegen intervall? (auf dem esp)
 

alexamend

Active member
neuboot wenn wlan weg, realisiert man mit sowas.
YAML:
wifi:
  reboot_timeout: 1min
Soweit so gut.... wenn Ich "rgiese" richtig verstanden habe ist sein HA system weiterhin erreichbar, sein D1mini verliert die Verbindung, somit würde der reboot in HA keine Besserung bringen zumal dort das WLAN auch nicht abbricht.
 
Zuletzt bearbeitet:

u5zzug

Member
Meines Wissens reden wir hier über die esphome config des D1, ich jedenfalls rede darüber. Der kann sich ja nur selbst neustarten.
 

rgiese

New member
Danke für eure Hilfe!! Ich versuch es mal damit. Es müsste aber doch auch eine Möglichkeit geben das das Relais sofort abschaltet wenn wifi nicht vorhanden ist.
 

blurrrr

Well-known member
Also ich hab von den ESP-Dingern mal so "gar keine" Ahnung, aber theoretisch gibt es ja eh nur 2 Möglichkeiten:

1) intern - das Ding kriegt mit, wenn die Wifi-Verbindung weg ist und startet sich selbst neu (wie auch immer)
2) extern - irgendwas überwacht z.B. die IP des Gerätes im WLAN und sobald die weg ist, wird der Neustart ausgelöst (durch Stromunterbrechnung, oder wie auch immer, wie gesagt, hab diesbezüglich so gar keine Ahnung, aber rein logisch betrachtet, wären das für mich die beiden einzigen Möglichkeiten 😅)

Variante 2 könnte man evtl. auch via HomeAssistant einleiten (alle x Sekunden ping auf's Gerät und wenn weg, dann Strom aus- und wieder einschalten (oder irgendwie so)).
 

alexamend

Active member
Da kannst du noch nachlesen: https://community.home-assistant.io/t/wifi-signal-loss-as-trigger/172509/2
oder in esphome sowas verwenden
Code:
binary_sensor:
  - platform: status
    name: "Controller Status"
damit sieohst du, ob der esp online ist.
Oder mit dem esp einen Sensor aus HA abfragen oder eben einfach Neustarten und einstellen, dass das Relay beim Neustart immer aus sein soll.

Nochmal... Ist der D1mini weg vom WLAN kann man dem auch keine Befehle mehr erteilen, das muss der D1mini selbst machen, oder man nimmt ihm kurz den Strom weg, hierfür gibt es keine Möglichkeit dies innerhalb HA zu erledigen.

Meines Erachtens mach ist der richtige Weg...
1. Problem eliminieren, das dies erst garnicht mehr auftritt, wenn das nicht möglich ist.

2. Watchdog einrichten der das erledigt. Wenn hierzu das Wissen noch nicht vorhanden ist, wenn->dann Abfrage im D1mini damit er das relay wieder zurück setzt.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
968
Beiträge
14.038
Mitglieder
499
Neuestes Mitglied
John58
Oben