MQTT und AI on the edge: Ich kriege es nicht hin

Hallo in die Runde,
ich bin neu hier, heiße Sascha, bin Ende 50 und seit 3 Monaten mit HA unterwegs.
Schon einiges gemacht und mich dann dem Projekt “Wasserzähler” gewidmet und am Rande der Verzweiflung :slight_smile:
Seit 1 1/2 Wochen versuche ich mich am Auslesen des Wasserzählers mit ESPCam, Ai on the edge und MQTT.
Es will mir aber nicht gelingen irgendwas in HA zu erhalten.
Ich habe die beteiligten Videos hier sicher 4-5 mal gesehen, im Forum gelesen, in anderen Foren recherchiert, Anleitungen durchgegangen - ohne Erfolg.
Daher nun die Bitte um Hilfe an Euch.
Was habe ich nach allen erfolglosen Versuchen gemacht?
Erstmal MQTT AddOn und die Integration wieder runtergeworfen und versucht bei Null anzufangen in folgenden Schritten:

  • AI on the edge komplett neu geflasht und eingerichtet. Funktioniert soweit einwandfrei. Wird alles korrekt gelesen. Konfiguration gem. Video. EDIT: Gerät wird im Router angezeigt.
  • MQTT-User angelegt, Erstmal Banal-PW, um Fehlerquellen zu eliminieren
  • MQTT-Addon installiert
  • Integration gemacht. Der Test “Paket veröffentlichen” funktioniert

Ich hätte nach dem Video gedacht, dass jetzt Gerät und Entitäten in MQTT-Integration angezeigt werden. Tja, falsch gedacht.
Ich habe keine Idee mehr, wo ich noch suchen muss…
Eine Idee, was ich falsch mache?
Muss ich im Router noch was einstellen?
Muss ich in der configuration.yaml was machen?

Schon einmal vielen Dank für eure Hilfestellung(en).
Viele Grüße
Sascha

1 „Gefällt mir“

MQTT legt nicht automatisch Sensoren in HA an.
Manche MQTT-Sender legen Sensoren automatisch an (gibt eine Funktion z.B. in OpenDTU) andere wiederum nicht (AhoyDTU). Vermutlich legt Dein Sender keine automatisch in HA an.

Du musst diese also manuell anlegen.
Dazu musst du wissen was/wie Dein Sender die Daten aufliefert. Das findest du entweder in der Doku des Senders oder indem du den “Verkehr” abhörst.

Da bei mir der MQTT-Explorer innerhalb von HA nie wirklich funktionierte, habe ich mir diesen für meinen Computer runter geladen. Dort den MQTT-Server konfiguriert und geschaut, was dort so alles ankommt und dann daraus meine Sensoren zusammen gebaut.

Das ist der MQTT-Explorer auf meinem Computer und du siehst gleich die Konfiguration des MQTT-Servers in HA.


Wenn ich nun Connect, dann zeigt er mir alles an was an den MQTT-Server gesendet wird

Dort müsste auch Dein Sender drin auftauchen. Dann ist zumindest mal alles unterwegs.

Danach habe ich erst einmal in der configuration.yaml einen Eintrag hinterlegt

mqtt:
 sensor: !include_dir_merge_list mqtt/sensor/

dann einen Ordner mqtt. Darunter einen Ordner sensor und darin dann die Datei OpenDTU.yaml, die folgenden Code hat

geht natürlich auch alles einfacher mit einem Eintrag

mqtt: !include mqtt.yaml

in der configuration.yaml und einer neuen Datei mqtt.yaml in die Du dann alles einträgst

#####################################################
### MQQT Sensoren anlegen
#####################################################

#OpenDTU HM-800
- name: "OpenDTU Status"
  unique_id: "opendtu_status"
  state_topic: solar/opendtu/status
- name: "OpenDTU Uptime"
  unique_id: "opendtu_uptime"
  state_topic: solar/dtu/uptime
  unit_of_measurement: "s"
- name: "OpenDTU Uptime_extended"
  unique_id: "opendtu_uptime_extended"
  state_topic: solar/dtu/uptime
  value_template: >
    {% set uptime = value | int %}
    {% set days = (uptime / 86400) | int %}
    {%- if days > 0 -%}
      {{ days }}Tage {{ (uptime - (days * 86400)) | int | timestamp_custom('%-Hh %-Mm', false) }}
    {%- else -%}
      {{ uptime | int | timestamp_custom('%-Hh %-Mm', false) }}
    {%- endif -%}
- name: "OpenDTU Device Name"
  unique_id: "opendtu_device_name"
  state_topic: solar/114180113299/name
- name: "OpenDTU WiFi"
  unique_id: "opendtu_wifi"
  state_topic: solar/dtu/rssi
  unit_of_measurement: "dBm"
- name: "OpenDTU IP"
  unique_id: "opendtu_ip"
  state_topic: solar/dtu/ip
- name: "OpenDTU Hostname"
  unique_id: "opendtu_hostname"
  state_topic: solar/dtu/hostname
- name: "OpenDTU FWVersion"
  unique_id: "opendtu_fwversion"
  state_topic: solar/114180113299/device/fwbuildversion
- name: "OpenDTU FWBuildDateTime"
  unique_id: "opendtu_fwbuilddatetime"
  state_topic: solar/114180113299/device/fwbuilddatetime
- name: "OpenDTU HWPartNumber"
  unique_id: "opendtu_hwpartnumber"
  state_topic: solar/114180113299/device/hwpartnumber
- name: "OpenDTU HWVersion"
  unique_id: "opendtu_hwversion"
  state_topic: solar/114180113299/device/hwversion
- name: "OpenDTU Status LastUpdate"
  unique_id: "opendtu_status_lastupdate"
  state_topic: solar/114180113299/status/last_update
  value_template: >-
    {{ value | int | timestamp_custom('%d.%m.%Y %H:%M:%S') }}

Das sind natürlich nur Beispiele. Alles was hinter state_topic steht musst du aus dem MQTT-Explorer oder der Dokumentation Deines Senders auslesen.
Siehe rechts oben steht das Topic solar/ac/power

Zu empfehlen ist immer eine unique_id zu definieren, auch wenn HA diese, falls nicht definiert, selber festlegt, und wo immer es geht eine unit_of_measurement:

Ich hoffe das hilft Dir weiter.
Alles anzulegen auf diesem Weg ist etwas mühsam, aber man macht es ja auch nur einmal :wink:

Viel Erfolg

Claudius

2 „Gefällt mir“

AI on the edge legt die Entitäten automatisch an. Man kann das im Webinterface des ESP32 bei den MQTT-Einstellungen auch manuell anstossen. Dazu einfach den Link dort klicken.

1 „Gefällt mir“

Man bin ich ein Vollhonk… :crazy_face: :crazy_face: :crazy_face: :crazy_face: :face_with_spiral_eyes: :face_with_spiral_eyes: :face_with_spiral_eyes: :scream: :scream: :scream: :scream:

Dein Beitrag beinhaltet zwar nicht direkt die Lösung des Problems, aber besser indirekt als gar nichts.
Eigentlich muss ich vor Scham im Boden versinken…

Mein Fehler: Ich habe in AI on the edge einen Fehler in der IP-Adresse eingebaut. Ein großes i anstatt einer 1. Weiß der Henker, wie oft ich die Konfiguration durchgegangen bin.
Der Screenshot vom MQTT-Explorer brachte mich irgendwie drauf…
Ich krieg gleich ein Schleudertraume vom Kopfschütteln :slight_smile:
Vielen Dank!!!

2 „Gefällt mir“

Hallo @DoDu. Willkommen im Forum.
Ich habe heute einen neuen Wasserzähler eingebaut bekommen. Den Qundis WME5. Ich fange vom Vorwissen her quasi bei Level -10 an :wink: Könntest Du ein paar gute Einsteiger-Tipps posten. Anleitungen, Videos, URL’s zum Thema usw. Das wäre vielleicht auch für den ein oder anderen Anfängt auf dem Gebiet im Forum sehr hilfreich.

Vielen Dank

Gruß
AndiFidi

Ui, da fragst Du den Richtigen :slight_smile:
Besser als Level -8 bin ich auch noch nicht :wink:
Hätte ich den Fehler mit der IP-Adresse nicht gehabt, dann wäre ich mit Simons Video zu dem Wasserzähler hingekommen. Da ist alles drin, was man braucht.
Einzig bei der Einrichtung der Kamera habe ich festgestellt, dass man in der Weboberfläche lieber 1 x zuviel den “Save”-Button drücken sollte.
Wechselt man da zwischen den jeweiligen einzelnen Elementen (z.B. die analogen Zeigerelemente) und hat nicht Save vorher gedrückt, dann sind die Einstellungen weg.
Aber ansonsten passt das im Video schon alles sehr gut.
Viele Grüße
Sascha

Hi @DoDu, ich schaue mir nochmal das Video an. Die Videos von Simon geben ja immer Inspiration zur Lösung…Gruß, AndiFidi

Ist der Link den man klicken soll in der Cofiguration von AI-on-the_edge?
Bei mir werden keine Entitäten angelegt.
Die Entitäten müsste doch in Homeassistant bei der Integration MQTT erscheinen, oder
Die Werte des gasmessers/wasserzählers kann ich aber mit dem MQTT Explorer empfangen.

Ja. Auf true muss der Eintrag darunter natürlich auch stehen.

Homeassistant discovery steht auf true

Und MQTT ist bei AIote richtig konfiguriert, dass es auch mit deinem MQTT broker, ich nehme an das Mosquitto Addon reden kann?

EDIT: Wenn du sie mit dem MQTT Explorer sehen kannst, ist dem wohl so…
Hast du denn auch auf den Link geklickt (publish discovery)?

Alote sendet MQTT Daten, das kann ich im Logfile Alote sehen. Der MQTT Explorer empfängt Daten (Json datenstream) erstellt eine History aber mit diese Daten kann ich leider nichts weiter anfangen.
Ich wollte aber die Daten im Dashboard darstellen wie in Youtube von Simon 42 zusehen ist.

Wie sehen denn die Topics im MQTT-Explorer aus?
Da müssten Einträge sein, die heißen so wie du deine Zähler in AIote benannt hast und dann muss es auch einen Eintrag homeassistant geben und darunter dann u. a. sensor und binary_sensor.

So sieht das bei mir z. B. aus. Meine beiden AIote heißen coldwatermeter und hotwatermeter.

So sieht es bei mir aus.
Kein Eintrag Homeassistant, kein Eintrag sensor bzw binary sensor

Dann noch mal die Frage: Hast du auf den Link geklickt?

Ja, ich habe auf den Link geklickt. Es kommt die message “Homeassistant Discovery and Static topics scheduled”
Wenn man beim Alote unter Manual Control resend HA Discovey drückt kommt die message "Sending HA discovery topics scheduled. The sending will be processed in state “Publish to MQTT”

Ich habe dezeit keinen Eintrag in der Yaml config datei unter sensor oder binary_sensor. Meine Versuche waren nicht erfolgreich.

In irgendwelchen YAML Dateien wird auch nichts auftauchen. Wenn Home Assistant die Entitäten automatisch anlegt, weil AIote ihm mitteilt, wie es die bauen soll, findest du die in HA unter Geräte & Dienste in der MQTT Integration. Aber igendwas scheint mit deiner MQTT Konfiguration nicht zu passen.
Ist AIote das erste Gerät was du über MQTT einbindest?

Ich habe nur noch shelly Temperatursensoren integriert, die problemlos funktionieren.
Vielleicht liegt es daran, dass ich Win 10 benutze und HAS in der Oracle Virtuell Box läuft.

Ich habe keine Entität für den Alote in der Liste der Entitäten.

Vielleicht gibt Dir das einen Hinweis.

Sorry für meine Unkenntnis, aber ich bin ein newbee

Wen nirgendwas mit meinen Einstellungen nicht stimmt -was wahrscheinlich ist- dann wundert es mich, dass der MQTT Explorer Daten empfängt.

Also ohne das Addon Mosquitto broker und die Konfiguration die dir in dem Screenshot vorgeschlagen wird, wirst du keine Werte von AIote nach Home Assistant bekommen.

Mit welchem Gerät hast du dich denn mit dem MQTT-Explorer verbunden?

Ich habe den mosquitto broker in Win 10 als Dienst laufen.

Ursprünglich hatte ich das Gerät MQTT in HAS integriert und bekam trotzdem keine Enitäten.
Habe es gerade wieder instaliert, hinterher wieder “resend HAS dicovery” gedrückt. Keine Entiäten.
Hab bei MQTT den Test gemacht: Kann Pakete veröffentlichen und empfangen.

Unklar ist welche Konfigurationseinstellungen (Broker Optionen) ich wählen muss