Integration von Sensoren in Home Assistant

Sascha_

New member
Hallo Community,
ich bin gerade dabei einen Temperatur/Luftfeuchtigkeitssensor für meine Filamentboxen zu entwickeln (für die Leute die nicht wissen um was es da genau geht, dass ist das Material welches man zum 3D Druck braucht).
Das ganze basiert auf einem ESP8266 und einem SHT45 Temperatur/Luftfeuchtesensor.
Ich selber nutze kein Home Assistant und habe es auch nicht vor, aber ich habe eine eigene Platine erstellt und es wäre meiner Meinung nach zu schade, die nur für mich zu verwenden. Ich nutze selber MQTT. Soweit ich das verstanden habe, gibt es eine Art Standardtopic von welchem man mit Hilfe eine YAML Datei neue Sensoren einfach einbinden kann.

Meinen Sensor kann man prima auch als Sensor für Innenräume (Gehäuse habe ich als 3D Model) oder im Aussenbereich (wird noch erstellt). eingesetzt werden.

Gerne würde ich das für eine breitere Anwendung in Home Assistant einbringen.

Daher meine Fragen:
Welche MQTT Struktur wird benötigt?
Welchen Namen (client_id bei mir) muss ich vergeben, soll oder muss sich der von Sensor zu Sensor ändern, oder fängt man das mit diesem YAML ab?
 
Zuletzt bearbeitet:
Mit HA würde man mit ESPHome (funktioniert auch ohne HA) direkt sprechen, MQTT braucht man da nicht unbedingt.
 
Ahh interessant, man kann also ohne Progammierkenntnisse eigene Sensorik integrieren, das ist echt interessant. Wo liegen die Grenzen dabei?
Mir ging es hauptsächlich auch um die Hardware. Es ist auf möglichst geringem Stromverbrauch optimiert. Mit einer 2000mAh Lipo kann man bei einem Wert pro Stunde ca. ein Jahr loggen.
 
Wo liegen die Grenzen dabei?
Du brauchst eine Integration dafür. Home Assistant bietet da sehr viel an. Die Geräte werden automatisch gefunden. Ansonsten gibt es die Möglichkeit selber in YAML zu programmieren. Auch da gibt es viele Möglichkeiten und auch viele Mitmenschen die Dir dabei helfen können. (Beispielsweise hier im Forum.)
Ab und zu hat sogar Chat GPT einen funktionierenden Tipp. ;)
 
Ja! In Home Assistant nennt sich das Integration. Die muss man installieren. Z.b. MQTT oder die Heizung. Dabei werden so genannte Entitäten erzeugt die Du für alles mögliche Nutzen kannst.
Home Assistant ist sehr leistungsfähig und es lohnt sich den mal anzuschauen.
Hol Dir doch aus dem Internet mal einen Docker Container damit kannst Du es testen.
 
@Loxley, das ist nicht ganz richtig
* für ESPHome brauchst du keine Integration, das kann von Haus aus mit HA reden.
* mit yaml programmiert man nicht, man konfiguriert, das ist ein wichtiger Unterschied, gerade für die, die aus der Programmiererecke kommen.

@Sascha_ wo die Grenzen sind - k.A., man kann bei Bedarf auch eigene libraries einbinden, es gibt Unterstützung für eine Unmenge Sensoren, per substitutions kann man das selbe yaml für verschiedene Geräte verwenden, ...

YAML:
sensor:
  - platform: sht4x
    temperature:
      name: "SHT45 Temperature"
    humidity:
      name: "SHT45 Humidity"
    address: 0x44
    update_interval: 60s

ESPHome empfiehlt, keine (10J alten) ESP 8266 mehr neu zu kaufen, sondern neuere Technologie zu verwenden. https://esphome.io/guides/faq#not-recommended
 
Ok, danke für die Infos.
Für mich kommt das aber nicht in Frage.
1. Ich will die Kontrolle darüber haben, was wirklich passiert und vor allem möchte ich "offline" Geräte haben. Also welche die ohne externe HW funktionieren. So wie ich das verstanden habe, ist der Sensor/Aktor relativ dumm und die Intelligenz steckt im Home Assistant. Da ich z.b. bei der traditionellen Bewässerungsanlage sicher sein will, das im Falle eines Fehlers, das auch wieder ausgeht, kann ich mich damit nicht anfreunden.
2. Viele Funktionen z.b. die Gasdifferenzierung (in meinem Fall: Wird ein Filament gedruckt, welches meinen Lüfter startet, in Abhängigkeit des Filaments) vom BME688 kann man nicht nutzen, da hier auf ziemliche Basic Funktionen gesetzt wird.

Aber vielen Dank für den kleinen Einblick, vllt werde ich mich damit doch nochmal auseinander setzen.
 
Falsch verstanden :)
ESPHome kann auch intern Logik haben, Dinge schalten, es gibt Templates (lambdas) mit beliebigem c++ code, ein Webinterface usw.
https://esphome.io/components/#esphome-automations
https://esphome.io/cookbook/lambda_magic

YAML:
sensor:
  - platform: dht
    humidity:
      name: "Living Room Humidity"
      on_value_range:
        - above: 65.0
          then:
            - switch.turn_on: dehumidifier1
        - below: 50.0
          then:
            - switch.turn_off: dehumidifier1
    temperature:
      name: "Living Room Temperature"
 
* mit yaml programmiert man nicht, man konfiguriert, das ist ein wichtiger Unterschied, gerade für die, die aus der Programmiererecke kommen.
Ich komme aus der Programmiererecke und sehe das ein wenig anders.
Programmieren ist, mit Eingaben eine Ausgabe zu erzeugen, mit entsprechender Logik dazwischen.
Einfaches Beispiel:
Errate eine Zahl zwischen 1 und 10
Eingabe: 5
Ausgabe: Falsch
Logik: Computer hat per Zufall eine Zahl ausgewählt und vergleich "seine Zahl" <> "Eingabe"

Von daher kann man mit YAML sehr wohl Programmieren.
 
für ESPHome brauchst du keine Integration
Richtig. Ich meinte das generell zur Einbindung von Sensorik. Wenn man keine Integration extra installieren muß dann ist sie schon vorhanden. (Wie bei der EDL21-Integration für Stromzähler.)
mit yaml programmiert man nicht, man konfiguriert
Wie würdest Du es dann nennen wenn aufgrund logischer Entscheidungen die eine oder andere Aktion ausgeführt wird? Ich komme, wie @RudiP aus der Programmierecke und würde es so definieren: Wenn ich für ein fertiges Programm nur die Parameter verändere die dann entsprechend verarbeitet werden, dann habe ich konfiguriert. Wenn ich den Ablauf aufgrund irgendwelcher Logik verändere, dann habe ich programmiert.
Oder so definiert: Der Begriff „programmieren“ bezeichnet das Erstellen von Anweisungen oder Code, die von einem Computer ausgeführt werden können.
Sorry das war jetzt "off topic", es ging ja darum was @Sascha_ so mit Home Assistant anfangen könnte.
Die Antwort darauf ist: Sehr viel! Manches ist schon vorhanden ohne dass man etwas machen muss. Für viele (zunächst) nicht vorhandene Dinge gibt es Integrationen und wenn das alles nicht da ist kann man selber programmieren. Die Anzeigen / Elemente können für die eigenen Bedürftnisse konfiguriert werden das geschieht über einen grafischen Editor oder über YAML.
@u5zzug verstehe mich nicht falsch, ich möchte hier niemand belehren sondern wollte nur mal meine Sicht der Dinge darlegen.
 
präziser ausgedrückt: yaml ist keine Programmiersprache, es wird gewisserweise missbraucht, um Logik abzubilden.
YAML:
conditions:
  - alias: "Paulus home AND temperature below 20"
    condition: and
    conditions:
      - condition: state
        entity_id: "device_tracker.paulus"
        state: "home"
      - condition: numeric_state
        entity_id: "sensor.temperature"
        below: 20
das ist ja doch etwas umständlicher als
PHP:
if ($paulus == "home" and $temperature > 20)


es ging ja darum was @Sascha_ so mit Home Assistant anfangen könnte.
ich versuche, zu erklären, dass ESPHome auch ohne HA sehr nützlich ist.
Es ist ein eigenständiges Projekt mit sehr guter Anbindung an HA, aber eben nicht abhängig davon.
Vor einiger Zeit wurde es von der OpenHomeFoundation übernommen (um seine Unverkäuflichkeit sicherzustellen).

Wenn @Sascha_ seine Platine mit einem leicht anpassbaren yaml für ESPHome versieht, hat die Welt einen weiteren einfach zu benutzenden DIY Sensor.
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.785
Beiträge
65.418
Mitglieder
7.092
Neuestes Mitglied
jokerjo1000
Zurück
Oben