Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
MQTT API Server und MQTT Clients - LBS19001051 - LBS19001054
Würde mosquitto nehmen. Kannaauf dem iobroker installiert sein. Wenn in node-red allerdings connected steht muss eigentlich ein Broker vorhanden sein
Jean-Luc Picard: "Things are only impossible until they are not."
so bin ein stück weiter.. hab MQTT Broker von IO Broker aktiviert und siehe da jetzt gehts auf connectet. Aber von Zeit zu Zeit gehen die kurz auf disconnectet (rot) und wieder auf connected. Wieso den mosquitto? ist der besser als der bordeigene MQTT broker? wie kann ich den auf dem IO broker installieren? Mein IO broker läuft auf einem Raspberry 3...
Ich versuche gerade die Verbindung zwischen EDOMI (Testsystem in einer VM) und mosquitto hinzubekommen und scheitere bei der Installation der LBSe (erst einmal 19001054 und 19001051):
Im Download sind install-scripte, die mit Fehlermeldungen abbrechen. Deshalb habe ich versucht Zeile für Zeile aus der LBS-Hilfe abzuarbeiten (also per PuTTY mit EDOMI verbinden und dann per copy & paste aus der LBS-Hilfe. Schon bei der dritten Zeile (git clone ...) kommt es zu Fehlern:
Code:
[root@EDOMI-VM ~]# yum -y install php-process git gcc make mysql-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.uni-bayreuth.de
* extras: centos.mirror.iphh.net
* updates: mirror.fra10.de.leaseweb.net
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
Setting up Install Process
Package php-process-5.3.3-49.el6.x86_64 already installed and latest version
Package git-1.7.1-9.el6_9.x86_64 already installed and latest version
Package gcc-4.4.7-23.el6.x86_64 already installed and latest version
Package 1:make-3.81-23.el6.x86_64 already installed and latest version
Package mysql-devel-5.1.73-8.el6_8.x86_64 already installed and latest version
Nothing to do
[root@EDOMI-VM ~]# cd /tmp
[root@EDOMI-VM tmp]# git clone https://github.com/jonofe/lib_mysqludf_sys
Initialized empty Git repository in /tmp/lib_mysqludf_sys/.git/
error: while accessing https://github.com/jonofe/lib_mysqludf_sys/info/refs
fatal: HTTP request failed
[root@EDOMI-VM tmp]#
... also auf github.com/jonofe/ nachgesehen und bei den Repositories kein "lib_mysqludf_sys" gefunden. Es existeirt aber ein "lib_mysqludf_sys_edomi".
Der Versuch damit führt zu gleicher Fehlermeldung:
Hallo in die Runde,
ich hätte da noch mal eine Frage bzw. ein Problem.
Vorabinfo:
Ich sollte ja nach Möglichkeit nur einen MQTT Subscribe Client am laufen haben.
Leider möchte ich aber einige mehr Adapter von ioBroker abfragen
(z.b. mqtt.0.*,mihome.0,ble.0.*,cloud.0,sonoff.0.*,tr-064.0.*,harmony.0, usw).
Nun habe ich zwar im jeweiligen Client (sind also doch noch einige am Laufen) den E7 (Regexp Filter) für den entsprechenden Adapter gefiltert, aber in Edomi werden die Logiken entsprechend langsam abgearbeitet (der Logic Quened geht bis über 20000 hoch und wird erst langsam abgearbeitet).
Nun dachte ich mir, hmmmmm Du legst nur einen Client an und schreibst in E9 (Subscribe) einfach
mal eine # rein (E7, Regexp Filter, weiter schön befüllt).
Nun dann kommt auch alles schön von ioBroker, aber die Werte sind nicht mehr aktuell.
(man die Logdatei in ioBroker jagt eingie Werte durch)
Nun hatte ich auch mal das „parsen“ versuchen, das hat aber leider nicht geklappt.
Nun die eigentliche Frage:
Wie könnte ich den Eingang E9 „befüttern“ so dass nur die Adapter
(z.b. mqtt.0.*,mihome.0,ble.0.*,cloud.0,sonoff.0.*,tr-064.0.*,harmony.0, usw).
aus ioBroker entnommen werden die ich benötige?
Geht das überhaupt oder muss ich mich von der Idee: IoBorker soll die ioT Maschine werden
Verabschieden?
Eigentlich war das nicht so designed, aber ich habe mir den Code gerade nochmal angeschaut. Du musst einfach nacheinander die Werte auf E9 senden, d.h. zuerst mqtt.0.# (sind da wirklich Punkte "." in den Topics oder sind es "/"), dann mihome.0#, usw.
Wie viele topics sendet denn dein ioBroker, dass die logicQueue auf 20000 anwächst? Ich würde empfehlen das Filtern möglichst auf der Quellseite (iobroker) zu machen, zum anderen wäre die Frage, wie leistungsfähig beide Seiten sind (HW auf denen Edomi und iobroker laufen)? Und evtl. welchen Broker du einsetzt? Ich würde Mosquitto empfehlen und dort mal das Log anschauen, wie schnell Topics ankommen und wie schnell die abgeholt werden.
Hallo Andrè,
danke für die schnelle info!!
Also zu:
1) Also nacheinander die Werte an E7 übergeben.
z.B.: so?: LBS MQTT_01.jpg LBS MQTT_02.jpg
Nein zu (wirklich Punkte "." in den Topics oder sind es "/"), entschuldige,
das war ein schneller Auszug aus ioBroker (das ist eine Art Filter was er alles senden soll):
Taue mich dass gar nicht zu schreiben, aber 14 St. Client hatte ich am Laufen, wobei
Bei zwei Cliensts (Homematic und Fritzboxen) mehrere „Bauteile“ ausgewertet werden.
In ioBroker habe ich den MQTT Adpter am laufen. Über Mosquitto muss ich mal drüber nachdenken..
Die Hardware (also Edomi und ioBroker) geht „noch“ nicht in die Knie….
Aber halt das erste mal abarbeiten der Bausteine (nach einer Änderung in Edomi) dauert halt,
nach ca. 5 min ist alles auf 0 bis 20….
Das sind z.B. die Adapter die ich in ioBroker so "abfrühstücke":
LBS MQTT_04.jpg
Wie viele topics sendet denn dein ioBroker, dass die logicQueue auf 20000 anwächst?
Ufff müsste mal zählen, denke so 100 Werte kommen min. zusammen...
...DANKE und ich spiele mal weiter rummmmmmmmm...
Gruß Marcus
Nicht an E7, sondern an E9. und nur einmal, nicht alle drei Sekunden. Der Subscribe Client läuft als Daemon, d.h. einmal subscribed bekommst du die Daten bis du den LBS oder EDOMI stoppst. Du könntest z.B. mit dem EDOMI Start System iKO (glaube ID 2) eine Sequenz starten, die deine Subscribe Strings nacheinander *EINMALIG* auf E9 sendet. Dazu dann noch geeignete Filter an E7.
Jooo.. meine E9, schreibfehler von mir!!
Jupps, mal umgesetzt (wäre ich mal wieder nicht drauf gekommen!!! DANKE DIR!!!) LBS MQTT_05.jpg
LBS MQTT_06.jpg
Werde mal weiter "basteln" um zu sehne was passiert wenn noch mehr EInträge drin sind!!!
Vorab erstam lwie immer: TOLL! und DANKE DIR!!
Gruß Marcus
Ich würde als erstes jetzt mal schauen, was iobroker da alles so rausballert. Wenn die Queue sich durch MQTT aufbaut, dann sendet iobroker im Durchschnitt ungefähr 8 (vermutlich noch mehr) Nachrichten pro Sekunde, damit du nach 24 Sekunden Laufzeit auf eine Queue von 11231 kommst. Für jede Nachricht werden in EDOMI mehrere LBS getriggert und für jeden LBS mehrere DB Zugriffe. Das ist effektiv too much. Ich würde in iobroker nicht alles blind per MQTT raushauen, sondern wirklich nur einzelne Werte, die wirklich in EDOMI gebraucht werden, sonst wird es vermutlich schwierig.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar