Autor Thema: Projekt - ESPeasy mit I2C-Display, MQTT  (Gelesen 6164 mal)

Offline bartman121

  • Full Member
  • ***
  • Beiträge: 461
Projekt - ESPeasy mit I2C-Display, MQTT
« am: 31 März 2017, 09:13:40 »
Moin,

ich bin derzeit ein bisschen am basteln und überlege eine Display über I2C per Espeasy zu steuern. Ich finde die Lösung per HTTP nicht sonderlich schön, Hintergrund ist, dass es Probleme bei nicht-Erreichbarkeit des Displays geben kann.

Als Lösung habe ich derzeit Espeasy-Mega gewählt --> https://www.letscontrolit.com/wiki/index.php/ESPEasyMega

Hier kann man ein Device MQTT-Import definieren. Dieses Device subscribed am broker bis zu vier topics, darüber kann man einiges an Werten übergeben. Man kann auch mehrere MQTT-Import-Devices machen, dann hat man X*4 Werte ....

Die Werte kann man ins Display schreiben:
Use the device tab on the ESP Easy webinterface and create a new task by editing one of the available tasks. Select "LCD Display" from the dropdown box.

Enter template texts into lines 1 to 4. Plain text will be shown on the display exactly as entered. If you want to show a value, enclose <task name> and <value name> between brackets, separated by a hashtag.

So if you have a dallas sensor running, with taskname "Dallas", to get the temperature value, use this:

 [Dallas#Temperature]


mittels "Rules" kann man auch "Display on" und "Display off" per MQTT machen....

Man kann direkt von fhem Werte über den broker publishen und über MQTT-Import holen oder man subscribed bestehende Sensorwerte, viel ist möglich.


Derzeit kan man mittels MQTT-Import nur float-Werte importieren.
Frage dazu:
Ist bei MQTT irgendwo festgelegt, dass man nur Zahlen publishen darf/soll?
Wenn nein, dann müsste man ESPEasyMega etwas modifizieren und dann könnte man auch "Texte" importieren.

Der Vorteil dieser Lösung besteht darin, dass man sich Dank MQTT wenig Gedanken machen muss, das Display kann "unabhängig befüllt" werden und bei Bedarf kann man das Ding von fhem einschalten oder halt mittels button, sensor am Display...

Meinungen, Fragen, bei Bedarf kann ich heute Abend mal ein bei Screenshots meiner Konfigs machen.


« Letzte Änderung: 31 März 2017, 09:19:16 von bartman121 »

Offline Thorsten Pferdekaemper

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6287
  • Finger weg von der fhem.cfg
Antw:Projekt - ESPeasy mit I2C-Display, MQTT
« Antwort #1 am: 31 März 2017, 09:56:02 »
Moin,Frage dazu:
Ist bei MQTT irgendwo festgelegt, dass man nur Zahlen publishen darf/soll?
Also der MQTT-Standard sagt gar nichts über das Nachrichtenformat aus. Es wird auch keine Typinformation übermittelt, d.h. man kann genau genommen nicht einmal allgemein feststellen, was das für ein Datentyp ist.
Gruß,
   Thorsten
FUIP

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3578
    • _.:|:._
Antw:Projekt - ESPeasy mit I2C-Display, MQTT
« Antwort #2 am: 31 März 2017, 12:42:02 »
Zitat
Ich finde die Lösung per HTTP nicht sonderlich schön, Hintergrund ist, dass es Probleme bei nicht-Erreichbarkeit des Displays geben kann
Das ist bspw. beim ESPEasy Modul nicht der Fall. Es ist auch ein resend der Kommands möglich, sobald der ESP wieder erreichbar ist.

Offline tklein

  • Sr. Member
  • ****
  • Beiträge: 662
Antw:Projekt - ESPeasy mit I2C-Display, MQTT
« Antwort #3 am: 31 März 2017, 13:10:46 »
hallo,

bei mir gehen 6 Zeilen per MQTT zu befeuern. Allerdings stehe ich momentan vor einem Rätsel. Vielleicht kann mir jemand dabei helfen:
mosquitto_pub -t wemos/line2 -m "14" klappt während
mosquitto_pub -t Wemos_Schlafzimmer/line2 -m "12" keine Daten an das Display sendet. Dabei ist das der Name des Devices.

Das dumme ist nur, dass ich nicht mehr weiss, warum da noch nur wemos drin steht... :o

verwirrte Grüße
Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Offline bartman121

  • Full Member
  • ***
  • Beiträge: 461
Antw:Projekt - ESPeasy mit I2C-Display, MQTT
« Antwort #4 am: 31 März 2017, 15:02:59 »
Im DEVICE mqtt-Import muss das topic geändert werden.

Offline tklein

  • Sr. Member
  • ****
  • Beiträge: 662
Antw:Projekt - ESPeasy mit I2C-Display, MQTT
« Antwort #5 am: 31 März 2017, 15:09:13 »
@bartman121

f@@k das glaube ich ja nicht. Besten Dank für den Stubs in die richtige Richtung.

Gruß Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2642
Antw:Projekt - ESPeasy mit I2C-Display, MQTT
« Antwort #6 am: 31 März 2017, 16:33:20 »
Irgendwo in deinem Framework versteckt sich eine void callback:

void callback(const char[] topic, byte* payload, unsigned int length)
Dann kommt Code der die empfangenen Daten in irgend etwas konvertiert, bzw. als irgend einen Typ wohin schreibt.

Da könntest du nachlesen.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline bartman121

  • Full Member
  • ***
  • Beiträge: 461
Antw:Projekt - ESPeasy mit I2C-Display, MQTT
« Antwort #7 am: 01 April 2017, 06:31:20 »
@dev0
Irgendwie hatte ich das easpeasy-Modul gar nicht auf den Schirm

Ich mag es jetzt aber über MQTT machen.

@Rince
Danke, es ging bei der Frage eher darum ob es Standard-konform wäre auch Texte als Payload zu übertragen.

Grüße

Offline Rince

  • Hero Member
  • *****
  • Beiträge: 2642
Antw:Projekt - ESPeasy mit I2C-Display, MQTT
« Antwort #8 am: 01 April 2017, 14:35:06 »
Prinzipiell kann so gut wie alles als Payload geschickt werden. Das hat Thorsten ja schon​geschrieben.
Ich würde mit MQTT Spy oder MQTT fx mal ansehen, was denn am Broker gepublished wird. Damit kannst du eingrenzen ob das am Publisher liegt oder am Subscriber.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

 

decade-submarginal