MultiSensor/Actor - nodemcu -- MQTT2-Server/MQTT2-Device

Begonnen von holle75, 27 Januar 2020, 16:00:30

Vorheriges Thema - Nächstes Thema

holle75

Hallo Ihr, ich finde ganz viele Beispiele und Anleitungen für Shelly, Tasmota, Sonoff, etc über MQTT und MQTT2 oder ESPEasy.

Über ESPEasy habe ich das jetzt Folgende umsetzen können, aber da ich final "mehr Freiheit" brauche, muß ich es über die arduino IDE hinbekommen.

Ich  möchte etwas, glaube ich, sehr sehr simples machen:

1) Eine NodeMcu über die arduino IDE flashen, ins Wlan einbinden, über MQTT2 Server/Device Infos empfangen(Temp, IR-Bewegung, etc)
2) ... und senden (Relais schalten, LED switchen, etc).

Den ersten Part habe ich hinbekommen, am Zweiten hakt es gewaltig.

Im Moment sind das alles nur Fingerübungen. Aber da die jetzt zwei Tage suchen und probieren langsam frustrierend werden, suche ich jemanden, der das in der Praxis einsetzt und seine fhem.cfg Auszüge und den korrespondierenden arduino code zur Verfügung stellt.

Mir fehlt gerade das Grundverständnis für die ganzen Unterschiede in all den verschiedenen Versionen (MQTT, MQTT2, Mosquito, ESPEasy, und und und) und deswegen fällt das Suchen von Detail-Infos recht schwer.....

Danke und Gruß
H.

EDIT 25.09.2022 Ich habe damals abweichend von der ursprünglichen Idee (Catfeeder, Katzenklappe) basierend auf den Infos einen Multisensor gebaut. Der läuft seit 2 Jahren auf dem Breadboard ohne Probleme. Leider vergessen, hier das Projekt vorzustellen ... und jetzt bin ich dann wieder ziemlich raus aus der Materie. Trotzdem möchte ich das was ich noch zusammenkratzen kann am Ende dieses Threads ablegen. Als Inspiration, falls es jemanden interessiert. https://forum.fhem.de/index.php/topic,107830.msg1236426.html#msg1236426

Die neue Idee war, einen ZweiWeg Multisensor/Schalter/Infoboard für Unterputz-Leerdosen zu basteln. Über 5V/24V mit Strom versorgt (zB Bus), aber über Wifi kommunizierend.

Das Ding "kann" Helligkeit, Temperatur, Luftfeuchte, Motion, Schaltaktor, RGB-LED, Piezo (Sound). Ich fand es spannend, überall wo Kleinspannung liegt Infos (Helligkeit, Temperatur, Luftfeuchte, Motion) generieren zu können, Zustände durch die RGB-LED anzuzeigen, durch den Piezo "zu warnen", und was auch immer auslösen (Schalter, Taster) zu können. Alle Sensoren/Aktoren werden auf fhem-Seite verarbeitet/geschaltet. MQTT2-Server/MQTT2-Device. Schön ist, dass man keinerlei "externe" Software laufen haben muss.

Ich habe mir damals auch PCB´s erstellt/bestellt, aber nie die Zeit gefunden, sie auch fertigzulöten. Ich war verwundert, dass ich es mit meinem ausgeprägten Halbwissen/Nichtwissen überhaupt so weit gebracht habe. Was aber jedem der es (oder Ähnliches) probieren möchte, Mut machen könnte ;) ...

Ich bin mir sicher, dass es sowohl für den Schaltplan als auch die Programmierung raffiniertere Wege gibt. Deswegen ist es auch primär als Inspiration gedacht.... Ich hatte damals kein Basteldevice was die Idee umfasst gefunden. Vielleicht gibt es dieses mittlerweile. Falls ja, lasst mich gerne wissen.

Gisbert

Hallo holle75,

ich denke, dass sich dein Problem lösen lässt, wenn wir es etwas portionieren.
Fangen wir also mit dem Sketch oder Firmware an, die du auf den NodeMCU geflasht hast.
Das, was du bis jetzt an Funktionalitäten beschrieben hast (Temperatur, IR-Bewegung, Relais schalten, LED switchen) kann man vermutlich mit Tasmota oder ESPEasy hinbekommen.
Manchmal gelingt das nicht, wenn man Sensoren oder Aktoren hat, die in Tasmota oder ESPEasy nicht angelegt sind.
Diesen Fall hatte ich erst ein einziges Mal.
Tasmota hat Vorteile bei der Schaltung von Relais, und Nachteile bei Sensoren (ich glaube, man kann nur eine Sorte von Sensoren verwenden).
ESPEasy hat diese Nachteile nicht, dafür kann man nicht so schön wie bei Tasmota Relais über den Webbrowser schalten.

Wenn die Frage nach dem Sketch/Firmware beantwortet ist, geht es an die Topics für das Publishen und Subskribieren.
Ich empfehle dir MQTTfx zu installieren (ich hab's auf einem WIN10-Rechner). Damit kann man subskribieren und publishen und sieht schon mal, ob die Verbindung so funktioniert, wie man es sich ausgedacht hat.
Aus Erfahrung weiß ich, dass Tippfehler und copy/paste-Fehler (zumindest) bei mir oft vorkommen. Wenn man diese Kontrolle hat, dann weiß man, an welcher Stelle man suchen muss.

Wenn das funktioniert, kommen wir zur Einbindung in Fhem, aber alles erst mal der Reihe nach.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

holle75

Hallo Gisbert, du umschreibst ein bißchen die Odyssee die ich die letzten Tage durchschifft habe ;)

ESPEasy hatte ich auf die nodemcu geflasht und auch mit dem entsprechenden ESPEasy Modul in fhem in beide Richtungen (zB Themperatur in und GPIO´s schalten raus) zum Laufen gebracht. Das ging erstaunlich einfach.

Danach habe ich die selbe nodemcu auf MQTT umgestellt und mich mit MQTT2-Server/Devices auf der fhem Seite beschäftigt. Da war in/out auch funktional.

DANACH habe ich gemerkt, dass ESPEASY nodemcu/arduino-seitig mir zu wenig Möglichkeiten für eine erweiterte Programmierung bietet und versucht, über die arduino IDE die entsprechenden Libraries zu flashen um weiterhin mit dem MQTT2-Server auf fhem-seite zu arbeiten. Auch das hat noch funktioniert ... auf jedenfall die nodemcu -> fhem Richtung.

Und hier hakt es jetzt.

Ich bekomme auf der nodemcu von fhem aus keine GPIO geschaltet.

Da es für die Kommunikation zwei Seiten gibt, weiß ich nicht, wo der Fehler liegt. Das in Kombi mit meinem Anfängerwissen macht das ganze ein wenig schwierig.

Also habe ich mich wundgesucht und recht wenig in Bezug auf "mein" Setup gefunden (was auch völlig nachvollziehbar ist, da jedes andere Setup, mit Einschränkungen, wesentlich leichter umsetzbar ist)..... und deswegen die Frage gestellt, ob jemand die Kombi in Nutzung hat und arduino sketch und fhem.cfg Auszüge zeigen könnte.



Generell ist dieses ganze Protokoll/Technologie/Hardware Wirrwar für sehr, sehr ähnliche Ziele eine echte Herausforderung. Bevor man überhaupt erstmal einen Ansatz findet vergehen Tage ... und weiß immer noch nicht, ob der Ansatz richtig ist ;)

Ich habe das Gefühl, dass die meistgenutzten Setups alle in irgend einer Form eine Beschränkung bedeuten. Was nicht heißt, dass ich nicht auf einem dieser enden werde, falls mein Ansatz falsch oder zu schwierig ist. Tasmota scheint mir da auch recht spezifisch zu sein?

Final soll das ganze ein Futterautomat für Katzen mit RFID Leser und blockierender Klappe und und und werden und ich vermute, dass ich nur per direkter Programmierung des arduinos alle dafür notwendigen Devices eingebunden bekomme. Kann mich aber auch irren ....

Im Moment würde es mir reichen, wenn ich die verschiedenen Devices arduino-seitig lesen/schalten könnte und über fhem die Automation umsetze. Später möchte ich auch die Logik auf den arduino legen und mit fhem nur die Zustände überwachen.

Ich schau morgen mal, ob ich MQTTfx standalone finde.

Danke dir!

Beta-User

Hallo zusammen,

vermutlich ist die FHEM-Seite nicht das große Problem, aber wie das mit den MQTT-subscriptions auf der ESP-Seite umzusetzen ist, ist eine echte Herausforderung, weil die ganzen firmwares recht kompakt und abstrakt geschrieben sind...

@Gisbert: Hattest du irgendeinen funktionierenden receive-Code auf der ESP-Seite?

Ansonsten wäre mein Tipp, das ganze ggf. mal mit MySensors zu versuchen. Das ist von der Arduino-Programmierung her deutlich einfacher gestrickt, allerdings dürfte ein ATMega32 für dieses Projekt zu klein sein. Jedenfalls: Das Handling eingehender Messages steckt bei MySensors in der "void receive ()", ein evtl. halbwegs einleuchtendes Beispiel dafür wäre z.B. https://www.mysensors.org/build/dimmer oder das RFID-lock: https://www.mysensors.org/build/rfid. (Und wenn man mal verstanden hat, was MySensors wo erwartet, ist die Konfiguration/Steuerung von FHEM aus auch kein Problem mehr).

Im Prinzip müßte sowas aber auch mit MQTT gehen. Aber die in pubSubClient enthaltenen Beispiele waren jetzt für mich auch nicht besonders aufschlußreich...

Spannendes Projekt jedenfalls, viel Erfolg :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Gisbert

Hallo holle75,

ZitatDANACH habe ich gemerkt, dass ESPEASY nodemcu/arduino-seitig mir zu wenig Möglichkeiten für eine erweiterte Programmierung bietet und versucht, über die arduino IDE die entsprechenden Libraries zu flashen um weiterhin mit dem MQTT2-Server auf fhem-seite zu arbeiten. Auch das hat noch funktioniert ... auf jedenfall die nodemcu -> fhem Richtung.

Und hier hakt es jetzt.

Ich bekomme auf der nodemcu von fhem aus keine GPIO geschaltet.

Damit begibst du dich auf ein Gebiet, in dem es schwierig ist zu helfen; es ist schließlich dein Sketch.
Vorschlag: Poste den Arduino-Sketch, vielleicht sehe ich oder irgend jemand anderes, was nicht passt.

Ich halte es nach wie vor sinnvoll mit MQTTfx zu arbeiten, um die Fehlersuche einzugrenzen.


Hallo Beta-User,

Zitat@Gisbert: Hattest du irgendeinen funktionierenden receive-Code auf der ESP-Seite?

Klar doch, der ESP empfängt Daten, macht daraus irgendetwas - in meinem Fall den Wert eines digitalen Potentiometers zu setzen - und sendet Daten zurück, d.h. die ESP-Seite kann subskribieren und publishen.
Wenn ich heute abend am Rechner sitze, kann ich den Sketch gerne posten.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Papa Romeo

Zitat von: Gisbert am 28 Januar 2020, 07:48:38
Klar doch, der ESP empfängt Daten, macht daraus irgendetwas - in meinem Fall den Wert eines digitalen Potentiometers zu setzen - und sendet Daten zurück, d.h. die ESP-Seite kann subskribieren und publishen.

Das habe ich eigentlich bisher auch so immer verstanden, bzw. in meinen Projekten und Sketchen so umgesetzt.
Ich möchte dass der ESP etwas ausführt, hätte aber auch das Feedback, ob er es auch so getan hat, wie ich es von ihm verlangt habe.
Ist doch eigentlich der Sinn von z.B. MQTT.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

holle75

#6
Danke euch dreien! .... @Gisbert, @Papa Romeo .... jippieh, ich fände es großartig, wenn ihr mir eure arduino.ino und korrespondierenden fhem.cfg Auszug für ein möglichst simples Device zeigen könntet (entschuldigt bitte meine Nomenklatur, ich bin da noch neu drin).

Ich meine mit MQTT2-server/device auf der fhem-seite den richtigen Ansprechpartner für ein über arduino-IDE programmierten arduino/nodemcu gefunden zu haben.

Wichtig ist mir auch, dass ich relativ einfach die physische Übertragung (Wlan/Funk/Kabel/Ethernet) später modifizieren kann. Weitere Herausforderung ist zB der RFID Sensor. Diese Chips für Tiere funktionieren auf einer anderen Frequenz (irgendwas mit 134 khz) und ich weiß nicht, ob diese spezifischen Sensoren in zB ESPEasy oder MySensors integrierbar sind. MySensors läuft über "Funk" oder Rs485 und ich bräuchte noch einen extra Gateway, richtig? Möchte ungern ein zusätzliches Funknetz neben WLAN aufmachen.

Das nur zur Erklärung, warum ich auf den steinigen Weg geschubst worden bin.

Ich finde ganz viel Info über MQTT mit Mosquitto, aber da ist die Syntax auf fhem-seite scheinbar eine andere als mit MQTT2.


Zitat von: holle75 am 28 Januar 2020, 00:18:29
Generell ist dieses ganze Protokoll/Technologie/Hardware Wirrwar für sehr, sehr ähnliche Ziele eine echte Herausforderung. Bevor man überhaupt erstmal einen Ansatz findet vergehen Tage ... und weiß immer noch nicht, ob der Ansatz richtig ist ;)


@Beta-User ... die meiste Info die letzten Tage in Bezug auf das hier habe ich im Forum von dir gefunden. Du wärst eigentlich prädestiniert dafür, ein Wiki zu verfassen, wo all die, vor allem Unterschiede, der verschiedenen Setups dargestellt werden ;)

Grüße!

Edit: @Gisbert. Ich stell heute Abend auch meinen Arduino Code mal ein. Allerdings wie gesagt Fingerübung um nur mal die Kommunikation hinzubekommen. Denke eure Sketches sind da viel weiter.


Beta-User

Zitat von: holle75 am 28 Januar 2020, 08:42:34
@Beta-User ... die meiste Info die letzten Tage in Bezug auf das hier habe ich im Forum von dir gefunden. Du wärst eigentlich prädestiniert dafür, ein Wiki zu verfassen, wo all die, vor allem Unterschiede, der verschiedenen Setups dargestellt werden ;)
Ich habe mich u.A. deswegen hier eingeklinkt, weil ich gerne ein funktionierendes Beispiel irgendwie ins Wiki bringen will. Allerdings nicht als "erklär mir die MQTT-Welt", sondern optimalerweise auf der Basis:
Zitat von: holle75 am 28 Januar 2020, 08:42:34
Ich meine mit MQTT2-server/device auf der fhem-seite den richtigen Ansprechpartner für ein über arduino-IDE programmierten arduino/nodemcu gefunden zu haben.
Es geht mit allen MQTT-Implementierungen, aber MQTT2_SERVER+MQTT2_DEVICE kenne ich am besten und ich halte das (schon wegen der fehlenden weiteren Perl-libs und der "Unempfindlichkeit" im Umgang mit JSON) für die einfachste.

Daher ist die Frage nach konkretem Code schon die richtige.
@Papa Romeo:
Hast du zufällig eine Idee, wo z.B. im Code von Tasmota die Stelle ist, die "...cmnd/POWER1 2" als toggle-Befehl für das erste Relais auswertet? Das würde vermutlich schon helfen...

ZitatWichtig ist mir auch, dass ich relativ einfach die physische Übertragung (Wlan/Funk/Kabel/Ethernet) später modifizieren kann. Weitere Herausforderung ist zB der RFID Sensor. Diese Chips für Tiere funktionieren auf einer anderen Frequenz (irgendwas mit 134 khz) und ich weiß nicht, ob diese spezifischen Sensoren in zB ESPEasy oder MySensors integrierbar sind.
Grundsätzlich bekommt man in eigene Sketches (v.a. in MySensors, aber auch bei Verwendung von pubSubClient) ALLES integriert, für das es eine Arduino-lib gibt (und die auf der jeweiligen Hardwareplattform läuft...; man kann die auch noch selbst schreiben, genauer wäre also: Alles, für das klar ist, wie der einzubauende Sensor... angesprochen/ausgewertet werden kann..).
Was den Wechsel des physischen Transport-Layers angeht, ist MySensors übrigens die einfachste Variante ;) .

Zitat
Ich finde ganz viel Info über MQTT mit Mosquitto, aber da ist die Syntax auf fhem-seite scheinbar eine andere als mit MQTT2.
Nicht ganz anders, nur ein wenig anders: In readingList (und set/get-List) bist du schon auf Perl-Ebene, so dass "+" durch "[^/]+" bzw "#" durch ".+"zu ersetzen ist, wenn du Wildcards einsetzen willst, und du _kannst_ direkt regex-Auswertungen ($1 usw.) an eine anschließende Perl-Funktion übergeben (meistens ist das aber "nur-Text")...

Ansonsten kann man auch direkt bei MQTT2_SERVER rawEvents aktivieren und den MQTT-Verkehr im Event monitor beobachten und direkt darüber publishes raushauen (das steht btw. auch schon im Wiki...).

Mehr zur Konfiguration von MQTT2_DEVICE auf FHEM-Seite steht in der attrTemplate-file zu mqtt2, da gibt's bereits Lösungen für eine ganze Anzahl typischer Probleme. Allerdings braucht man etwas Übung um zu verstehen, warum manche Dinge dort so sind wie sie sind, und manches ist auch noch nicht fertig...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

sbiermann

Ich vermute dein Sketch funktioniert nicht weil entweder die Callback Methode nicht definiert und aktiviert ist oder aber im Sketch die Anweisung fehlt über den loop() Aufruf zu "lauschen" ob es eine neue Nachricht gibt.

Einen ziemlich einfachen Arduino Sketch findest du unter: https://github.com/sbiermann/esp8266-sonoff-basic-mqtt, ich habe mir selber einen sketch geschrieben für meine Zwecke um Sonoffs zu schalten. Tut jedes Jahr zur Weihnachtszeit seinen Dienst als Weihnachtsbeleuchtung oder zur Steuerung der Stromversorgung meines 3D Druckers oder mit dem Sonoff T1 den Rolladen im Kinderzimmer. Man hätte natürlich auch einfach Tasmota oder ESPEasy auf die Sonoffs flashen können, aber für meine Zwecke wäre das zuviel des guten gewesen, da reicht ein einfacher Sketch.

holle75

Hallo sbiermann, hättest du noch ein Device aus fhem was mit deinem sketch korrespondiert? Dann würde ich das mal ausprobieren.

Danke

holle75

@sbiermann

Fehler im serial Monitor:

Connecting to wlanSSID
.....
WiFi connected
IP address:
192.168.xx.xx
do update
[update] Update failed.
Attempting MQTT connection...connected
ISR not in IRAM!

User exception (panic/abort/assert)
Abort called

>>>stack>>>



dieser Part wird wohl im neuen Core nicht mehr gemocht
ISR not in IRAM!

Beschreibung des Fehlers hier -> https://forum.arduino.cc/index.php?topic=616264.0

Die nodemcu verbindet sich im loop alle 2 Sekunden erneut mit dem Wlan. Mein MQTT2-Server auf fhem legt kein Device an.

Was macht die update Funktion, resp. welchen Server sollte man da eintragen??


holle75

#11
Bißchen weitergekommen

mit dem arduino sketch von hier -> https://www.instructables.com/id/MQTT-Bare-Minimum-Sketch/

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

#define wifi_ssid "ssid"
#define wifi_password "password"

#define mqtt_server "server"
#define mqtt_port 1883
#define mqtt_user "light"
#define mqtt_password "12345"

#define in_topic "/light/in"
#define out_topic "/light/out"
// NodeMCU onboard Led
#define in_led 2

WiFiClient espClient;
PubSubClient client;

void setup() {
  Serial.begin(115200);
  setup_wifi();
  client.setClient(espClient);
  client.setServer(mqtt_server, mqtt_port);
  client.setCallback(callback);
 
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(in_led, OUTPUT);
  digitalWrite(in_led, HIGH);
}

void setup_wifi() {
  delay(10);
  // We start by connecting to a WiFi network
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(wifi_ssid);

  WiFi.begin(wifi_ssid, wifi_password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

void reconnect() {
  // Loop until we're reconnected
  while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    // Attempt to connect
    // If you want to use a username and password, change next line to
    //  if (client.connect("ESP8266HDMClient", mqtt_user, mqtt_password)) {
    if (client.connect("ESP8266HDMClient")) {
      Serial.println("connected");
    } else {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      // Wait 5 seconds before retrying
      delay(5000);
    }
  }
}

void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");
for (int i = 0; i < length; i++) {
  char receivedChar = (char)payload[i];
  Serial.print(receivedChar);
  if (receivedChar == '0')
   digitalWrite(in_led, LOW);
  if (receivedChar == '1')
   digitalWrite(in_led, HIGH);
}
Serial.println();
}

void loop() {
  if (!client.connected()) {
    reconnect();
  }
  client.loop();
  // Publishes a random 0 and 1 like someone switching off and on randomly (random(2))
  client.publish(out_topic, String(random(2)).c_str(), true);
  delay(1000);
  client.subscribe(in_topic);
  delay(1000);
}



kann ich über den fhem MQTT2-Server von der NodeMCU im MQTT2 Device die random publishes erhalten.

Mit dem Win portable Programm

http://mqtt-explorer.com/


mit dem Topic
/light/in
und dem payload 1 bzw. 0

über den MQTT2 Server auch die onboard LED auf der nodeMCU schalten (wobei mich hier die deutliche Verzögerung von gefühlten 5-10 Sekunden wundert).

jetzt wäre nur noch die Frage, wie ich das MQTT2-Device in fhem konfiguriere, dass ich von fhem aus die LED schalten kann.

defmod MQTT2_ESP8266HDMClient MQTT2_DEVICE ESP8266HDMClient
attr MQTT2_ESP8266HDMClient IODev MQTT2_FHEM_Server
attr MQTT2_ESP8266HDMClient readingList ESP8266HDMClient:/light/out:.* out
attr MQTT2_ESP8266HDMClient room MQTT2_DEVICE

setstate MQTT2_ESP8266HDMClient 2020-01-28 12:40:59 out 1
setstate MQTT2_ESP8266HDMClient 2020-01-28 12:16:01 subscriptions /light/in



Beta-User

Beispiele gibt es in mqtt2.template zu hauf...
Da du mit MQTT2_CLIENT zu arbeiten scheinst, solltes du erst mal ein bridgeRegexp-Gerät definieren, sonst landet alles in dem einen "Sammeldevice" (Siehe Wiki zu MQTT2_CLIENT).

Vorab kannst du ja mal das hier testen, ausgehend davon, dass 1 und 0 als payload passen:

attr MQTT2_ESP8266HDMClient setList on /light/in 1\
off /light/in 0

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

holle75

Zitat von: Beta-User am 28 Januar 2020, 13:01:41
Da du mit MQTT2_CLIENT zu arbeiten scheinst, solltes du erst mal ein bridgeRegexp-Gerät definieren, sonst landet alles in dem einen "Sammeldevice" (Siehe Wiki zu MQTT2_CLIENT).

und genau beim bridgeRegexp-Gerät, bzw der Regex dazu, steige ich im Wiki oder in der commandref (jetzt schon mehrmals) komplett aus. Habe mir jetzt mit dem manuellen Anlegen von Einzeldevices vom "Sammeldevice" ausgehend beholfen.

Zitat von: Beta-User am 28 Januar 2020, 13:01:41
Beispiele gibt es in mqtt2.template zu hauf...

Jo, aber einmal habe ich so ein template zum ausprobieren aktiviert und dann gabs ein ziemliches durcheinander :)
Aber ja, kann man mal mit einem editor reinschauen.

holle75

Habe jetzt nochmal das MQTT2clientBridge.template aktiviert. Die Zusammenhänge erschließen sich mir nur leidlich. Aber ich bleib dran.

welches template muß ich dann in meinem Fall für das Device auswählen?


tasmota shelly zigbee ebus etc ....

Beta-User

...es ist auch nicht ganz einfach, in die Zusammenhänge mit diesem "speziellen" Device einsteigen zu wollen. Die bridgeRegexp-Geschichte geht erst mal davon aus, dass übliche firmwares mit denselben Defaults bzw. Einstellungen betrieben werden wie für MQTT2_SERVER in den Praxisbeispielen beschrieben.

Langer Rede kurzer Sinn: Das bringt dir im Moment mit dem einen Device nichts...
Hier ist weiter Handarbeit angesagt, daher hatte ich den entsprechenden Code auch gepostet ;) :
Zitat von: Beta-User am 28 Januar 2020, 13:01:41
Vorab kannst du ja mal das hier testen, ausgehend davon, dass 1 und 0 als payload passen:

attr MQTT2_ESP8266HDMClient setList on /light/in 1\
off /light/in 0

Wenn du das setList-Attribut händisch bearbeitest: Bitte den Zeilenumbruch (\) rauslassen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

holle75

Zitat von: Beta-User link=topic=107830 .msg1018211#msg1018211 date=1580216146
Hier ist weiter Handarbeit angesagt, daher hatte ich den entsprechenden Code auch gepostet ;) :Wenn du das setList-Attribut händisch bearbeitest: Bitte den Zeilenumbruch (\) rauslassen...

Hatte es ja in Handarbeit versucht, aber der zweite Teil in deinem Satz war entscheidend! ;)

YES! die LED schaltet! Dankeschön ...

Aber hast du eine Idee, anhand des arduino sketches, warum es 5-10 Sekunden dauert bis sie das tut?

Zitat von: Beta-User am 28 Januar 2020, 13:55:46
...es ist auch nicht ganz einfach, in die Zusammenhänge mit diesem "speziellen" Device einsteigen zu wollen. Die bridgeRegexp-Geschichte geht erst mal davon aus, dass übliche firmwares mit denselben Defaults bzw. Einstellungen betrieben werden wie für MQTT2_SERVER in den Praxisbeispielen beschrieben.

Deswegen habe ich mich ja auch totgesucht ...

Aber hey, jetzt gibt es auch ein Beispiel für den steinigen Weg im Forum :)

Beta-User

Sorry, habe mir angewöhnt, nur noch in "RAW" zu schreiben...

Das mit der Dauer kann alles mögliche sein, könnte z.B. auch aus den Logs von mosquitto was zu sehen sein usw.. Ich kenne mich da bei Arduino@MQTT nicht aus, ich mache das wenn, dann mit MySensors ;D . (Da hat man diese Art Stress in der Regel nicht, sondern einfach zu überblickenden Code und seriellen Output, warum was nicht geht...).

Zum totsuchen:
Es ist m.E. immer empfehlenswert, erst mal beim Kennenlernen neuer Techniken einen erprobten Weg zu nehmen, bevor man anfängt, an allen Enden zu ziehen. Und grade bei den MQTT2-Modulen ist "eigentlich" sehr transparent, was jeweils passiert, wenn man das Grundprinzip mal verstanden hat ;) . Dafür reicht es aber eigentlich, einmal einen ESP mit Tasmota geflasht zu haben...

(Beispiele für steinige Wege haben wir schon genug im Forum ;) ).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

holle75


holle75

.... falls noch jemand eine Idee für die Verzögerung hat ....

Ach so, und falls jemand weiss, wie man das autosave von MQTT2 ausschaltet wäre ich auch recht dankbar. Was ist da der Zweck dahinter?

holle75

Zitat von: holle75 am 28 Januar 2020, 14:46:29
.... falls noch jemand eine Idee für die Verzögerung hat ....

kam von diesen delays in dem loop

void loop() {
  if (!client.connected()) {
    reconnect();
  }
  client.loop();
  // Publishes a random 0 and 1 like someone switching off and on randomly (random(2))
  client.publish(out_topic, String(random(2)).c_str(), true);
  delay(1000);
  client.subscribe(in_topic);
  delay(1000);
}

Beta-User

...das verzögert, klar, würde aber nur ca. 2 Sekunden erklären...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

holle75

Der Sketch scheint mir nicht so ganz astrein zu sein. Eben noch einen anderen mit ähnlicher Funktionalität probiert, da ist die Responsezeit so um eine halbe Sekunde.

Deswegen wäre ich noch sehr an den Beispielen von @Gisbert und @Papa Romeo interessiert. So lernt sichs am schnellsten ...

Papa Romeo

holle75,

schau mal hier : https://forum.fhem.de/index.php/topic,91042.msg835297.html#msg835297

Das ist der Großteil meiner Projekte.
Normalerweise sind die Sketche (x...x.ino)  überall irgendwo, wenn erforderlich, mit angehängt.
Wenn nicht, oder sollte ein Passwort abgefragt werden, dann meld dich einfach.

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

holle75

Uiuiuii, was machst du denn da für Sachen ...

Denke, da brauch ich noch ein paar Monate/Jahre/Jahrzente um das auseinanderklabüstern zu können.

Gisbert

Hallo holle75,

ich glaube nicht, dass du Monate oder mehr brauchst, dafür bist du schon zu nah dran an einer Lösung, aber du wirst wahrscheinlich eine zweistellige Zahl an Tagen benötigen.

Mit einer NodeMCU hast du schon eine brauchbare Hardwarebasis. Ich hatte mit einem ESP8266-01 angefangen, und mich nur gewundert, dass nach 1-2 Tagen das Teil tot war, zumindest schien es so.

Es gibt die Fraktion, zu der gehöre ich, die haben folgende MQTT-Umgebung:

  • MQTT-Broker mosquitto
  • Ein Device in Fhem mit dem Modul MQTT, in dem der Broker und ggf. Credentials gespeichert sind
  • Viele Devices in Fhem mit dem Modul MQTT-DEVICE, die eigentlichen Geräte
Diese Installation ist historisch gesehen die ältere, sie funktioniert und hat lediglich einen kleinen Nachteil, dass json strings als Readings nicht vereinzelt dargestellt werden; das Problem ist aber leicht lösbar.

Die neueren Entwicklungen nutzen MQTT2-DEVICE, SERVER, ... Vorteil ist, das kein seperater MQTT-Broker (z.B. mosquitto) installiert werden muss, und die json strings werden gleich zerlegt.

Da bei mir viele Geräte nach der älteren Methode problemlos laufen, habe ich noch keine ausreichende Motivation gesehen, umzusteigen.

Ich glaube eines deiner Probleme ist, dass du zuviele Baustellen gleichzeitig angehst. Wenn es um einen funktionalen Sketch geht, den du entwickeln willst, dann brauchst du erst mal gar kein Fhem, lediglich einen MQTT-Broker auf deinem Server und MQTTfx auf deinem Win10-Rechner.

Ich sende dir gleich noch eine Beispiel-Installation, die bei mir schon lange problemlos läuft.
Schau es dir gerne an, aber nur wenn du nicht gleich fünf weitere Dinge gleichzeitig machen willst, eins nach dem anderen.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Papa Romeo

Zitat von: holle75 am 28 Januar 2020, 19:13:48
Uiuiuii, was machst du denn da für Sachen ...

Denke, da brauch ich noch ein paar Monate/Jahre/Jahrzente um das auseinanderklabüstern zu können.

...ich denke da hat Gisbert recht, das geht recht schnell.
Vor etwa knapp 3 Jahren, waren das für mich auch alles "Böhmische Dörfer"... ;D :P ::)
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Beta-User

#me too ....
Aber im Ernst: wenn du das nur an FHEM anbinden willst, überspringe mosquitto.Just my2ct...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Gisbert

Hallo holle75,

so hier ist meine MQTT-Umgebung:

Mosquitto:
pi@HPT610:~$ sudo systemctl status mosquitto
● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker

Wenn du diesen Weg gehen willst, dann musst du MQTT auf einen (Linux)-Server installieren. Wie das geht ist nicht Teil meiner Doku.

MQTT-Broker in Fhem:
defmod MyBroker MQTT 192.168.xx.yy:1883
Ggf. sind Credentials einzutragen, die bei der Installation des MQTT-Brokers auf den (Linux)-Server festgelegt wurden.

Mein MQTT_DEVICE, das in Fhem angelegt ist und mit einem ESP8266 kommunziert, auf dem ich einen eigenen Sketch am Laufen habe:
Wichtig ist hier eigentlich nur die Struktur des Topics "Heizung/Widerstand/+" - ich hoffe, du weisst, wofür das "+" steht, wie gepublisht und wie subskribiert wird.
Publishen z.B. set HeizungResist [HeizungResist:Widerstand_Forecast], wobei der Wert des Readings weiter unten in einem userReadings errechnet wird. Übertragen wird dann z.B. set HeizungResist 20.
Was subskribiert wird, steht in den Attributen attr HeizungResist subscribeReading_..., d.h. das sind die Daten, die der ESP rausschickt und die im Sketch definiert sind.
defmod HeizungResist MQTT_DEVICE
attr HeizungResist IODev MyBroker
attr HeizungResist alias Heizung [kΩ]
attr HeizungResist autoSubscribeReadings Heizung/Widerstand/+
attr HeizungResist comment Publishen geht wie folgt: \
set HeizungResist [HeizungResist:Widerstand] oder \
set HeizungResist [HeizungResist:Widerstand_Forecast] bzw. \
Der Inhalt wird zum Topic "Heizung/Widerstand/Sollwert" geschickt, welches im Attribut publishSet definiert wurde. \
\
Für die Nachtabschaltung der Warmwassererzeugung wird folgendes publiziert: \
set HeizungResist Warmwasser 0|1 (0=Nacht, 1=Tag) \
Schaltung über eine Relais: \
const int Relay_PIN = 14;;  // Relay is connected to GPIO14 D5 \
\
Temp ist die gemittelte Temperatur aus der Messung und dem Forecast \
Temp_eff = Temp - Temp_delta \
Abfrage nach gerade/ungerader Stunde: {strftime("%H", localtime)%2} - liefert 0 bei gerader, 1 bei ungerader Stunde \
\
stateFormat, z.B.: "Forecast: [DWD.Wetter.Leverkusen:fc0_4_TTT:d1]"\
<format> d<number> zum Runden des Wertes mit Nachkommastellen --> :d1 bedeutet eine Nachkommastelle\
\
Digitaler Potentiometer:\
#define INC 2  // D1 Mini D4 - pulled up in H/W (10k) ->  chip pin 1\
#define UD 15  // D1 Mini D8                          ->  chip pin 2\
#define CS 16  // D1 Mini D0 - pulled up in H/W (10k) ->  chip pin 7
attr HeizungResist event-min-interval .*:290
attr HeizungResist event-on-change-reading .*
attr HeizungResist icon sani_boiler_temp
attr HeizungResist publishSet Heizung/Widerstand/Sollwert
attr HeizungResist publishSet_Warmwasser Heizung/Widerstand/Warmwasser
attr HeizungResist room Heizung
attr HeizungResist stateFormat Aussentemp.: [TH.Kuhlmannweg8:temperature]°C<br>\
<span style="font-size:14px"><i>Resistance: [$name:Widerstand] kΩ</i></span><br>\
Temp<i><span style="vertical-align: -3px;; font-size: 75%;;">eff</span></i>: [$name:Temp_eff:r1]°C<br>\
Resistance: [$name:Istwert] kΩ<br>\
Forecast today: [DWD.Wetter.Leverkusen:fc0_4_TTT:d1]°C<br>\
Forecast +1: [DWD.Wetter.Leverkusen:fc1_4_TTT:d1]°C
attr HeizungResist subscribeReading_Istwert Heizung/Widerstand/Istwert
attr HeizungResist subscribeReading_Sollwert Heizung/Widerstand/Sollwert
attr HeizungResist subscribeReading_Spannung Heizung/Widerstand/Spannung
attr HeizungResist subscribeReading_Warmwasser Heizung/Widerstand/Warmwasser
attr HeizungResist subscribeReading_Warmwasser_ist Heizung/Widerstand/Warmwasser_ist
attr HeizungResist userReadings Widerstand {round(32.501037*exp(-0.052932*ReadingsVal('TH.Kuhlmannweg8','temperature','')),0)}, \
Temp {if (strftime("%H", localtime) < 18) \
{round(1/2*ReadingsVal('TH.Kuhlmannweg8','temperature','') + 1/2*ReadingsVal('DWD.Wetter.Leverkusen','fc0_4_TTT',''),2)} \
else {round(1/2*ReadingsVal('TH.Kuhlmannweg8','temperature','') + 1/2*ReadingsVal('DWD.Wetter.Leverkusen','fc1_4_TTT',''),2)}}, \
Temp_delta {round(2 + 1.25*ReadingsVal('Ueberwachung','UeberwachungEG','') + 1.25*ReadingsVal('Ueberwachung','UeberwachungOG',''),2)}, \
Temp_eff {if (ReadingsVal('HeizungResist','Temp','') < 16 and ReadingsVal('DWD.Wetter.Leverkusen','fc0_4_TTT','') < 18) \
{round(ReadingsVal('HeizungResist','Temp','') + ReadingsVal('HeizungResist','Temp_delta',''),2)} \
elsif (ReadingsVal('HeizungResist','Temp','') >= 16 or ReadingsVal('DWD.Wetter.Leverkusen','fc0_4_TTT','') >= 18) {22}}, \
Widerstand_Forecast {round(32.501037*exp(-0.052932*ReadingsVal('HeizungResist','Temp_eff','')),0)}, \
Zeitstempel {substr(ReadingsTimestamp($name,'Spannung',''),0,16)}


Zu guter letzt noch der Arduino-Sketch, den ich als Datei anhänge.
Wichtig ist hier, dass ich Credentials bei MQTT-Broker definiert habe, die ich natürlich im Sketch auch eintragen muss.
Die WLAN SSID und das zugehörige Passwort sind nicht im Sketch hinterlegt. Es ist ein Webserver vorhanden, auf den man sich z.B. mit dem Handy einloggen kann, und dort kann man dann SSID und Passwort speichern. Ich finde das besser als in allen möglichen Sketchen diese Dinge im Klartext lesen zu können.

Viel Spaß (hoffentlich ;)) und viele Grüße
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

holle75

Vielen Dank Gisbert für die Mühe. Das .ino hilft mir schon sehr für den Aufbau weiter.

Allerdings werde ich bei MQTT2-Server/Devices bleiben, da ich bis jetzt keinen Nachteil sehen kann und es mir ein "zusätzliches Gerät" (mosquitto) erspart. Und du hast ja geschrieben, ich soll mich Schritt für Schritt rantasten :) ... ein Schritt weniger und MQTT2 fange ich langsam! an zu verstehen.

Jetzt für den Anfang war erstmal entscheidend, den richtigen Weg für den Aufbau für meinen sperrigen Anspruch zu finden. Denke dank euch ist das jetzt erledigt.

Dann lerne ich jetzt mal "arduino"

Nochmals vielen Dank an euch und mit leider allergrößter Sicherheit werden hier noch ganz viele Fragen von mir auftauchen ;)

holle75

#30
bzgl erster Beitrag (in Rot): https://forum.fhem.de/index.php/topic,107830.msg1017882.html#msg1017882

Ich habe damals abweichend von der ursprünglichen Idee (Catfeeder, Katzenklappe) basierend auf den Infos einen Multisensor gebaut. Der läuft seit 2 Jahren auf dem Breadboard ohne Probleme. Leider vergessen, hier das Projekt vorzustellen ... und jetzt bin ich dann wieder ziemlich raus aus der Materie. Trotzdem möchte ich das was ich noch zusammenkratzen kann am Ende dieses Threads ablegen. Als Inspiration, falls es jemanden interessiert.

Die neue Idee war, einen ZweiWeg Multisensor/Schalter/Infoboard für Unterputz-Leerdosen zu basteln. Über 5V/24V mit Strom versorgt (zB Bus), aber über Wifi kommunizierend.

Das Ding "kann" Helligkeit, Temperatur, Luftfeuchte, Motion, Schaltaktor, RGB-LED, Piezo (Sound). Ich fand es spannend, überall wo Kleinspannung liegt Infos (Helligkeit, Temperatur, Luftfeuchte, Motion) generieren zu können, Zustände durch die RGB-LED anzuzeigen, durch den Piezo "zu warnen", und was auch immer auslösen (Schalter, Taster) zu können. Alle Sensoren/Aktoren werden auf fhem-Seite verarbeitet/geschaltet. MQTT2-Server/MQTT2-Device. Schön ist, dass man keinerlei "externe" Software laufen haben muss.

Ich habe mir damals auch PCB´s erstellt/bestellt, aber nie die Zeit gefunden, sie auch fertigzulöten. Ich war verwundert, dass ich es mit meinem ausgeprägten Halbwissen/Nichtwissen überhaupt so weit gebracht habe. Was aber jedem der es (oder Ähnliches) probieren möchte, Mut machen könnte ;) ...

Ich bin mir sicher, dass es sowohl für den Schaltplan als auch die Programmierung raffiniertere Wege gibt. Deswegen ist es auch primär als Inspiration gedacht.... Ich hatte damals kein Basteldevice was die Idee umfasst gefunden. Vielleicht gibt es dieses mittlerweile. Falls ja, lasst mich gerne wissen.


Ich hänge hier mal alles rein, was ich an Material noch gefunden habe. Erstmal unkommentiert, bei Bedarf können wir das gerne, soweit mir noch möglich, weiter ausführen.

Auf der Platine ist noch zu beachten, dass so eine UmformerPlatine Huckepack ~24V -> 5V vorgesehen ist. Nie probiert

cpp ist der Arduino Code
fzz Fritzing "Schaltung" (hier nur die Platine interessant)
svg Ist das PlatinenLayout für Fritzing (Leerdose) mit Inkscape erstellt
skp Sketchup Gira55 Entwurf

RAW fhem
defmod MQTT2_MultiSensor1 MQTT2_DEVICE MultiSensor1
attr MQTT2_MultiSensor1 IODev MQTT2_FHEM_Server
attr MQTT2_MultiSensor1 devStateIcon online:rc_GREEN offline:rc_RED
attr MQTT2_MultiSensor1 readingList MultiSensor1:MultiSensor1/motion:.* motion\
MultiSensor1:MultiSensor1/humidity:.* humidity\
MultiSensor1:MultiSensor1/temperature:.* temperature\
MultiSensor1:MultiSensor1/piezo:.* piezo\
MultiSensor1:MultiSensor1/state:.* state\
MultiSensor1:MultiSensor1/button:.* button\
MultiSensor1:MultiSensor1/rgb:.* rgb\
MultiSensor1:MultiSensor1/luminosity:.* luminosity
attr MQTT2_MultiSensor1 room MQTT2_DEVICE
attr MQTT2_MultiSensor1 setList piezo:5,Alarm,off MultiSensor1/ToSensor piezo $EVTPART1\
rgb:off,white,red,green,blue,yellow MultiSensor1/ToSensor rgb $EVTPART1
attr MQTT2_MultiSensor1 setStateList on off
attr MQTT2_MultiSensor1 verbose 2
attr MQTT2_MultiSensor1 webCmd piezo:rgb
attr MQTT2_MultiSensor1 webCmdLabel Piezo\
:\
RGB

setstate MQTT2_MultiSensor1 online
setstate MQTT2_MultiSensor1 2022-09-23 21:49:09 IODev MQTT2_FHEM_Server
setstate MQTT2_MultiSensor1 2022-09-25 12:48:33 button standby
setstate MQTT2_MultiSensor1 2022-09-25 12:52:50 humidity 71.5
setstate MQTT2_MultiSensor1 2022-09-25 12:56:33 luminosity 840
setstate MQTT2_MultiSensor1 2022-09-25 12:49:17 motion standby
setstate MQTT2_MultiSensor1 2022-09-25 12:49:00 piezo off
setstate MQTT2_MultiSensor1 2022-09-25 12:49:05 rgb off
setstate MQTT2_MultiSensor1 2022-09-25 12:48:31 state online
setstate MQTT2_MultiSensor1 2022-08-23 17:29:27 subscriptions MultiSensor1/ToSensor
setstate MQTT2_MultiSensor1 2022-09-25 12:56:10 temperature 23.4



Teileliste (teilweise, ich habe abgeschrieben, was auf den Teilen steht. Sicherlich gibts da auch spezifischere Namen)
RGB
WS2812

humidity/temp
AM2302 (DHT22)

Helligkeitssensor
HW-483

PIEZO
HYDZ
3 Beine breakoutboard

Motion
AM312

sehr geholfen und maximal was möglich übernommen: https://www.youtube.com/watch?v=jpjfVc-9IrQ