MQTT Home Assistant

toscdesign

Enthusiast
Thread Starter
Mitglied seit
17.02.2022
Beiträge
5.984
Ich habe gestern ein weiteres Gerät mit dem MQTT Broker verbunden.

Der MQTT Broker sowie das Gerät bestätigen beide in ihrer CLI das sie miteinander verbunden sind.

Nur Homeassistant selbst, will das Gerät nicht finden und sagt mir das ich weiterhin nur 5 Geräte per MQTT angebunden habe.
Normalerweise erkennt HA das automatisch.

Das Gerät ist eine WLAN Steckdose, auf der Tasmota läuft, konfiguriert ist sie wie alle anderen.


Gibt eine Möglichkeit Homeassistant das neue Gerät manuell mitzuteilen?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Wenn das ganz normal eine IP hat sollte das doch gehen?
Bin mit dem MQTT zeug nicht fit.

Aber geräte mit IPs kann man immer explizit anlernen.
Musste ich auch bei allen shellys machen.
Da Homeassistant die immer sofort nimmt sobald sie im wlan sind, ich die IPs aber danach immer noch auf statisch ändere.
HA kennt dann aber immer nur die geräte auf den dhcp adressen.

Die schmeiss ichdann weg und lerne die direkt neu per IP an.
 
Es muss noch auf dem Tasmota Gerät in der CLI folgendes eingeben
Code:
SetOption19 1

Dann wird das Gerät auch gefunden
 
Hast du nicht die Tasmota Integration in HA?
 
Ne ich nutze MQTT und möchte das nicht nachträglich alles umstellen.
 
Alles gut, war ja nur ne Frage. Läuft bei mir parallel und tut es so ganz gut. Aber jeder darf ja wursteln wie er/sie möchte
 
Meine Parameter fuer die Tasmota Steckdosen sind folgende:

setoption19 0
//das bewirkt, dass das Gerät im Netzwerk gefunden werden kann. Achtung: Falls ihr gesonderte Netze fuer IOT etc.. habt, dann muss euer Netzwerk das ganze Geraffel multicasten ueber die Netzgrenzen hinweg.
ADCParam1 2, 4000,80000,4250,1
//das kalibriert die Temp-Sensoren der Notabschaltung neu. Meine waren bereits Tasmota-Geflashed und sind immer automatisch 'aus' gegangen weil der Tempsensor bei ~90grad festhing.
PowerOnState 1
//das konfiguriert das Default-Verhalten sobald das Gerät in die Steckdose eingesteckt wird. In dem fall also immer 'strom an'
PowerDelta 1
//Sendet bei jeglicher Veränderung eines Wertes ein Update per MQTT. Damit lassen sich die minimalen ~10sek update-intervall umgehen.
 
Evtl ist auch der MQTT Name und Topic nicht eindeutig bzw doppelt vergeben oder irgendwelche Sonderzeichen drin etc ?
 
Du musst in der Tadmota web oberflächlich der Steckdose bei MQTT auch den MQTT Server angeben. Je nach dem auch mit Zugangsdaten. Ich würde dir bei Home assistant empfehlen die Tadmota App zu installieren, die setzt den MQTT Server voraus und ist nur eine Hilfe Tadmota Geräte zu finden.
 
Ne ich nutze MQTT und möchte das nicht nachträglich alles umstellen.
Nachdem ich jetzt auch mal 2 Tasmota-Dosen laufen habe:
Das HA-Wiki sagte, man braucht einen MQTT-Broker, den habe ich dann mal installiert. Wäre auch erstmal davon ausgegangen, das es damit direkt geht. Ging aber nicht.
Die Wikipage sagte aber weiter, man solle als nächsten Schritt installieren. Also hab ich die Tasmotaintegration auch installiert... ging immernochnicht.

Bis ich dann mal gemerkt habe, das ich auf dem ersten Tasmota (erstmal nur eins ausprobiert) beim MQTT-Host einen Tippfehler drin hatte. Nachdem ich den korrigiert habe, hat HA die Dose sofort erkannt.

Weils ja letztendlich an dem Tippfehler lag, kann ich dir nicht sagen, ob erst durch die Tasmotaintegration die Plugs automatisch erkannt wurden, aber worauf ich hinaus will: Die Tasmotaintegration braucht wohl auch MQTT, also das ist nicht wie bei Shelly eine komplett eigenständige Integration.

Paar Sachen musste man dann aber auch noch einstellen... via Konsole... meine hatten z.B. eine Spannung von 290V eingetragen. Dachte mir erst WTF? Kann nicht sein. Weils angezeigt wird, als wäre das ein Messwert. Ist es aber anscheinend nicht, sondern quasi ein Configparameter. Nun gut, die alten Shelly Plugs messen ja anscheinend auch nicht die echte Spannung, sondern rechnen auch pauschal mit irgendwas um die 230V.
 
Paar Sachen musste man dann aber auch noch einstellen... via Konsole... meine hatten z.B. eine Spannung von 290V eingetragen. Dachte mir erst WTF?
Also meine Dosen messen den richtigen Spannungswert, mitm Multimeter nachgemessen.

Bei uns schwankt sie Spannung Recht stark im Bereich von 230-239V je nach Tageszeit.

Ich habe den Mosquito Broker oder wie der heißt eingerichtet. Nutze die Tasmkta Integration gar nicht.
 
Also meine Dosen messen den richtigen Spannungswert, mitm Multimeter nachgemessen.
Also ich hab die Nous A1T.
Konnte nicht feststellen das die bei der Spannung überhaupt irgendwas messen. Die angezeigten 290V lagen auch definitiv nicht an der Dose an und der Wert hat sich auch kein bisschen verändert.
In der Tasmota-Doku stand dann auch, man sollte idealerweise die Plugs mit einem bekanntem Verbraucher, z.B. einer 60W-Glühbirne (nicht LED!) "eichen", also den Verbraucher anstecken und dann zurückrechnen um die Spannung entsprechend einzustellen (oder alternativ mit einem Multimeter die Spannung eben einfach messen).

Die neuen Shelly Plugs und auch das 1PM Mini zeigen die Spannung an und die ändert sich auch. Bei mir sogar stärker, gesehen hab ich bis jetzt 225 bis knapp über 240V.
Denke mal Tagsüber zieht auch das BKW die Spannung noch zusätzlich mit hoch.

Ich habe den Mosquito Broker oder wie der heißt eingerichtet. Nutze die Tasmkta Integration gar nicht.
Ja, aber dein Problem war doch, das die Tasmota Plugs nicht automatisch erkannt wurden. Evtl. sorgt die Tasmoteintegration dafür, das genau das klappt. Und das ist kein Ersatz für MQTT, sondern die Tasmotaintegration braucht ja trotzdem einen Broker.

Nebenbei, auch so ein WTF: Die Tasmotas schicken anscheinend keine MQTT-Nachricht, wenn sich der Verbrauchswert ändert, sondern sie pushen in festen Intervallen.
Bin schon unter den Logging-Einstellungen über Telemetry-Period gestolpert. Dachte mir zunächst... 300ms... passt. Und dann haben sich die Werte ewig nicht geändert, bis ich dann drauf gekommen bin, das das nicht Millisekunden, sondern Sekunden sind... :ROFLMAO:
 
Zuletzt bearbeitet:
Also ich hab die Nous A1T.
Ich hab die Gosund Steckdosen, sehen aus wie die Shelly nur günstiger.

Die werden unter Tasmota als SP111 v1.1 geführt. Können auch Verbrauchsmessung usw.


Ja, aber dein Problem war doch, das die Tasmota Plugs nicht automatisch erkannt wurden.
Wenn in Tasmota auf den Steckdosen der Mqtt Broker mir IP, Username, Passwort usw eingerichtet ist, einfach auf der Konsole der Steckdose folgendes eingeben
Code:
SetOption19 1

Damit meldet sich Tasmota der Steckdose beim Broker an und löst die automatische Integration aus
 
Wenn in Tasmota auf den Steckdosen der Mqtt Broker mir IP, Username, Passwort usw eingerichtet ist, einfach auf der Konsole der Steckdose folgendes eingeben
Das hab ich auch schon gefunden. Aber das brauchte ich letztendlich gar nicht. Mglw. weil ich die Tasmotaintegration installiert habe. :ROFLMAO:
Keine Ahnung was das Ding macht, aber evtl. sucht das einfach nur gelegentlich aktiv nach Tasmotageräten, statt das man den Geräten erst via Konsole sagen muss, das sie sich melden sollen. :ROFLMAO:
 
die nous A1T muss man oft erst manuell kalibrieren, dann tun sie aber meist recht genau ich nutze dafür auch einfach eine alte Glühbirne für die Watt und ein Multimerter für die Spannung.
 
Ich kaper den Thread mal, weil das auch direkt MQTT mit Homeassistant betrifft.

Ich hatte ja schon ein manuelles Setup mit MQTT. Da hat mein Server via MQTT alle X Minuten eine Nachricht an den Broker geschickt in der z.B: CPU-Last, RAM-Usage, Temperaturen, etc standen. Auf dem Broker lief ein Pythonskript was den Topic aboniert hatte und das Zeug einfach in eine SQLite-Datenbank gekippt hat. Angezeigt hab ich das dann mit Grafana.

Wie macht man sowas mit HA?
Ich steh da grad komplett aufm Schlauch. Google meint so ein "Client" müsse Auto Discovery unterstützten, und was weiß ich nicht alles. Das ist doch wohl nicht der ernst?

Was muss ich machen, damit ich sowas "einfach" in HA empfangen kann?

Eigentlich hätte ich jetzt erwartet, das wenn der Broker irgendwas empfängt, was er nicht kennt, da irgendwie automatisch sagt "Hey, neues Device/Entity/Whatever gefunden". Aber nö.

Hab mir jetzt nach https://www.home-assistant.io/integrations/mqtt_json einen Eintrag in die configuration.yaml gemacht ala:
Code:
device_tracker:
  - platform: mqtt_json
    devices:
      NUC11: hardware/nuc11
und HA neugestartet. Und natürlich auch was vom NUC schicken lassen. Aber unter Devices oder Entities taucht nichts auf. Sollte ich da jetzt nicht einen Eintrag haben, der NUC11 heißt?
Hab ich irgendwo einen Denkfehler, oder geh ich das ganze gar komplett falsch an?

Irgendwie ist diese YAML-Gestammel mit HA komplizierter als einfach schnell ein (Python-)Skript hinzufrickeln.
 
Ok, es braucht wohl mehr. Die Doku antwortet auf die Frage "wie kriege ich MQTT-Werte als Sensor" mit "Ja". :rolleyes2:

Code:
device_tracker:
  - platform: mqtt_json
    devices:
      NUC11: hardware/nuc11

mqtt:    
  sensor:
  - name: "NUC11_Temp"
    state_topic: "/hardware/nuc11"
    qos: 0
    unit_of_measurement: "C"
    value_template: "{{ value_json.temp }}"
    unique_id: "NUC11_Temp"

Man braucht anscheinend den device_tracker (der aber "sinvollerweiße" selbstverständlich nicht unter "Devices" auftaucht), damit überhaupt irgendwas ankommt, aber dann darauf aufbauend noch die mqtt-sensoren. Die Doku hab ich eigentlich so verstanden, das der Device-Tracker für den Topic automatisch Sensoren erstellt für jeden Wert der im Json steht... und wenn ein neuer auftaucht, könnte er ja feststellen, das ein neuer Sensor da ist...


Unique_id sollte man wohl unbedingt vergeben, sonst hat man wie ich jetzt nach Trial&Error 30 Sensoren im System, die man dankbarerweiße auch nicht löschen kann, weil sie keine unique_id haben. :rolleyes2:
 
Zuletzt bearbeitet:
ich schicke ganz viel in HA per MQTT hin und her :d vor allem von eigenen Sensoren

Mehr als solche Definitionen habe ich nirgends drin und das funktioniert

Einen device_tracker habe ich bisher noch nie verwendet.

Code:
mqtt:

 sensor:
    - name: BriefkastenPrivatText.Status
      unique_id: briefkastenprivat_text
      state_topic: briefkasten_privat/status
      value_template: "{{ value_json.status_text }}"
 
Mehr als solche Definitionen habe ich nirgends drin und das funktioniert
Hab ich auch probiert, nachdem ich den device_tracker wieder rausgeworfen hatte, weil ich dachte, den braucht man dann ja nicht, waren alle Sensoren wieder tot. Device_Tracker wieder reingepackt, ging wieder.
 
Mein MQTT Server ist extren (Mosquitto) also nicht im HA drin - HA ist aktuelle Version also current nicht stable evtl liegt es an sowas - ich nutze schon echt einige MQTT Devices egal wie ich die erzeuge aus Bash Scripten, C# oder auf Microcontrollern das kommt bei mir immer bisher an :d

Hehe deshalb nutze ich ja mqtt auch so gerne mit HA weil das bisher immer super einfach war.
 
Mein MQTT Server ist extren (Mosquitto) also nicht im HA drin -
Dann ist das evtl. der Unterschied.

Hehe deshalb nutze ich ja mqtt auch so gerne mit HA weil das bisher immer super einfach war.
Ich find HA je mehr ich mich damit befasse zunehmend schlechter. Die Doku ist abgrundtief schlecht. Dieser YAML-Rotz verwendet an allen Ecken und Enden irgendwelche Magic-Namen und in der nicht vorhandenen Doku ist nirgends erwähnt, was man braucht oder installieren muss, damit dieses oder jenes Magic-Item überhaupt vorhanden ist. Nicht das ich YAML als Modelling-Sprache eh schon als absolut überflüssigen Kropf empfinde. Wäre ja nicht so, das es nicht schon 1000 andere gäbe. Der Name sagts ja schon selber "Yet another...".
Gefühlt 3/4 kann man nicht über die GUI konfigurieren, wie z.B. den MQTT-Kram. Damit man überhaupt das Config-File editieren kann und/oder per SSH auf den Container kommt, muss man sich erst irgendwelche Addons installieren.
Hab auch noch nicht rausgefunden, wie oder in welche DB auch immer die Daten überhaupt gespeichert werden. Auswertungen die mehr als einfach nur einen Sensorwert anzeigen sind ultimativ kompliziert. Ich will nur mal schnell einen Graph sehen, der mir Sensor1 - Sensor2 anzeigt... geht nicht, muss man sich einen Template-Sensor für erstellen, der zeigt aber dann keine Werte aus der Vergangenheit an. Ich will direkten Zugriff auf die fucking Datenbank, mit SQL oder Influx oder whatever. Sofern es sowas für HA gibt, verwendet es aber vermutlich YADQL (YET ANOTHER database query language, weil es gibt ja noch nicht genug davon).

Ich bin echt kurz davor HA wieder rauszuwerfen und mir sowas wieder selber aufzusetzen... mit InfluxDB, Grafana und Mosquitto. Da weiß ich dann wenigstens was passiert und wenn was nicht geht, kann ich nachgucken, wos hängt.
 
Naja ich habe bisher tatsächlich noch keine eigenen statistiken je selber gemacht aber dachte ich schau mal kurz wie das geht evtl brauch ich das ja auch mal

Die Doku ist so semioptimal - weil oft echte Beispiele fehlen soinder nur kleine Schnippsel da sind - aber so 99% kann ich doch dann irgendwie echt fix zusammenfinden einfach weil viele es nutzen.


Hier mal ein Quick and Dirty von einem eigenen MQTT Sensor - das mqtt erzeuge ich per bash script und sende das dann an den mqtt server (mosquitto)

Ich hab dir einfach mal das was ich zum testen und ausprobieren reingebaut habe aus der configuration.yaml rauskopiert - das erfasst auch tatsächlich werte :d die einstellungen wie zeit etc ist natürlich nur zum testen jede Minute geht nur da drum zu schauen wie es geht

Und ich hatte die Statistik mit History :d (Graph auf dem Bild "test")



Code:
automation:
  - trigger:
      - platform: time_pattern
        minutes: "/1"
    sensor:
      - name: dailyDiskfreeMinute
        unit_of_measurement: GB
        state: >-
          {{ states('sensor.dailyserver_diskfree') }}




sensor:
  - platform: statistics
    name: daily_HDD_Platz
    unique_id: "daily_hdd_platz"
    entity_id: sensor.dailyserver_diskfree
    state_characteristic: average_linear
    max_age:
      minutes: 10





mqtt:

 sensor:

    - name: "DailyServer.DiskFree"
      unique_id: dailyserver_diskfree
      unit_of_measurement: "GB"
      state_topic: "dailyserver/status"
      value_template: "{{ value_json.diskfree }}"
 

Anhänge

  • 1726646487187.png
    1726646487187.png
    11,9 KB · Aufrufe: 38
Zuletzt bearbeitet:
Ich hab's mal bis gerade laufen lassen, das hat jetzt den Tag weiter erfasst - denke also dass man das so machen kann - ausser jemand hat was besseres.

Damit man mehrere Statistikgraphs in einem Schaubild anzeigen kann müssen die halt wohl die gleiche Einheit haben - denke da ist Gross Klainschreibung dann auch relevant.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh