NEWS
[gelöst] Frage zu MQTT
-
Hallo zusammen,
nutze eine Arduino der per MQTT mit meinem ioBroker spricht.
Kann mir hier jemand unter die Arme greifen?Die ersten beiden Pins (1 und 2) arbeiten wie erwartet.
Der Dritte wird leider nicht geschaltet- Ich vermute es liegt am unterschiedlichen Pfad Topic.Was wäre hier der richtige Weg um verschiedene Topic Pfade darzustellen?
Vielen Dank schonmal vorab!
void callback(char* topic, byte* payload, unsigned int length) { payload[length] = '\0'; String strTopic = String(topic); String strPayload = String((char * ) payload); // ------------ AUSGÄNGE STEUERN ----------------- if (strTopic == "Garage/Gebäude/Außensteckdose") { if (strPayload == "off" || strPayload == "0" || strPayload == "false") digitalWrite(Pin1, LOW); if (strPayload == "on" || strPayload == "1" || strPayload == "true") digitalWrite(Pin1, HIGH); } if (strTopic == "Garage/Gebäude/Außenbeleuchtung") { if (strPayload == "off" || strPayload == "0" || strPayload == "false") digitalWrite(Pin2, LOW); if (strPayload == "on" || strPayload == "1" || strPayload == "true") digitalWrite(Pin2, HIGH); } if (strTopic == "Garage/Tor/Befehl") { if (strPayload == "off" || strPayload == "0" || strPayload == "false") digitalWrite(Pin3, LOW); if (strPayload == "on" || strPayload == "1" || strPayload == "true") digitalWrite(Pin3, HIGH); } } -
Hallo zusammen,
nutze eine Arduino der per MQTT mit meinem ioBroker spricht.
Kann mir hier jemand unter die Arme greifen?Die ersten beiden Pins (1 und 2) arbeiten wie erwartet.
Der Dritte wird leider nicht geschaltet- Ich vermute es liegt am unterschiedlichen Pfad Topic.Was wäre hier der richtige Weg um verschiedene Topic Pfade darzustellen?
Vielen Dank schonmal vorab!
void callback(char* topic, byte* payload, unsigned int length) { payload[length] = '\0'; String strTopic = String(topic); String strPayload = String((char * ) payload); // ------------ AUSGÄNGE STEUERN ----------------- if (strTopic == "Garage/Gebäude/Außensteckdose") { if (strPayload == "off" || strPayload == "0" || strPayload == "false") digitalWrite(Pin1, LOW); if (strPayload == "on" || strPayload == "1" || strPayload == "true") digitalWrite(Pin1, HIGH); } if (strTopic == "Garage/Gebäude/Außenbeleuchtung") { if (strPayload == "off" || strPayload == "0" || strPayload == "false") digitalWrite(Pin2, LOW); if (strPayload == "on" || strPayload == "1" || strPayload == "true") digitalWrite(Pin2, HIGH); } if (strTopic == "Garage/Tor/Befehl") { if (strPayload == "off" || strPayload == "0" || strPayload == "false") digitalWrite(Pin3, LOW); if (strPayload == "on" || strPayload == "1" || strPayload == "true") digitalWrite(Pin3, HIGH); } } -
@MCU Die Werte kommen von vis also meiner Visualisierung
Außensteckdose und -beleuchtung funktionieren ja ordnungsgemaß.
Problem stellt "Befehl" dar. Habe da ein kleines Script hinterlegt, was eine Flanke umsetzt und gleichermaßen auch unter mqtt Garage/Tor/Befehl von 0 auf 1 wechselt. Soweit auch alles gut und funktionsfähig.
Allerdings passiert beim Arduino am entsprechenden Pin, welcher als Ausgang fungiert, nichts...
Ich vermute der Fehler wird im Arduino SKetch liegen... deswegen hatte ich im ersten Post auch den Auszug des Codes angehangen.
-
@MCU Die Werte kommen von vis also meiner Visualisierung
Außensteckdose und -beleuchtung funktionieren ja ordnungsgemaß.
Problem stellt "Befehl" dar. Habe da ein kleines Script hinterlegt, was eine Flanke umsetzt und gleichermaßen auch unter mqtt Garage/Tor/Befehl von 0 auf 1 wechselt. Soweit auch alles gut und funktionsfähig.
Allerdings passiert beim Arduino am entsprechenden Pin, welcher als Ausgang fungiert, nichts...
Ich vermute der Fehler wird im Arduino SKetch liegen... deswegen hatte ich im ersten Post auch den Auszug des Codes angehangen.
@wye Welche Überschrift zu dem Punkt web.0/admin oder javascript.0/admin steht denn bei Dir? Und die MQTT-Einstellungen fehlen noch.
strTopic == "Garage/Tor/Befehl" ist korrekt. Und strPayload == "0" auch. Genau wie bei den anderen.
Das Problem muss darin liegen, dass der Tpoic nicht übertragen bzw verteilt wird. -
@wye Welche Überschrift zu dem Punkt web.0/admin oder javascript.0/admin steht denn bei Dir? Und die MQTT-Einstellungen fehlen noch.
strTopic == "Garage/Tor/Befehl" ist korrekt. Und strPayload == "0" auch. Genau wie bei den anderen.
Das Problem muss darin liegen, dass der Tpoic nicht übertragen bzw verteilt wird. -
@wye Welche Überschrift zu dem Punkt web.0/admin oder javascript.0/admin steht denn bei Dir? Und die MQTT-Einstellungen fehlen noch.
strTopic == "Garage/Tor/Befehl" ist korrekt. Und strPayload == "0" auch. Genau wie bei den anderen.
Das Problem muss darin liegen, dass der Tpoic nicht übertragen bzw verteilt wird. -
Wie gesagt vermute auch dass es am Topic liegt. bzw zwei verschiedene aus welchem Grund auch immer mit dem geposteten Code von mir nicht funktioniert.
-
@wye Dann setz doch eine Ausgabe bzw log-Funktion ins Callback und lass alle strTopics die ankommen ausgeben. So kannst du erkennen, ob strTopic=="Garage/Tor/Befehl" überhaupt ankommt!
-
Das habe ich bereits ausprobiert.
Und Garage/Tor/Befehl kommt nicht an.Wie bereits geschrieben Garage/Gebäude/Außensteckdose und Außenbeleuchtung allerdings schon...
-
@wye Ja also dann liegt das Problem doch beim Versenden vom MQTT-Server. (mqtt.0) Hast du das mit den Zuständen mal probiert?
-
Geh mal in die andere Ansicht:

Welche Werte(Bestätigt) stehen dann bei dem Garage/Tor/Befehl-Objekt?

-
Melde mich wieder... kann gerade leider nicht weiter testen.
Aber trotzdem schonmal vielen vielen Dank für deine Bemühungen.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden







