Wifi Gerät überwachen (online/ offline) für eine Automatisierung

Das war eigentlich doch kein Problem. Ist ja egal wer von beiden auslöst. Also weitersuchen…
Ich denke ich mache morgen weiter, heute ist die Luft raus 😴.
 
Was du da gefunden hast war nur Kosmetik. Trigger sind "oder", nicht "und".

Auch Trace sagt wieder, dass nix passiert ist?
Sprich, unter deiner Automation (bei Einstellungen/Automationen/Skripte) steht auch nicht "ausgelöst vor x Minuten/Stunden"???
 
Gib mal bitte unter Entwicklerwerkzeuge -> Template folgendes ein:

Code:
{{ states.input_number.auto_auf_zu}}
*******
{{ states.input_number.auto_zuhaus}}

Poste dann mal bitte was dann darunter steht

Ich hab eben zum Spaß mal deine beiden Sensoren bei mir erstellt und ne Lampe blinken lassen mit deiner Automation. Ging wunderbar 🤔
 
YAML:
<template TemplateState(<state input_number.auto_auf_zu=2.0; initial=None, editable=True, min=1.0, max=2.0, step=1.0, mode=slider, icon=mdi:car-key, friendly_name=Auto_auf/zu @ 2022-10-12T15:13:28.877960+02:00>)>
*******
<template TemplateState(<state input_number.auto_zuhaus=2.0; initial=None, editable=True, min=1, max=2, step=1, mode=slider, icon=mdi:car, friendly_name=Auto Zuhaus @ 2022-10-12T20:45:41.958932+02:00>)>
 
Fehler gefunden.
Deine Zustände sind "2.0" und nicht "2".
Ich hab dir die Automation mal vereinfacht und mit Kommentaren versehen (fürs bessere Verständnis der Abhängigkeiten und Abläufe).
ACHTUNG: zum testen ist da 5 Sekunden statt 10 Minuten drin. Wenn das läuft, änderst du im Trigger die 5 Sekunden auf 10 Minuten.

YAML:
alias: Auto noch auf/ Pushover
description: ""
trigger:
  - platform: state
    entity_id:
      - input_number.auto_zuhaus
    to: "2.0"
    for:
      hours: 0
      minutes: 0
      seconds: 5
    alias: Auto seit 10 Minuten zuhause
condition:
  - condition: state
    entity_id: input_number.auto_auf_zu
    state: "2.0"
    alias: "Auto noch offen? "
action:
  - condition: state
    entity_id: input_number.auto_zuhaus
    state: "2.0"
    alias: "Auto noch zuhause? "
  - service: notify.pushover
    data:
      message: Auto ist noch auf
      data:
        priority: 0
        sound: Auto
    alias: Benachrichtigung
mode: restart
 
Das erklärt natürlich einiges, sogar ich kann das verstehen :).
Vielen Dank für deine Geduld. Aber ich kann es echt erst morgen ausprobieren.
Ich melde mich dann ob ich es endlich hin bekommen habe. Vielleicht habe ich ja dann immer noch den einen oder anderen Haken im Code.
 
Ja alles gut, sag einfach bescheid wenn du zum Testen gekommen bist.

Ich helfe sehr gerne, ich hab da Spaß dran und freu mich, wenns dann funktioniert 😉
Wenn du möchtest, können wir im nächsten Schritt auch binäre Sensoren ausarbeiten, die dir "Auto Auf" und "Auto Zuhause" oder ähnliches ausspucken, statt "2.0". Damit kannst dir dann auch schön übersichtlich ne Karte in der GUI anzeigen lassen. Sieht dann fast schon professionell aus 🤙.
Musst nur nen Ton sagen 😅
 
Das funktioniert nun wirklich. Ich wäre nie darauf gekommen es SO aufzubauen. Ist für mich keine Logik drin :unsure:, vielen Dank für deine Hilfe. Das hätte ich allein wohl nich geschafft.

Das mit den binären Sensoren hört sich gut an.

Wenn du alles gelesen hast, dann weißt du sicher, dass ich Probleme mit der Anwesenheitskontrolle des Wemos im Auto hatte. Grundsätzlich funktioniert es nun über alle 5 Minuten Ping eines anderen ESP mit Tasmota. Es sieht aber aus als wenn der Wemos im Auto immer mal Offline ist. Jedenfalls wird die entsprechende Status LED immer mal rot - also Auto abwesend. Ich muss noch mal lesen ob ich die Laufzeit des Ping ändern kann, vielleicht liegt es auch daran.
Vielleicht kann man binäre Sensoren besser zum tracken nutzen als es mit dem Wemos im Auto geht?
 
Zuletzt bearbeitet:
Die Logik ist eigentlich relativ einfach.

Du kommst nach Hause, input_number.auto_zuhaus schaltet auf 2.0.
Wenn der Zustand 2.0 für 10 Minuten gehalten wird (also du nicht doch noch mal los fährst) wird geguckt, ob das Auto noch offen ist, also input_number.auto_auf_zu auf 2.0 steht (hättest ja vielleicht zwischendurch abschließen können).

Und genau jetzt beim schreiben fällt mir auf, dass du die erste Action (ist ja ne Bedingung) sogar rausnehmen kannst und nur die Benachrichtigung als Action brauchst 😅
Wahrscheinlich war das auch der Punkt, der dich verwirrt hat.

Ehrlich gesagt hab ich den Ursprung deiner Odysee schon wieder vergessen, da ich nebenbei auch für mich selbst recht komplexe Automations bastel. Da verliert man manchmal den Faden 😅

Ich guck mir das heute nachmittag oder morgen noch mal an, was da bei dir los war und grübel mal, was man da machen kann
 
Der erste Kontakt vom Wemos im Auto. Schaltet eine WS2812 auf gelb und setzt den Wert vom "auf/zu"-Helfer auf 2.
Auto ist nicht verschlossen.

YAML:
alias: Auto auf
description: ""
trigger:
  - platform: mqtt
    topic: stat/Auto/POWER1
    payload: "ON"
condition: []
action:
  - service: mqtt.publish
    data:
      topic: cmnd/node1/led9
      payload: "010100"
  - service: input_number.set_value
    data:
      value: 2
    target:
      entity_id: input_number.auto_auf_zu
mode: single
-----------------------------------------------------------------------------------------------------------------
Der zweite Kontakt vom Wemos im Auto. Schaltet eine WS2812 auf grün und setzt den Wert vom "auf/zu"-Helfer auf 1.
Auto ist verschlossen.

YAML:
alias: Auto zu
description: ""
trigger:
  - platform: mqtt
    topic: stat/Auto/POWER2
    payload: "ON"
condition: []
action:
  - service: mqtt.publish
    data:
      topic: cmnd/node1/led9
      payload: "000100"
  - service: input_number.set_value
    data:
      value: 1
    target:
      entity_id:
        - input_number.auto_auf_zu
mode: single
-----------------------------------------------------------------------------------------------------------------
Mit den beiden Abläufen für "Auto zun Haus" / "Auto nicht zu Haus" habe ich noch so meine Probleme.
Das mit dem Ping funktioniert eigentlich, doch geht die Status-LED immer mal auf rot, ich konnte noch nicht rausfinden wann und warum. Der Ping wird alle 5 Minuten gesendet. Eigentlich recht unwahrscheinlich, dass der ESP im Auto dann immer mal offline ist. Auch wenn die Wifi Verbindung nicht unbedingt die beste ist,



Wird ausgelöst über "Ping ans Auto" von einem anderen ESP..., der sendet per Rule dann das Topic und Payload. Und setzt Auto_zuhaus auf 1.
Hab ich auf binary_sensor.auto geändert, scheint nun zu funktionieren.

Code:
alias: Auto nicht zu Haus
description: variable zu1 setzen und LED rot
trigger:
  - platform: state
    entity_id:
      - binary_sensor.auto
    from: "on"
    to: "off"
condition: []
action:
  - service: input_number.set_value
    data:
      value: 1
    target:
      entity_id: input_number.auto_zuhaus
  - service: mqtt.publish
    data:
      topic: cmnd/node1/led9
      payload: "010000"
mode: single

-----------------------------------------------------------------------------------------------------------------
Das Trigger Topic kommt vom Auto Wemos und setzt den Wert von Auto_zuhaus auf 2. Eigentlich hatte ich als Topic : "tele/Auto/LWT" "ONLINE" drin. Nun musste ich feststelle, dass ich retain nicht abstellen kann. Ensprechend wird hin und wieder sekündlich ausgelöst.
Das aktuelle Topic "cmnd/Auto/POWER" ist aber auch noch nicht die Endlösung.

Ebenso auf binary_sensor.auto geändert. Und abwarten.

Code:
alias: Auto zu Haus
description: "wert auto_zuhaus zu 2 und LED auf gelb"
trigger:
  - platform: state
    entity_id:
      - binary_sensor.auto
    from: "off"
    to: "on"
condition: []
action:
  - service: input_number.set_value
    data:
      value: "2.0"
    target:
      entity_id: input_number.auto_zuhaus
  - service: mqtt.publish
    data:
      topic: cmnd/node1/led9
      payload: "010100"
mode: restart

Das mit dem Verschlossen / nicht Verschlossen funktioniert herforragend. Das mit dem Auto zu Haus / Auto nicht zu Haus ist noch nicht so richtig ausgereift.
Ein Geräte Tracking wäre mir lieber, doch das funktioniert mit dem ESP im Auto auch nicht sicher.
 
Zuletzt bearbeitet von einem Moderator:
Die Entitäten vom Wemos im Auto:

YAML:
switch.tasmota2                                   #Auto zu

switch.auto                                           #Auto auf

device_tracker.wemos_2                      #Nmap_tracker

switch.wemos_internet_access_2

sensor.auto_restart_reason

sensor.auto_mqtt_connect_count

sensor.auto_ssid

sensor.auto_wifi_connect_count

sensor.auto_last_restart_time

Dann habe ich da noch diese beiden:

YAML:
binary_sensor.auto

device_tracker.auto

Bei diesen beiden steht folgende Bemerkung:
"Diese Entität ("device_tracker.auto") hat keine eindeutige ID, daher können die Einstellungen nicht über die UI verwaltet werden. Schaue in der Dokumentation nach für mehr Details."


Noch etwas, ich hatte versäumt die beiden Automationen für Auto zu Haus/ nicht zu Haus mit dem 1.0 bzw 2.0 nachzurichten. Das habe ich nun gemacht und den binary_sensor.auto noch mal aus Trigger genommen. Gerade hat es zeitnah funktioniert. Ich hoffe das Thema ist damit duch. Muss ich beobachten.
 
Zuletzt bearbeitet von einem Moderator:
Ui, da geht ja ne Menge ab. Da muss man erstmal durchsteigen 😅

binary_sensor.auto und device_tracker.auto hast du selbst auf yaml Ebene erstellt nehme ich an (daher auch die Meldung "keine eindeutige ID usw.).
Poste da mal für mein Verständnis den Code bitte.


Verstehe ich das richtig?
Auto auf:
switch.tasmota2 == off
switch.auto == on
Auto zu:
switch.tasmota2 == on
switch.auto == off



Und der device_tracker.wemos_2 funktioniert nicht wie gewünscht, daher hast du dir zwei ping Sensoren gebaut, nämlich device_tracker.auto und binary_sensor.auto.
Korrekt?
 
Zuerst mal das:
Verstehe ich das richtig?
switch.tasmota2= on
Auto zu
switch.auto = on
Auto auf
Sorry, hatte sich am Anfang so ergeben und ist nun leider etwas verwirrend, also die Bezeichnungen.
Bildschirmfoto 2022-10-14 um 20.51.39.png
Auto1 auf
Auto2 zu
Jeweils mit "ON", kurz zur Erklärung: das Signal kommt vom Tankverschluss. Der polt jeweils um, auf plus und zu minus... Über zwei levelshifter und ein paar Dioden geht das Signal zu zwei Wemos GPIO. Deswegen jeweils ON.

Das mit den Ping und Nmap Sensoren ist aus der Not gewachsen. Dies ging nicht sicher, das ging nicht sicher. Irgendwann weiß man nicht mehr was man da hat. letztlich war es wohl nur das Problem mit dem "2" oder "2.0".
Jedenfals scheint der nicht erreichbare binary_sensor nun sehr zuverlässig zu funktionieren. Ich hatte es heute noch mehrfach ausprobiert. Hervorragen in Verbindung mit der Automation von dir.
Leider weiß ich nicht wo ich den Code dafür finden kann (für die beiden fehlerhaften tracker).
Ich hoffe du verstehst was ich meine.
Die beiden tracker, die eine fehlerhafte ID haben, waren übg vor dem tracker_wemos2 da. Und der auch auch der Not geboren. 😉
 
Zuletzt bearbeitet:
Da verstehst du was falsch. Nicht fehlerhafte ID, sondern keine eindeutige ID.
Übersetzt heißt das in etwa, dass dieser Sensor wahrscheinlich auf Yaml-Ebene angelegt wurde (gibt auch Ausnahmen), aber in jedem Fall nicht via GUI konfiguriert werden kann.
Fehlerhaft ist er wegen dieser Meldung aber noch lange nicht.

Also, ich schlussfolgere, dass du nicht weißt, wie man beispielsweise einen binary_sensor in der configuration.yaml anlegt?

Bonusfragen:

switch.tasmota2 und switch.auto sind auf deinem Screenshot beide aus.
Schalten die nach ner bestimmten Zeit von alleine aus? Würde zu deiner Erklärung mit dem Tankdeckel passen. Auto aus -> Spannung fällt irgendwann ab -> beide Schalter switchen zu off und der Wemos geht offline. Korrekt?

Welcher Sensor sagt dir denn aktuell zuverlässig, ob der Wemos online ist oder nicht?

Müssten deine beiden Schalter (für auto auf/zu) nicht sogar "unavailable", also "nicht verfügbar" sein, sobald dein Auto aus bzw weg und somit der Wemos offline ist?
Also Wemos offline = beide switches für auto auf/zu "nicht verfügbar"/"unavailable"?
 
switch.tasmota2 und switch.auto sind auf deinem Screenshot beide aus.
Schalten die nach ner bestimmten Zeit von alleine aus? Würde zu deiner Erklärung mit dem Tankdeckel passen. Auto aus -> Spannung fällt irgendwann ab -> beide Schalter switchen zu off und der Wemos geht offline. Korrekt?
Genau, in der Tankverriegelung ist ein Servo, der nur ganz kurz angesteuert wird und nur hin und zurück fährt. Entsprechend bekommen die beiden Switche nur ganz kurz "ON". Davon geht der Wemos aber nicht OFFLINE. Der ist die ganze Zeit, solange das Auto in der Einfahrt steht Online. Es sei denn das Auto steht mal etwas weiter vorn. Aber auch dann bin ist er inR noch bei ca. 40 RSSI. Selbst wenn ich auf der Strasse parke geht es normalerweise.

Müssten deine beiden Schalter (für auto auf/zu) nicht sogar "unavailable", also "nicht verfügbar" sein, sobald dein Auto aus bzw weg und somit der Wemos offline ist?
Also Wemos offline = beide switches für auto auf/zu "nicht verfügbar"/"unavailable"?
Genau so ist es, wenn das Auto weg (der Wemos Offline) ist, dann sind beide nicht verfügbar.

Also, ich schlussfolgere, dass du nicht weißt, wie man beispielsweise einen binary_sensor in der configuration.yaml anlegt?
Auch richtig, kein Ahnung. Ich könnte aktuell auch nicht nachvollziehen wie ich die beiden geschaffen habe. Ich wollte nur irgenwie hin bekommen das der Wemos sicher getrackt wird.
D.h. ich hatte irgendwo hiervon gelesen und es angelegt:
YAML:
binary_sensor:
  - platform: ping
    host: 192.168.178.25
    name: "auto"
    count: 2
    scan_interval: 30
 
Zuletzt bearbeitet:
Dann ist dein Vorhaben insgesamt deutlich leichter, als du gedacht hast.

Du brauchst nicht mit Ping oder NMAP prüfen, ob dein Wemos Online ist. Das macht Home Assistant schon alleine.
Beide switches "nicht verfügbar" == Wemos offline.

Das ganze, inkl. Leuchtender LED Streifen etc, lässt sich mit einer einzigen Automatisierung erzielen. Ohne zusätzliche Ping oder NMAP Sensoren.

Ich tüftel da mal in ner ruhigen Minute dran
 
Auto kommt nach Hause: LED Gelb
Auto fährt weg: LED Rot
Auto Zuhause, nicht innerhalb von 10 Minuten abgeschlossen: LED Gelb und Benachrichtigung
Auto Zuhause, innerhalb von 10 Minuten abgeschlossen: LED Grün und alle glücklich

YAML:
alias: Auto noch auf/ Pushover
description: ""
trigger:
  - platform: state
    entity_id:
      - switch.tasmota2
      - switch.auto
    for:
      hours: 0
      minutes: 0
      seconds: 0
    alias: Wemos Online/Auto Zuhause
    id: Auto Zuhause
    from: unavailable
  - platform: state
    entity_id:
      - switch.tasmota2
      - switch.auto
    for:
      hours: 0
      minutes: 0
      seconds: 0
    alias: Wemos Offline/Auto nicht Zuhause
    id: Auto nicht Zuhause
    to: unavailable
  - platform: state
    entity_id:
      - switch.auto
    for:
      hours: 0
      minutes: 0
      seconds: 0
    alias: Auto auf
    id: Auto auf
    to: "on"
  - platform: state
    entity_id:
      - switch.tasmota2
    for:
      hours: 0
      minutes: 0
      seconds: 0
    alias: Auto zu
    id: Auto zu
    to: "on"
condition: []
action:
  - if:
      - condition: trigger
        id: Auto Zuhause
        alias: Auto Zuhause
    then:
      - alias: LED an (gelb)
        service: mqtt.publish
        data:
          topic: cmnd/node1/led9
          payload: "010100"
    alias: "Wenn: Auto da"
  - if:
      - condition: trigger
        id: Auto nicht Zuhause
        alias: Auto nicht Zuhause
    then:
      - alias: LED an (rot)
        service: mqtt.publish
        data:
          topic: cmnd/node1/led9
          payload: "010000"
    alias: "Wenn: Auto weg"
  - if:
      - condition: trigger
        id: Auto auf
        alias: Auto auf
    then:
      - alias: LED an (gelb)
        service: mqtt.publish
        data:
          topic: cmnd/node1/led9
          payload: "010100"
      - wait_for_trigger:
          - platform: state
            entity_id:
              - switch.tasmota2
            to: "on"
            alias: Auto abgeschlossen
        continue_on_timeout: false
        timeout:
          hours: 0
          minutes: 10
          seconds: 0
          milliseconds: 0
        alias: Warte 10 Minuten auf Auto abschließen
      - service: notify.pushover
        data:
          message: Auto ist noch auf
          data:
            priority: 0
            sound: Auto
        alias: Benachrichtigung
    alias: "Wenn: Auto auf"
    else: []
  - if:
      - condition: trigger
        id: Auto zu
        alias: Auto zu
    then:
      - alias: LED an (grün)
        service: mqtt.publish
        data:
          topic: cmnd/node1/led9
          payload: "000100"
    alias: "Wenn: Auto zu"
    else: []
mode: restart

Ich kann das jetzt natürlich nicht testen, aber ich bin das ganze drei Mal im Kopf und ein mal auf Papier durchgegangen. Vielleicht funktioniert es 😂

Kannst ja wenn du Lust hast testweise mal alle bisherigen Automationen, die dazu gehören deaktivieren und die aus diesem Post testen.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.530
Beiträge
46.437
Mitglieder
4.166
Neuestes Mitglied
xixaxoro
Zurück
Oben