Seite 1 von 1

Statusanzeige Switchbutton geht nicht

Verfasst: 13. Nov 2017 01:09
von Johnnyb.good
Hallo

Ich habe ein Problem mit der Statusanzeige des Switchbutton... der Button ändert seine Farbe nicht.

Ausstattung:
Ich verwende einen RaspberryPi3 mit openhab 2.1.0 und dem mqtt-broker mosquitto. Geschalten werden soll ein Wemos D1 mini (ESP 8266).

Bis jetzt funktioniert es, einen Ausgang Ein- bzw Auszuschalten mit Openhab2(Basic UI).
Am Ausgang des Wemos ist ein Relais angeschlossen, das ein Licht Ein- bzw Ausschaltet.

Aufbau:

Sitemap:

sitemap default label = "My first sitemap"
{
Switch item=office_panel
}

Items:
Switch office_panel "Panel" {mqtt=">[MQTT:/panel/command:command:ON:1],>[MQTT:/panel/command:command:OFF:0]"}

Wenn ich es so lasse funktioniert das Schalten selbst und der Statuswechsel am Button. Sobald das Licht angeht, wird der Button grün, und sobald das Licht ausgeht wird der Button rot.

Das Problem hierbei ist aber, das der Statuswechsel auch stattfindet, selbst wenn der Wemos offline ist ( z.B ohne spannungversorgung).
Anscheinend frag die Openhab Software hier nur ab, ob der Schaltbefehl am mqtt-broker angekommen ist...

Deshalb möchte ich das die Openhab-Software den Wemos direkt abfragt. Dazu habe ich den Wemos so programmiert das er jedes mal beim umsschalten ein topic-update an den mqtt-broker schickt (also "ON" bzw "OFF") Und dieses topic möchte ich mit openhab abfragen...

Das sieht dann so aus:

item:
Switch office_panel "Panel" {mqtt=">[MQTT:/panel/command:command:ON:1],>[MQTT:/panel/command:command:OFF:0],<[MQTT:/panel/state:state:default]", autoupdate = "false"}

Das funktioniert aber leider nicht. Damit bleibt der Button immer rot.
Wenn ich das Autoupdate = "false" lösche erscheint der Swicht-Button im Firefox dauerhaft rot und im Internet-Explorer dauerhaft grün :(

Mit dem tool "mqttfx" kann ich mit dem "Topics Collector" die topics des mqtt-brokers überwachen.
Dort kommt der Einschaltbefehl unter dem topic : "openhab/out/office_panel/command" ,
und die Rückmeldung für den Buttonstatus unter: "openhab/out/office_panel/state"

Wieso ist das so, obwohl ich doch bei den items reingeschrieben habe, das er den Befehl unter /panel/command senden bzw die Rückmeldung unter /panel/state abfragen soll?

Kann mir jemand helfen das Problem zu lösen? Ich sitze seit Stunden dran und komme nicht weiter :(
Es wäre echt super wenn mir da jmd einen tipp geben könnte.


Vielen Dank im Vorraus.

Re: Statusanzeige Switchbutton geht nicht

Verfasst: 13. Nov 2017 08:28
von seppy
Hi,
ich kenne mich mit MQTT leider nicht aus, aber wenn das Icon des Switch "office_panel" nicht die Farbe ändert, würde ich sagen der State wird nicht gesetzt. Hast Du Dir diesen angeschaut? autoupdate=false wird der Status nach dem Senden des Commands nicht gesetzt, also eine Art Taster simuliert.

Grüße,
Seppy

Re: Statusanzeige Switchbutton geht nicht

Verfasst: 19. Nov 2017 00:22
von Johnnyb.good
Hallo Seppy,

Danke für deine Antwort.

Eigentlich sollte dieser Befehl den Status updaten... <[MQTT:/panel/state:state:default]"
Ist mir ein Rätsel warum er das nicht macht...