NEWS
Beca Thermostate einbinden (Firmware-Mod)
-
Habe noch ein bisschen herumprobiert und auch ioBroker neu gestartet, aber ich komme da nicht weiter.
Auch wenn man direkt ins Feld eine Zahl schreibt, bleibt die zwar drin stehen, wird aber nicht an das Thermostat weitergeleitet.
Es kann doch nicht sein, dass wenn ich das gleiche Feld mit einer externen Software (MQTT.fx) mit einer Zahl befülle, dass es dann funktioniert und die Daten ans Thermostat weitergeleitet werden und wenn ich innerhalb vom ioBroker das gleiche Feld mit einer Zahl befülle (direkt reinschreibe oder per Alexa-Befehl), dass es dann nicht funktioniert???
Wo ist da der Unterschied?
Kann man das irgendwie anders machen oder umgehen, oder...?`Übrigens, am Ende der Einstellungszeile hat man ja noch ein Schraubenschlüsselsymbol:
Von dort aus kommt man z.B. in die MQTT-Client Einstellungen.
Dort ist aber bei mir nichts aktiviert oder eingetragen.
Muss da was rein? Weil ich hatte dort mal auf aktiv und auch bei publish auf aktiv umgestellt, doch leider hat es auch keinen Erfolg gehabt.Irgendwie muss es doch da eine Lösung geben, wie habt ihr das bei Euch gemacht?
-
@th16 ,
mit einem MQTT-Client funktioniert das nicht, du brauchst ein MQTT-Server. -
@th16 Das ist ein alter Adapter, den Du verwendest - man sollte ihn mE entfernen, da man mit dem anderen Adapter sowohl einen CLient als auch einen Broker zur Verfügung hat. Nimm den mqtt Adapter, der als Client und als Broker eingerichtet werden kann.
Als Broker kann ich ihn Dir zwar nicht uneingeschränkt empfehlen, da der einen BUG mit dem ACK Flag hat, deswegen empfehle ich den MQTT Adapter als CLient zu konfigurieren und dann noch mosquitto zusätzlich, aber Du kannst ja der Einfachheit halber erst mal den MQTT Adapter als Broker konfigurieren.
Allerdings gibt es wie gesagt ein Problem mit dem Broker mit dem ACK Flag, deswegen verwende ich nur noch mosquitto als Broker.
-
-
@th16 Wie gesagt - lösche am Besten den Client. Wenn Du dann keinen externen Broker hast, brauchst Du den MQTT-Broker/Client nur mit einer Instanz als Broker definieren, mehr brauchst Du nicht. Am Besten löscht Du nicht nur die Instanz des MQTT-Client Adapters sondern den ganzen Adapter.
Dein Tasmota Gerät publiziert dann alle Datenpunkte automatisch in den Broker.
-
@th16 sagte in Beca Thermostate einbinden (Firmware-Mod):
Es kann doch nicht sein, dass wenn ich das gleiche Feld mit einer externen Software (MQTT.fx) mit einer Zahl befülle, dass es dann funktioniert und die Daten ans Thermostat weitergeleitet werden und wenn ich innerhalb vom ioBroker das gleiche Feld mit einer Zahl befülle (direkt reinschreibe oder per Alexa-Befehl), dass es dann nicht funktioniert???
Das kann leider sehr wohl sein, wenn dieser Bug mit dem ACK Dir dazwischen funkt. Im Log sieht man dann immer dass irgendeine message nach 11 retries gelöscht wurde. Müsstest mal darauf achten, ob Du auch sowas im LOG hattest, dann ist das genau der Bug von dem ich sprach und der mich Wochen zerraufte Haare gekostet hat, warum ich dann auf mosquitto als Broker umgestiegen bin und das bislang nicht bereut habe, da ich mit dem mqtt-Adapter als Client volle Verfügbarkeit habe.
-
@mickym,
welcher Bug soll das sein, ich arbeite schon seit Jahren mit diesem Adapter ohne Probleme und diese Meldungen habe ich auch nicht. -
@wal sagte in Beca Thermostate einbinden (Firmware-Mod):
@mickym,
welcher Bug soll das sein, ich arbeite schon seit Jahren mit diesem Adapter ohne Probleme und diese Meldungen habe ich auch nicht.Also ich werde es nicht mehr testen, da inzwischen mir die Stabilität meines Systems nicht mehr aufs Spiel setze.
Zumindest wenn Du den Haken raus machst, dass er Zustände schicken soll - und als Broker sollte er gar nichts schicken, aber auch Änderungen akzeptieren, was er aber nicht gemacht hat, dann bekommst Du das Fehlerbild wie hier beschrieben.
Ich hab mich damals als ich meine ersten NodeRed Flows gemacht habe, immer gewundert warum ich in einen Datenpunkt nicht schreiben konnte bzw. ich konnte, aber der Wert wurde dann nach 1-2 Minuten wieder zurückgesetzt mit den Fehlermeldungen im Log die in dem Thread stehen, dass nach sovielen retries die Message gelöscht wurde. Bei mosquitto gabs 0 Probleme. Seit dem nutze ich den Adapter ja auch, aber nicht mehr als Broker.
Wenn ich den Haken gesetzt habe, dass auch Zustände gesendet werden - gings - aber das durfte nicht sein, das hat mir dann an anderen Stellen Endlosschleifen erzeugt. Sei es wie es sei, wenn Du zufrieden bist, ist ja alles gut. Ich mache ja nur darauf aufmerksam, dass es eine mögliche Fehlerquelle sein kann.
-
Also die 2 MQTT-Client-Adapter (Instanzen 0 und 1) hab ich gelöscht und zur Sicherheit den ioBroker neu gestartet.
Habe auch gleich ausprobiert ob sich eine positive Änderung bei der Target-Temp-Einstellung ergeben hat. - leider nein.
Das Log spuckt ebenfalls (noch) nichts aus was auf den von Dir beschriebenen Fehler hindeuten könnte.
Werde ich weiter beobachten...Hier sind meine Broker-Einstellungen - vielleicht liegt hier ja ein Fehler vor?
Und wie komme ich an den "mosquitto-Adapter"?
Wenn ich den im Adapter-Filter eingebe, er halte ich keine Ergebnisse.
Habe nun schon zum 2. Mal die ganze Adapter abgesucht, kein mosquitto zu finden...??? -
@mickym ,
ok bei mir soll er Zustände schicken wenn sich der Client verbindet, damit der Client richtig eingestellt ist und deshalb habe ich den Haken drin. Das Fehlerbild das unter dem Link beschrieben ist, hatte ich am Anfang mal, als ich noch kein Filter gesetzt und der Server alle möglichen Objekte vom ioBroker über MQTT gesendet hatte so das im ioBroker sogar Neustarts ausgeführt wurden. -
@th16 ,
bitte gleich einen Filter setzen mqtt.0.*
Mosquitto ist ein eigener Server und hat nicht mit ioBroker zu tun. -
@wal Das Problem ist, dass wenn der Haken nicht gesetzt ist, dass man dann einzelne Datenpunkte nicht mehr ohne ACK Flag beschreiben darf und das ist ein absolutes NoGo.
-
@th16 Wie @Wal sagte, mach bitte sofort den Filter rein und hake alles ab in dem Adapter. In Deinem Fall ist der Filter aber mqtt1.*
Wenn es dann nicht geht - dann kannst ggf. noch Bekanntgeben bei Subscribe oder diesen unseligen Haken bei Sende auch Zustände machen. Alles andere bitte ausmachen.
Mosquitto ist ein eigener Broker den ich zwar auf der gleichen Maschine betreibe und der sehr stabil läuft und den ich mit dem mqtt Adapter als Client betreibe.
Im Prinzip siehst Du das aber von aussen nicht, ob dann der Adapter als Client oder Broker betrieben wird.
Du siehst neben Tasmota sind Shellies, owntracks oder sogar Kommunikation mit meinem FHEM Server über MQTT in diesem Teil.
-
@th16 ,
wenn du die Clients gelöscht hast und dein Server unter mqtt.1 läuft, was läuft dann unter mqtt.0 ? -
Im Moment nichts. Den MQTT.0 hatte ich bisher immer um Verschiedenes auszuprobieren.
Denn MQTT.1 hatte ich eigentlich nur für die ganzen Thermostate reserviert. -
@th16 ,
ich Frage nur wenn 2 Server auf dem gleichen Port laufen gibt es auch Probleme. -
Nein, haben beide unterschiedliche Ports.
Habe den MQTT.0 auch vorhin zur Sicherheit deaktiviert. -
@th16 ,
da bin ich mit meinem Latein erst mal am Ende, ich wäre erst mal raus.
Ich habe bei all meinen Beca Thermostaten Tasmota drauf und nutze den Sonoff-Adapter, deshalb kann ich nichts nachvollziehen. Den MQTT-Adapter nutze ich nur bei Hardware ohne Tasmota wie bei meiner Türsprechstelle das Piface. -
@mickym said in Beca Thermostate einbinden (Firmware-Mod):
@wal sagte in Beca Thermostate einbinden (Firmware-Mod):
@mickym,
welcher Bug soll das sein, ich arbeite schon seit Jahren mit diesem Adapter ohne Probleme und diese Meldungen habe ich auch nicht.Also ich werde es nicht mehr testen, da inzwischen mir die Stabilität meines Systems nicht mehr aufs Spiel setze.
Zumindest wenn Du den Haken raus machst, dass er Zustände schicken soll - und als Broker sollte er gar nichts schicken, aber auch Änderungen akzeptieren, was er aber nicht gemacht hat, dann bekommst Du das Fehlerbild wie hier beschrieben.
Ich hab mich damals als ich meine ersten NodeRed Flows gemacht habe, immer gewundert warum ich in einen Datenpunkt nicht schreiben konnte bzw. ich konnte, aber der Wert wurde dann nach 1-2 Minuten wieder zurückgesetzt mit den Fehlermeldungen im Log die in dem Thread stehen, dass nach sovielen retries die Message gelöscht wurde. Bei mosquitto gabs 0 Probleme. Seit dem nutze ich den Adapter ja auch, aber nicht mehr als Broker.
Wenn ich den Haken gesetzt habe, dass auch Zustände gesendet werden - gings - aber das durfte nicht sein, das hat mir dann an anderen Stellen Endlosschleifen erzeugt. Sei es wie es sei, wenn Du zufrieden bist, ist ja alles gut. Ich mache ja nur darauf aufmerksam, dass es eine mögliche Fehlerquelle sein kann.
Das Phänomen mit den Endlosschleifen bei Anhaken von "Send states" kenne ich auch - da bin ich ja froh, dass ich nicht der Einzige bin, den das Nerven gekostet hat.
Ich habe das Problem allerdings gewissermaßen immer noch und habe das umgangen, indem ich zwei Instanzen als Client laufen lasse - eine die nichts abonniert, und diverse publish Filter gesetzt hat (damit ich auch Daten aus anderen Quellen als MQTT per MQTT zur Verfügung stellen kann), und eine Instanz, die ganz normal alles abonniert un den Haken bei "Send states" nicht hat.
Falls mir jemand sagen kann wie ich das auf eine Instanz zusammenstreichen kann, ohne in die Endlosschleifen zu laufen - gerne! (Ich verwende als Broker Mosquitto)
-