Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. EspHome und Espresence - Sensoren und Anwesenheitserkennung

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    664

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    508

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.0k

EspHome und Espresence - Sensoren und Anwesenheitserkennung

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
esp32esphomeespresence
10 Beiträge 2 Kommentatoren 1.5k Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    Sushibomba
    schrieb am zuletzt editiert von
    #1

    Hey ich habe aktuell 8X ESP32 D1 Mini mit denen ich meine Xiaomi Sensoren tracke was Temperatur, Luftfeuchtigkeit etc. angeht. Ich nutze dafür ESPHome.

    Ich möchte die gleichen D1 Mini nun ebenfalls für die Anwesenheitserkennung nutzen. Dafür ist ja ESPresence eigentlich gedacht. Möchte aber nicht noch 8x weitere ESPs in den Räumen verteilen.

    Ist es nicht irgendwie möglich beides zusammen zu bekommen mit ESPHome in ioBroker? Und nein Shellys möchte ich keine einbauen.

    Gerne möchte ich meine Amazfit GTR 4 als Anwesenheitsgerät verwenden und kein MiBand 4 oder 5.

    VG und danke vorab :)

    SBorgS 1 Antwort Letzte Antwort
    0
    • S Sushibomba

      Hey ich habe aktuell 8X ESP32 D1 Mini mit denen ich meine Xiaomi Sensoren tracke was Temperatur, Luftfeuchtigkeit etc. angeht. Ich nutze dafür ESPHome.

      Ich möchte die gleichen D1 Mini nun ebenfalls für die Anwesenheitserkennung nutzen. Dafür ist ja ESPresence eigentlich gedacht. Möchte aber nicht noch 8x weitere ESPs in den Räumen verteilen.

      Ist es nicht irgendwie möglich beides zusammen zu bekommen mit ESPHome in ioBroker? Und nein Shellys möchte ich keine einbauen.

      Gerne möchte ich meine Amazfit GTR 4 als Anwesenheitsgerät verwenden und kein MiBand 4 oder 5.

      VG und danke vorab :)

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      @sushibomba Kurze Grätsche, hast du die Frage auch bei Daniel (smarthome...) auf YT gestellt?
      Dann antworte ich dir hier lieber als dort, denn YT ist da wenig anwenderfreundlich ;)

      Falls ja, ich bin der der dort auch geantwortet hat ;)

      YAML (einfach einen weiteren Eintrag bei "sensor"):

      sensor:
        # RSSI based on MAC address
        - platform: ble_rssi
          mac_address: 11:22:33:AA:BB:FF
          name: "Amazfit Signal Schlafzimmer"
      

      dann bekommst du automatisch einen neuen Datenpunkt mit der RSSI.

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      S 1 Antwort Letzte Antwort
      1
      • SBorgS SBorg

        @sushibomba Kurze Grätsche, hast du die Frage auch bei Daniel (smarthome...) auf YT gestellt?
        Dann antworte ich dir hier lieber als dort, denn YT ist da wenig anwenderfreundlich ;)

        Falls ja, ich bin der der dort auch geantwortet hat ;)

        YAML (einfach einen weiteren Eintrag bei "sensor"):

        sensor:
          # RSSI based on MAC address
          - platform: ble_rssi
            mac_address: 11:22:33:AA:BB:FF
            name: "Amazfit Signal Schlafzimmer"
        

        dann bekommst du automatisch einen neuen Datenpunkt mit der RSSI.

        S Offline
        S Offline
        Sushibomba
        schrieb am zuletzt editiert von
        #3

        @sborg

        Ja genau der bin ich dort gewesen :)
        Vielen Dank. Bekomme es nur mit der min_rssi nicht hin. er will es einfach nicht akzeptieren.
        Scheint wohl an der alten esphome version in iorboker zu liegen :(

        SBorgS 1 Antwort Letzte Antwort
        0
        • S Sushibomba

          @sborg

          Ja genau der bin ich dort gewesen :)
          Vielen Dank. Bekomme es nur mit der min_rssi nicht hin. er will es einfach nicht akzeptieren.
          Scheint wohl an der alten esphome version in iorboker zu liegen :(

          SBorgS Offline
          SBorgS Offline
          SBorg
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #4

          @sushibomba
          YT ist da ein "Gewürge". Nicht immer bekomme ich auch eine Nachricht, dann war 2x meine Antwort weg (ist mir beim ersten mal erst Aufgrund deiner Nachricht/Nachfrage aufgefallen, beim zweiten mal direkt einen Refresh der Seite gemacht, Antwort weg...)

          Bekommst du beim kompilieren eine Fehlermeldung oder geht "es einfach nicht"?
          Die RSSI bekommst du aber nun korrekt? Dann müsste man notfalls per Blocky/Trigger aktiv werden.

          Ich kann es aktuell leider selbst nicht testen. Notnagel wäre noch eine Lambda-Funktion: Falls RSSI > xx dann...

          LG SBorg ( SBorg auf GitHub)
          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

          S 1 Antwort Letzte Antwort
          1
          • SBorgS SBorg

            @sushibomba
            YT ist da ein "Gewürge". Nicht immer bekomme ich auch eine Nachricht, dann war 2x meine Antwort weg (ist mir beim ersten mal erst Aufgrund deiner Nachricht/Nachfrage aufgefallen, beim zweiten mal direkt einen Refresh der Seite gemacht, Antwort weg...)

            Bekommst du beim kompilieren eine Fehlermeldung oder geht "es einfach nicht"?
            Die RSSI bekommst du aber nun korrekt? Dann müsste man notfalls per Blocky/Trigger aktiv werden.

            Ich kann es aktuell leider selbst nicht testen. Notnagel wäre noch eine Lambda-Funktion: Falls RSSI > xx dann...

            S Offline
            S Offline
            Sushibomba
            schrieb am zuletzt editiert von Sushibomba
            #5

            @sborg

            Ja da gebe ich dir recht. ist hier deutlich angenehmer :)
            Was ist denn eine Lambda Funktion?
            Ja genau RSSI klappt. Bei min_rssi kommt en Fehlermeldung.

            ```YAML
            [min_rssi] is an invalid option for [binary_sensor.ble_presence]. Did you mean [on_press]?
              min_rssi: -80
            binary_sensor.ble_presence: [source /opt/iobroker/iobroker-data/esphome.0/esphome-web-esp32-1.yaml:82]
              platform: ble_presence
              mac_address: C7:B9:89:5E:0C:97
              name: Amazfit GTR2e im Esszimmer
              
              [min_rssi] is an invalid option for [binary_sensor.ble_presence]. Did you mean [on_press]?
              min_rssi: -80
            

            Aktuell baue ich gerade mein Blockly.
            Sieht zur Zeit so aus (siehe unten)
            Was merkwürdig ist. Wenn ich im Wohnzimmer bin, die rssi bei -90dBm ist er mir aber manchmal im Wechsel anzeigt das ich auch im Kinderzimmer bin obwohl der Wert deutlich über -80dBm ist.

            Ne Ahnung wieso?

            <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="3mx;*!J{fY;/3RR]fVTy" disabled="true" x="187" y="138">
              <field name="SCHEDULE">{"time":{"start":"00:00","end":"23:59","mode":"minutes","interval":1},"period":{"days":1}}</field>
              <statement name="STATEMENT">
                <block type="comment" id="{f%9td;bzlY|AdF[fCi7">
                  <field name="COMMENT">Anwesenheit Wohnzimmer GTR4</field>
                  <next>
                    <block type="controls_if" id="P`tbhh}7ZdOz*K*}JdWQ">
                      <value name="IF0">
                        <block type="logic_compare" id="n{d~uc5YlLRI8nl6tHnl">
                          <field name="OP">LTE</field>
                          <value name="A">
                            <block type="get_value" id="0ng=WB[LlVvqEhAaL}:6">
                              <field name="ATTR">val</field>
                              <field name="OID">alias.0.Räume.Wohnzimmer.Sensoren.Anwesenheit.Amazfit GTR4 Wohnzimmer.Amazfit_GTR4_Signal_Wohnzimmer</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="lZ~ERKK6]e;vhd2y@GK^">
                              <field name="NUM">-90</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="debug" id="iVyLYk~I{OF8,v!,]yeO">
                          <field name="Severity">log</field>
                          <value name="TEXT">
                            <shadow type="text" id="(ixOp@Mwy%?DwvUlkJ*z">
                              <field name="TEXT">GTR4 im WZ</field>
                            </shadow>
                          </value>
                          <next>
                            <block type="update" id="KEj%0,{k(Uo^?7A}[uwM">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">0_userdata.0.Anwesenheit.Amazfit_GTR4_im_Wohnzimmer</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id=":E3@wkg+/wc}b/9R/{9v">
                                  <field name="BOOL">TRUE</field>
                                </block>
                              </value>
                              <next>
                                <block type="update" id="x_V@s+v$?5?qtU#o~,c|">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.Anwesenheit.Amazfit_GTR4_letzter_Aufenthalt</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="text" id="jtd$*uZ(tW(G}H?`{IQ!">
                                      <field name="TEXT">Wohnzimmer</field>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                      <next>
                        <block type="controls_if" id="g95P%ML^C!(X-p8?@Ibn">
                          <value name="IF0">
                            <block type="logic_compare" id="R2h{L(jLEA%Y53W!z1BB">
                              <field name="OP">LT</field>
                              <value name="A">
                                <block type="get_value" id="iKpXOcL;6gBjR8:7E)Wc">
                                  <field name="ATTR">ts</field>
                                  <field name="OID">alias.0.Räume.Wohnzimmer.Sensoren.Anwesenheit.Amazfit GTR4 Wohnzimmer.Amazfit_GTR4_Signal_Wohnzimmer</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="math_arithmetic" id="|:lCTJcY(]{xdizaIL3t">
                                  <field name="OP">MINUS</field>
                                  <value name="A">
                                    <shadow type="math_number" id="8/)R]t|z5Vd7@i_3w]+I">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="time_get" id="w#g7WkL48((+/Ev-7a!k">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                      <field name="OPTION">object</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <shadow type="math_number" id="qkD$/1Gc)_Tt-hLHt?lG">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="math_number" id="~RIcg6QEaGZXl:!Qjaqb">
                                      <field name="NUM">30000</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="debug" id="eH)xiG8UdER5EA32BkIp">
                              <field name="Severity">log</field>
                              <value name="TEXT">
                                <shadow type="text" id="vfFo[GHzVrl$E$mgPuOp">
                                  <field name="TEXT">GTR4 nicht mehr im WZ</field>
                                </shadow>
                              </value>
                              <next>
                                <block type="update" id="pr6#Q~lZ5Cbj{!=qE3S!">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.Anwesenheit.Amazfit_GTR4_im_Wohnzimmer</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id="qiGQh)7Ne$zs7^)?TKZ;">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </statement>
                          <next>
                            <block type="comment" id="HO;2.mi0^O3^oM35_GdN">
                              <field name="COMMENT">Anwesenheit Wohnzimmer GTR2e</field>
                              <next>
                                <block type="controls_if" id="Nr@TZ$Y%xZMS1EqlSL}7">
                                  <value name="IF0">
                                    <block type="logic_compare" id="CjzC`dIC|Fv!b_/}Fx4x">
                                      <field name="OP">LTE</field>
                                      <value name="A">
                                        <block type="get_value" id="+lUv(c,=1b_jZ5/)4}t@">
                                          <field name="ATTR">val</field>
                                          <field name="OID">alias.0.Räume.Wohnzimmer.Sensoren.Anwesenheit.Amazfit GTR2e Wohnzimmer.Amazfit_GTR2e_Signal_Wohnzimmer</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="gR}(R[//OR[1K_IaN_Bo">
                                          <field name="NUM">-90</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="debug" id="kjiw+K@C`Gy]dNrZ;xQc">
                                      <field name="Severity">log</field>
                                      <value name="TEXT">
                                        <shadow type="text" id="7*9N-lCOh]r-_!k}q0eZ">
                                          <field name="TEXT">GTR2e im WZ</field>
                                        </shadow>
                                      </value>
                                      <next>
                                        <block type="update" id="#VPmVf*1LU1Y%,={#G~T">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">0_userdata.0.Anwesenheit.Amazfit_GTR2e_im_Wohnzimmer</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="logic_boolean" id="+[Z{noT1qFw(DZ(V`uhb">
                                              <field name="BOOL">TRUE</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="update" id="XfSmeGn(|*@cD2uT?3Fg">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                              <field name="OID">0_userdata.0.Anwesenheit.Amazfit_GTR2e_letzter_Aufenthalt</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="text" id="SemBSUZ@V$|7XC@}kW8Z">
                                                  <field name="TEXT">Wohnzimmer</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                  <next>
                                    <block type="controls_if" id="lk#hdcD_88G=Vx#r.KLQ">
                                      <value name="IF0">
                                        <block type="logic_compare" id="=^K2LwXx+9RNWcVOGbgm">
                                          <field name="OP">LT</field>
                                          <value name="A">
                                            <block type="get_value" id="SL2[^rhc;GhaZaGNUTKO">
                                              <field name="ATTR">ts</field>
                                              <field name="OID">alias.0.Räume.Wohnzimmer.Sensoren.Anwesenheit.Amazfit GTR2e Wohnzimmer.Amazfit_GTR2e_Signal_Wohnzimmer</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="math_arithmetic" id="I5Gci};_V(%3~}],OwA#">
                                              <field name="OP">MINUS</field>
                                              <value name="A">
                                                <shadow type="math_number">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="time_get" id="6}CRjP!+66Gi(9f6-])7">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                  <field name="OPTION">object</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <shadow type="math_number">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="math_number" id="(fdIY};d*hR=|6g$I}==">
                                                  <field name="NUM">30000</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="debug" id="I}YnN.g43+Q;lk{cy`s#">
                                          <field name="Severity">log</field>
                                          <value name="TEXT">
                                            <shadow type="text" id="XZ/o-Hqpt|cGBBn^6xuE">
                                              <field name="TEXT">GTR2e nicht mehr im WZ</field>
                                            </shadow>
                                          </value>
                                          <next>
                                            <block type="update" id="^+`pvv/b~#XIVO%bZD1b">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                              <field name="OID">0_userdata.0.Anwesenheit.Amazfit_GTR2e_im_Wohnzimmer</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="LJ1hp`v:Ai^w-X[/}L)B">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
            
            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Sushibomba
              schrieb am zuletzt editiert von
              #6

              Und was ich auch nicht verstehe ist, warum der ESP im Kinderzimmer viel häufiger das Signal aktualisiert als im WZ. Siehe log vom Blockly:

              08:17:15.386	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR4 im KZ
              08:17:16.209	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: -82
              08:17:49.545	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR4 im SZ
              08:17:59.215	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR2e im KZ
              08:18:01.774	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR2e im KZ
              08:18:11.327	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR2e im KZ
              08:18:41.099	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR2e im KZ
              08:18:47.172	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR2e im KZ
              

              Zu dem Zeitpunkt bin ich gerade im WZ und meine Lebensgefährtin im Kinderzimmer.

              SBorgS 1 Antwort Letzte Antwort
              0
              • S Sushibomba

                Und was ich auch nicht verstehe ist, warum der ESP im Kinderzimmer viel häufiger das Signal aktualisiert als im WZ. Siehe log vom Blockly:

                08:17:15.386	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR4 im KZ
                08:17:16.209	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: -82
                08:17:49.545	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR4 im SZ
                08:17:59.215	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR2e im KZ
                08:18:01.774	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR2e im KZ
                08:18:11.327	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR2e im KZ
                08:18:41.099	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR2e im KZ
                08:18:47.172	info	javascript.0 (368) script.js.Überwachung.Anwesenheit.Anwesenheit_Smartwaches_Raeume: GTR2e im KZ
                

                Zu dem Zeitpunkt bin ich gerade im WZ und meine Lebensgefährtin im Kinderzimmer.

                SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #7

                @sushibomba sagte in EspHome und Espresence - Sensoren und Anwesenheitserkennung:

                Was ist denn eine Lambda Funktion?

                Damit wird der µC direkt programmiert. ESPHome stellt für alle Funktionen Bibliotheken bereit, aber hinter bspw. einem "Sensor" muss ja eine gewisse Logik stecken. Sagen wir mal der Temperatursensor stellt einen Messwert in °C oder alternativ in °F dar, du willst es jetzt aber partout in °K haben, dann sagst du mit der Lambda-Funktion nimm den Messwert und multipliziere/teile/addiere oder was auch immer und gib dieses Ergebnis zurück.

                Der Rest dürfte sich dann mittels ESPresense ja erledigt haben ;)

                LG SBorg ( SBorg auf GitHub)
                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                S 1 Antwort Letzte Antwort
                1
                • SBorgS SBorg

                  @sushibomba sagte in EspHome und Espresence - Sensoren und Anwesenheitserkennung:

                  Was ist denn eine Lambda Funktion?

                  Damit wird der µC direkt programmiert. ESPHome stellt für alle Funktionen Bibliotheken bereit, aber hinter bspw. einem "Sensor" muss ja eine gewisse Logik stecken. Sagen wir mal der Temperatursensor stellt einen Messwert in °C oder alternativ in °F dar, du willst es jetzt aber partout in °K haben, dann sagst du mit der Lambda-Funktion nimm den Messwert und multipliziere/teile/addiere oder was auch immer und gib dieses Ergebnis zurück.

                  Der Rest dürfte sich dann mittels ESPresense ja erledigt haben ;)

                  S Offline
                  S Offline
                  Sushibomba
                  schrieb am zuletzt editiert von
                  #8

                  @sborg

                  Ok verstehe. Und wie bekomme ich jetzt wie beim ESPHome die Datenpunkte aus der JSON des jeweiligen Thermoters als neuen Datenpunkt ohne dafür jeweil ein Blockly Script zu schreiben?

                  Also vorher stand es ja so in ESPHome und er hat mir unter dem ESP dann die Datenpunkte automatisch geschrieben.

                  ### Esszimmer
                   
                  sensor:
                    - platform: atc_mithermometer
                      mac_address: "A4:C1:38:1B:03:F5"
                      temperature:
                        name: "Esszimmer Temperature"
                      humidity:
                        name: "Esszimmer Humidity"
                      battery_level:
                        name: "Esszimmer Battery-Level"
                      battery_voltage:
                        name: "Esszimmer Battery-Voltage"
                      signal_strength:
                        name: "Esszimmer Bluetooth Signal"
                  

                  Unter ESPresense habe ich nur noch einen Json Datenwert pro Temp und Humidity Sensor der so aussieht.

                  {
                    "id": "miTherm:a4c138f3a385",
                    "idType": 110,
                    "rssi@1m": -71,
                    "rssi": -99,
                    "raw": 6.31,
                    "distance": 6.21,
                    "speed": 0,
                    "mac": "a4c138f3a385",
                    "interval": 18341,
                    "mV": 2558,
                    "batt": 36,
                    "temp": 22.9,
                    "rh": 68
                  }
                  

                  bzw. so:

                  {"id":"miTherm:a4c138f3a385","idType":110,"rssi@1m":-71,"rssi":-99,"raw":6.31,"distance":6.21,"speed":0.00,"mac":"a4c138f3a385","interval":18341,"mV":2558,"batt":36,"temp":22.9,"rh":68.0}
                  

                  Und noch ne Frage. Habe jetzt verschiedene Datenpunkt für die Räume angelegt. Einmal ob die Uhr von mir oder meiner Frau im jeweiligen Raum ist und wie weit sie entfernt ist. Wie müsste ein Blockly aussehen was alle diese Datenpunkte auswertet und mir dann als Wert den letzten Aufenthaltsraum raus gibt?

                  räume espresense dp.png

                  SBorgS 1 Antwort Letzte Antwort
                  0
                  • S Sushibomba

                    @sborg

                    Ok verstehe. Und wie bekomme ich jetzt wie beim ESPHome die Datenpunkte aus der JSON des jeweiligen Thermoters als neuen Datenpunkt ohne dafür jeweil ein Blockly Script zu schreiben?

                    Also vorher stand es ja so in ESPHome und er hat mir unter dem ESP dann die Datenpunkte automatisch geschrieben.

                    ### Esszimmer
                     
                    sensor:
                      - platform: atc_mithermometer
                        mac_address: "A4:C1:38:1B:03:F5"
                        temperature:
                          name: "Esszimmer Temperature"
                        humidity:
                          name: "Esszimmer Humidity"
                        battery_level:
                          name: "Esszimmer Battery-Level"
                        battery_voltage:
                          name: "Esszimmer Battery-Voltage"
                        signal_strength:
                          name: "Esszimmer Bluetooth Signal"
                    

                    Unter ESPresense habe ich nur noch einen Json Datenwert pro Temp und Humidity Sensor der so aussieht.

                    {
                      "id": "miTherm:a4c138f3a385",
                      "idType": 110,
                      "rssi@1m": -71,
                      "rssi": -99,
                      "raw": 6.31,
                      "distance": 6.21,
                      "speed": 0,
                      "mac": "a4c138f3a385",
                      "interval": 18341,
                      "mV": 2558,
                      "batt": 36,
                      "temp": 22.9,
                      "rh": 68
                    }
                    

                    bzw. so:

                    {"id":"miTherm:a4c138f3a385","idType":110,"rssi@1m":-71,"rssi":-99,"raw":6.31,"distance":6.21,"speed":0.00,"mac":"a4c138f3a385","interval":18341,"mV":2558,"batt":36,"temp":22.9,"rh":68.0}
                    

                    Und noch ne Frage. Habe jetzt verschiedene Datenpunkt für die Räume angelegt. Einmal ob die Uhr von mir oder meiner Frau im jeweiligen Raum ist und wie weit sie entfernt ist. Wie müsste ein Blockly aussehen was alle diese Datenpunkte auswertet und mir dann als Wert den letzten Aufenthaltsraum raus gibt?

                    räume espresense dp.png

                    SBorgS Offline
                    SBorgS Offline
                    SBorg
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @sushibomba sagte in EspHome und Espresence - Sensoren und Anwesenheitserkennung:

                    Thermoters als neuen Datenpunkt ohne dafür jeweil ein Blockly Script zu schreiben?

                    Kurz und schmerzlos: gar nicht

                    Sie bieten dir nur das JSON an. Somit musst du damit leben, einen Feature Request stellen oder eine andere Lösung suchen (zB. mittels 2x ESP pro Raum...). ESPresense ist halt in HA einfach besser integriert als im ioB.

                    Mittels eines "Selectors" kann man über mehrere Datenpunkte iterieren. Da muss ich aus Zeitgründen aber passen.

                    LG SBorg ( SBorg auf GitHub)
                    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                    S 1 Antwort Letzte Antwort
                    1
                    • SBorgS SBorg

                      @sushibomba sagte in EspHome und Espresence - Sensoren und Anwesenheitserkennung:

                      Thermoters als neuen Datenpunkt ohne dafür jeweil ein Blockly Script zu schreiben?

                      Kurz und schmerzlos: gar nicht

                      Sie bieten dir nur das JSON an. Somit musst du damit leben, einen Feature Request stellen oder eine andere Lösung suchen (zB. mittels 2x ESP pro Raum...). ESPresense ist halt in HA einfach besser integriert als im ioB.

                      Mittels eines "Selectors" kann man über mehrere Datenpunkte iterieren. Da muss ich aus Zeitgründen aber passen.

                      S Offline
                      S Offline
                      Sushibomba
                      schrieb am zuletzt editiert von Sushibomba
                      #10

                      @sborg

                      Ok schade. Aber trotzdem herzlichen Dank für deine Hilfe bis hier hin.

                      An die anderen hier im Forum...

                      Wie müsste ein Blockly aussehen?

                      Ich stelle es mir folgendermaßen vor:

                      • Prüfe alle Räume auf die Anwesenheit von den Uhren GTR2e & GTR4 auf "true"

                      • Prüfe welcher Datenpunkt zuletzt auf "true" gesetzt wurde

                      • Prüfe ob Distanz von allen Räumen die kleinste ist und schreibe diesen Raum jeweils in einen neuen Datenpunkt (0_userdata.0.Anwesenheit.Amazfit_GTR2e_letzter_Aufenthalt) & (0_userdata.0.Anwesenheit.Amazfit_GTR4_letzter_Aufenthalt)

                      • Falls letzter Aufenthaltsraum wurde länger als X Tage nicht aktualisiert, schreibe in Datenpunkt.XY das Smartwatch GTR2e oder GTR4 "Ausgeschaltet oder Akku leer"

                      Ich hoffe es kann mir wer helfen 🙏 🙏 🙏

                      Wenn noch jemand Optimierungen hat oder nützliche Abfragen vorschlagen kann über die ich aktuell nicht nachgedacht habe dann gerne her damit :)

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      390

                      Online

                      32.8k

                      Benutzer

                      82.9k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe