mqtt Überholt

Wie man einen Adapter entwickelt, oder wie man debuggen kann.
Antworten
Benutzeravatar
Bluefox
Site Admin
Beiträge: 8001
Registriert: 13.07.2014, 14:42
Kontaktdaten:

mqtt Überholt

Beitrag von Bluefox » 27.01.2016, 21:54

Hallo,
nach relativ langem Umschreiben (geplant 1 Tag, in Wirklichkeit 1 Woche) habe ich mqtt Adapter ziemlich verändert.
Ich habe auch die Tests erzeugt um Grundfunktionalität zu überprüfen. Die Tests hat noch kein anderer Adapter, aber ich werde langsam die ausbauen.

Falls jemand testen konnte, wäre super:

Code: Alles auswählen

cd /opt/iobroker
iobroker stop mqtt
npm install https://github.com/ioBroker/ioBroker.mqtt/tarball/master
iobroker start mqtt
Server (Broker) sollte jetzt auch besser funktionieren, d.h. es gibt eigentlich keine Notwendigkeit in Mosqitto und co.
Falls doch nicht geht bitte Issues schreiben.
http://iobroker.net:8000/projects/MQTT/ ... openissues

Ich will, dass Client und Broker einwandfrei funktionieren. Ich denke Ihr wollt auch dasselbe :)

Gruß,
Bluefox

Pman
professional
Beiträge: 708
Registriert: 01.05.2015, 15:22

Re: mqtt Überholt

Beitrag von Pman » 27.01.2016, 22:37

Super, das werde ich morgen mal testen!
Wird "last will" unterstützt?
http://www.hivemq.com/blog/mqtt-essenti ... -testament

Benutzeravatar
Bluefox
Site Admin
Beiträge: 8001
Registriert: 13.07.2014, 14:42
Kontaktdaten:

Re: mqtt Überholt

Beitrag von Bluefox » 28.01.2016, 19:21

Pman hat geschrieben:Super, das werde ich morgen mal testen!
Wird "last will" unterstützt?
http://www.hivemq.com/blog/mqtt-essenti ... -testament
Kannst du ein "Improvement" hier http://iobroker.net:8000/projects/MQTT/ ... openissues schreiben? Dann werde ich es nicht vergessen.

hometm
professional
Beiträge: 124
Registriert: 01.07.2015, 19:16

Re: mqtt Überholt

Beitrag von hometm » 29.01.2016, 11:03

Hallo,

ich habe den überholten mqtt-Adapter über nacht getestet. Ich verwende ioBroker als Server, und einen Arduino als Client.

Leider scheint es so, dass er heute Nacht um 4Uhr ioBroker zum Absturz brachte. Gegen 10:50Uhr habe ich den ioBroker-PC neu gestartet

Code: Alles auswählen

host-nuc	2016-01-29 10:52:33	info	iobroker.js-controller version 0.8.4 js-controller starting
mqtt-0	2016-01-29 04:11:42	info	Client [arduinoClient] connected
mqtt-0	2016-01-29 04:11:42	info	Client [arduinoClient] closed
Tobias

Pman
professional
Beiträge: 708
Registriert: 01.05.2015, 15:22

Re: mqtt Überholt

Beitrag von Pman » 29.01.2016, 16:23

Bei mir läuft soweit alles.

Anmerkungen:
Server
- LWT wird noch nicht unterstützt
http://www.hivemq.com/blog/mqtt-essenti ... -testament
http://iobroker.net:8000/projects/MQTT/issues/MQTT-2

- Es gibt nur alles retained (publish on subscribe) oder nichts retained
http://www.hivemq.com/blog/mqtt-essenti ... d-messages
Beispiel:
Bei einem Textcommand ist retained nicht sinnvoll, ein Client der später zu dem Server verbindet würde diesen dann bekommen, obwohl er nicht mehr aktuell ist.
Bei einem Schalterzustant ist retained sinnvoll, damit ein Client der später zu dem Server verbindet den aktuellen Zustand direkt bekommt und nicht erst bei der nächsten Änderung.

Client
- "Maske für Bekanntgeben eigene States" im Konfigurationsfenster wird bei vielen Datenpunkten sehr unübersichtlich, ich fände es sinnvoll wenn man die Publishes direkt bei den Dantenpunkten einstellen könnte, so wie bei History! Dort könnte man dann auch Retained-Flag (s.o.), "Publish nur bei Änderung" und "Sende auch Zustände" pro Datenpunkt festlegen. Zusätzlich könnte man den Datenpunkt auch subscriben beim Server.

- Bei "Subscribe patterns" wäre ein grid schön, wo man pro Zeile ein Pattern eintragen kann. Vielleicht in einem eigenen Tab.


Ich fände die Konfiguration (und vielleicht auch die Programmierung) einfacher, wenn Server und Client ganz getrennt wären, so dass man einen MQTT-Server laufen lassen kann, bei dem man keine Subscibes und Publishes definieren muss. Dafür kann man dann eine Client Instanz nutzen.

hometm
professional
Beiträge: 124
Registriert: 01.07.2015, 19:16

Re: mqtt Überholt

Beitrag von hometm » 02.02.2016, 09:03

Kurze Rückmeldung zu meinem ioBroker Absturz (vermutlich wegen der über arbeiteten Version von matt). Inzwischen läuft alles seit 3 Tagen ohne Fehler.

Werde es weiter beobachten

Tobias

Gesendet von meinem VT10416-2 mit Tapatalk

tom57
professional
Beiträge: 113
Registriert: 28.01.2016, 11:50
Wohnort: Aachen

Re: mqtt Überholt

Beitrag von tom57 » 08.02.2016, 00:59

Hallo Bluefox,

habe den neuen Adapter je als Server auf RasPI1 und als Client auf RasPI2 istalliert.
Werde das Langzeitverhalten beobachten und berichten.

Ich habe noch eine Frage: Wie kann ich alte - zu Testzwecken angelegte - retained messages aus Node-Red wieder löschen?

Viele Grüße
Thomas
Synology 716+II: iObrocker,mysql,vis,node-red,javascript,hm-rpc,hm-rega,samsung,fritzbox,telegram,simpleapi
Raspi2: piVCCU - Homematic
Raspi3: iObroker+mysql,vis,node-red,piface,owfs,javascript,vis
Raspi2: iObroker-GSM+hotspot+proxy,node-red,vis,telegram

enricoh831
professional
Beiträge: 115
Registriert: 11.06.2015, 21:29

Re: mqtt Überholt

Beitrag von enricoh831 » 08.02.2016, 10:20

Ich habe gestern meinen arduino Modbus rtu master mit mqtt an iobroker angekoppelt funktioniert in beiden richtigungen ohne Probleme wenn ich jetzt noch mal ein paar slaves Hardware massig fertig bekomme dann kann ich mal eine Woche durch laufen lassen und auf jedem slave per Zufall immer wechselnde schaltzustaende setzten. Am besten noch die refresh intervalle verkürzen (jetzt 1 sek).
Mal gucken ob es stabil läuft.

Ich Werde berichten kann aber ein paar Tage dauern

Gesendet von meinem LG-D802 mit Tapatalk

tom57
professional
Beiträge: 113
Registriert: 28.01.2016, 11:50
Wohnort: Aachen

Re: mqtt Überholt - Fehlermeldungen

Beitrag von tom57 » 08.02.2016, 12:29

Hallo,

ich erhalte folgende Warnungen im Admin-Log:

Code: Alles auswählen

mqtt.0	2016-02-08 12:22:10	warn	mqtt.0 Cannot resolve topic name for ID: web.0.connected (object not found)
mqtt.0	2016-02-08 12:21:46	warn	mqtt.0 Cannot resolve topic name for ID: web.0.connected (object not found)
in unregelmäßigen Abständen
Synology 716+II: iObrocker,mysql,vis,node-red,javascript,hm-rpc,hm-rega,samsung,fritzbox,telegram,simpleapi
Raspi2: piVCCU - Homematic
Raspi3: iObroker+mysql,vis,node-red,piface,owfs,javascript,vis
Raspi2: iObroker-GSM+hotspot+proxy,node-red,vis,telegram

Benutzeravatar
Bluefox
Site Admin
Beiträge: 8001
Registriert: 13.07.2014, 14:42
Kontaktdaten:

Re: mqtt Überholt - Fehlermeldungen

Beitrag von Bluefox » 10.02.2016, 18:06

tom57 hat geschrieben:Hallo,

ich erhalte folgende Warnungen im Admin-Log:

Code: Alles auswählen

mqtt.0	2016-02-08 12:22:10	warn	mqtt.0 Cannot resolve topic name for ID: web.0.connected (object not found)
mqtt.0	2016-02-08 12:21:46	warn	mqtt.0 Cannot resolve topic name for ID: web.0.connected (object not found)
in unregelmäßigen Abständen
Welche Adapter Version?

Ich habe neue Version jetzt offiziell 'gepublished'

tom57
professional
Beiträge: 113
Registriert: 28.01.2016, 11:50
Wohnort: Aachen

Re: mqtt Überholt

Beitrag von tom57 » 13.02.2016, 12:47

War die Version 0.4.1 - d.h. die aktuelle Version.
Allerdings hab ich aktuell MQTT aus beiden PI's runtergeschmissen und arbeite mit Multihost.
Alle meine Speicherprobleme sind damit verschwunden und zu meinem Erstaunen brauchen die js-controller jeweils deutlich weniger Speicher als vorher.

Wollte mit Datenübergabe über MQTT eigentlich errecihen, dass insbesondere die Heizungssteuerung komplett unabhängig vom 2. PI läuft.
D.h. 100% stabil auch bei Neustarts vom anderen PI. Das hat mit MQTT aber nicht funktioniert.
Multihost ist stabiler, aber es gibt nun leider doch Abhängigkeiten zwischen beiden PI's. (Nodered mit SQL ist solch eine Abhängigkeit)
Schade, dass ich Nodered nicht 2-mal installieren kann.
Synology 716+II: iObrocker,mysql,vis,node-red,javascript,hm-rpc,hm-rega,samsung,fritzbox,telegram,simpleapi
Raspi2: piVCCU - Homematic
Raspi3: iObroker+mysql,vis,node-red,piface,owfs,javascript,vis
Raspi2: iObroker-GSM+hotspot+proxy,node-red,vis,telegram

Benutzeravatar
Bluefox
Site Admin
Beiträge: 8001
Registriert: 13.07.2014, 14:42
Kontaktdaten:

Re: mqtt Überholt

Beitrag von Bluefox » 13.02.2016, 18:32

tom57 hat geschrieben: Schade, dass ich Nodered nicht 2-mal installieren kann.
sollte gehen. Hast du bei der Erzeugung vom Instanz richtigen Host ausgewählt?

Ab js-controller 0.8.3
https://github.com/ioBroker/ioBroker.js ... 2016-01-21

tom57
professional
Beiträge: 113
Registriert: 28.01.2016, 11:50
Wohnort: Aachen

Re: mqtt Überholt

Beitrag von tom57 » 13.02.2016, 18:57

Hallo Bluefox,

Wie installiere ich denn Nodered 2 Mal?

Im Admin-Menü wird nicht nach dem Host gefragt und ich bekomme die Meldung: ... siehe screenshot.
In der Shell auf rasp1 (dort ist die erste node-red Instanz installiert):

Code: Alles auswählen

root@rasp1:/opt/iobroker# iobroker add node-red --host rasp2
host.rasp1 error: this adapter does not allow multiple instances on one host
root@rasp1:/opt/iobroker#
Unter rasp2:

Code: Alles auswählen

root@rasp2:~# cd /opt/iobroker
root@rasp2:/opt/iobroker# iobroker add node-red --host rasp2
host.rasp2 Adapter "system.adapter.node-red.0" is stopped.
npm install iobroker.node-red --production --prefix "/opt/iobroker" (System call                                    )
npm WARN deprecated i18next-client@1.10.3: you can use npm install i18next from version 2.0.0
host.rasp2 Adapter "system.adapter.node-red.0" is started
.. dann hängt sich die bash auf :(
Aber wie Du siehst wird auch versucht den node-red Adapter unter Instanz 0 zu installieren und nicht 1.
Danach hängt sich der Multihost Master (Rasp1) auf. Ich kann den iobroker nicht mehr runterfahren und muss rebooten .. :(

Irgendeine Idee?
Dateianhänge
screen.JPG
Synology 716+II: iObrocker,mysql,vis,node-red,javascript,hm-rpc,hm-rega,samsung,fritzbox,telegram,simpleapi
Raspi2: piVCCU - Homematic
Raspi3: iObroker+mysql,vis,node-red,piface,owfs,javascript,vis
Raspi2: iObroker-GSM+hotspot+proxy,node-red,vis,telegram

Benutzeravatar
Bluefox
Site Admin
Beiträge: 8001
Registriert: 13.07.2014, 14:42
Kontaktdaten:

Re: mqtt Überholt

Beitrag von Bluefox » 13.02.2016, 19:13

tom57 hat geschrieben:Hallo Bluefox,

Wie installiere ich denn Nodered 2 Mal?

Im Admin-Menü wird nicht nach dem Host gefragt und ich bekomme die Meldung: ... siehe screenshot.
In der Shell auf rasp1 (dort ist die erste node-red Instanz installiert):
Du kannst vor dem "+" drucken erst Host auswählen:
Dateianhänge
2016-02-13 19_13_05-ioBroker.admin.png

tom57
professional
Beiträge: 113
Registriert: 28.01.2016, 11:50
Wohnort: Aachen

Re: mqtt Überholt

Beitrag von tom57 » 13.02.2016, 19:57

... was gelernt :)

funktioniert bei node-red aber leider auch nicht.
Anzeige im Adminfenster - siehe screenshot.

Es bleibt auf rasp2 ein Prozess mit 25% CPU-Nutzung hängen - siehe screenshot.
Die node-red spezifischen Ordnerstrukturen (zb. unter node_modules) werden nicht angelegt.

Schade .... :( :( :(
Dateianhänge
screen.JPG
screen.JPG
Synology 716+II: iObrocker,mysql,vis,node-red,javascript,hm-rpc,hm-rega,samsung,fritzbox,telegram,simpleapi
Raspi2: piVCCU - Homematic
Raspi3: iObroker+mysql,vis,node-red,piface,owfs,javascript,vis
Raspi2: iObroker-GSM+hotspot+proxy,node-red,vis,telegram

Benutzeravatar
Bluefox
Site Admin
Beiträge: 8001
Registriert: 13.07.2014, 14:42
Kontaktdaten:

Re: mqtt Überholt

Beitrag von Bluefox » 13.02.2016, 20:22

Muss ich schauen... :?

hometm
professional
Beiträge: 124
Registriert: 01.07.2015, 19:16

Re: mqtt Überholt

Beitrag von hometm » 19.02.2016, 10:57

Habe soeben (versehendlich) meine mqtt.0 Instanz (V0.4.1) gelöscht.

Daraufhin habe ich die Instanz neu angelegt. Das Anlegen der Instanz hat funktioniert. Es wurden jedoch nciht die Instanz-Objekte mqtt.0.* angelegt.
Ohne Titel.png
Ohne Titel.png (37.12 KiB) 2176 mal betrachtet
Ist dies ein Fehler im Adapter, oder ging bei der Instanziierung daneben?

Tobias

noxx
professional
Beiträge: 308
Registriert: 16.06.2017, 19:45

Re: mqtt Überholt

Beitrag von noxx » 04.07.2017, 15:35

Hallo

was bedeuten diesen ganzen "Fehler" ?

Code: Alles auswählen

mqtt.0	2017-07-04 16:33:12.716	warn	Cannot resolve topic name for ID: undefined (object not found)
mqtt.0	2017-07-04 16:33:04.836	warn	Cannot resolve topic name for ID: null (object not found)
mqtt.0	2017-07-04 15:06:44.860	warn	Cannot resolve topic name for ID: undefined (object not found)
mqtt.0	2017-07-04 15:06:43.706	warn	Cannot resolve topic name for ID: undefined (object not found)
mqtt.0	2017-07-04 15:06:34.663	warn	Cannot resolve topic name for ID: null (object not found)
mqtt.0	2017-07-04 15:05:41.290	warn	Cannot resolve topic name for ID: web.0.connected (object not found)
mqtt.0	2017-07-04 15:05:41.252	warn	Cannot resolve topic name for ID: undefined (object not found)
mqtt.0	2017-07-04 15:05:33.586	warn	Cannot resolve topic name for ID: null (object not found)
mqtt.0	2017-07-04 15:03:20.643	warn	Cannot resolve topic name for ID: web.0.connected (object not found)
mqtt.0	2017-07-04 15:03:20.641	warn	Cannot resolve topic name for ID: web.0.connected (object not found)
mqtt.0	2017-07-04 15:03:20.639	warn	Cannot resolve topic name for ID: web.0.connected (object not found)
mqtt.0	2017-07-04 15:03:18.741	warn	Cannot resolve topic name for ID: web.0.connected (object not found)
mqtt.0	2017-07-04 15:03:18.738	warn	Cannot resolve topic name for ID: web.0.connected (object not found)
mqtt.0	2017-07-04 15:03:18.735	warn	Cannot resolve topic name for ID: web.0.connected (object not found)
mqtt.0	2017-07-04 15:03:13.988	warn	Cannot resolve topic name for ID: undefined (object not found)
mqtt.0	2017-07-04 15:02:50.346	warn	Cannot resolve topic name for ID: null (object not found)
mqtt.0	2017-07-04 14:59:27.600	warn	Cannot resolve topic name for ID: web.0.connected (object not found)

mikiline
professional
Beiträge: 234
Registriert: 09.05.2017, 12:57

Re: mqtt Überholt

Beitrag von mikiline » 15.05.2018, 05:56

auch nochmals nachgefragt...... wie bekomm ich das aus dem Log raus?

Benutze den MQTT nur für meinen Sonoff......
Dateianhänge
mqtt.PNG

mikiline
professional
Beiträge: 234
Registriert: 09.05.2017, 12:57

Re: mqtt Überholt

Beitrag von mikiline » 18.05.2018, 09:07

sorry für den PUSH aber ich hab das Zeug als warn im Log und das nervt.
Wieso kommen diese überhaput? Kann ich das abstellen (ohne den Adapter zu deaktivieren :P)

Antworten