LoxBerry MQTT

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11217

    Kannst du mal mit putty anmelden und:
    sudo apt-get install mosquitto

    Funktioniert das?
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar


    • Christian Fenzl
      Christian Fenzl kommentierte
      Kommentar bearbeiten
      Was hast du - sei ehrlich - selbst ruminstalliert? 😅

    • Christian Fenzl
      Christian Fenzl kommentierte
      Kommentar bearbeiten
      Mach mal
      sudo apt-get update
      Und schick die gesamte Ausgabe (zb in einem Textfile anhängen)

    • Gast
      Gast kommentierte
      Kommentar bearbeiten
      nein das würde ich mir nicht anmaßen, ehrlich! da fehlt mir das knowhow
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11217

    MQTT Gateway Version 1.1.2 PRE-RELEASE
    • New: Disable the forwarding of specified data to the Miniserver in the Incoming Overview (save Miniserver resources)
    • Fixed: Miniserver data redirection (pipe in subscriptions) did not work for specific subscriptions

    https://github.com/christianTF/LoxBe...hive/1.1.2.zip oder per Plugin-AutoUpdate auf Prerelease.

    In der Incoming Overview, mit aktivierter "Advanced table information", kann jetzt selektiv ausgewählt werden, dass gewisse Daten nicht an den Miniserver übertragen werden. Das verringert die Belastung des Miniservers. Das Deaktivieren des Forwardings funktioniert auch mit Daten innerhalb einer JSON Payload. Ein Wert, bei dem die Weiterleitung deaktiviert wurde, wird in der Incoming Overview durchgestrichen dargestellt.
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image_29841.jpg
Ansichten: 834
Größe: 51,7 KB
ID: 263890

    Bitte nicht wundern, wenn beim Anklicken der Checkbox diese erst wieder deaktiviert, und nach 1-2 Sekunden wieder aktiviert wird. Das ist dem Verfahren geschuldet, wie die Settings gelesen werden, und ich habe auf der Roadmap, dies mal grundlegend zu überarbeiten.

    Die zweite Änderung betrifft die Korrektur der Datenumleitung mit der Pipe, die in diesem Thread gemeldet wurde (https://www.loxforum.com/forum/proje...076#post254076). Bei gewissen Konstellationen von Topic und Subscription hat die Umleitung nicht angeschlagen, das ist jetzt behoben.

    Viel Spaß mit dieser MQTT Gateway Revolution!
    Zuletzt geändert von Christian Fenzl; 04.09.2020, 11:08.
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar


    • thofu
      thofu kommentierte
      Kommentar bearbeiten
      Das "M" in MQTT steht jetzt aber nicht für Musik, oder?
  • Tico
    Lox Guru
    • 31.08.2016
    • 1035

    Christian Fenzl - Thankyou. v1.1.2 Prerelease appears to be working very well.

    Here is the Miniserver CPU use on the previous MQTT release -

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Miniserver CPU before.png
Ansichten: 603
Größe: 20,1 KB
ID: 264102

    Here is the CPU use on Prerelease v1.1.2 with 'Do not forward' for unused values -

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Miniserver CPU after.png
Ansichten: 577
Größe: 19,2 KB
ID: 264103


    I have altered the 'work-around' subscriptions back to normal /#. They all work fine.

    The only possible issue (I don't know whether it's even relevent) is an error in the installation log-file. I have attached for info.
    Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

    Kommentar


    • Christian Fenzl
      Christian Fenzl kommentierte
      Kommentar bearbeiten
      Thanks for the feedback!
      The yarn issue in the log is LoxBerry-specific and will be fixed in the next LoxBerry release.
  • Gast

    Hello! Sorry if I write English as I dont know German.
    The thing is that after updating the mqtt to 1.1.1 it stopped running my js scripts though backed up version 1.0.0 works flawlessly.
    I start this "node legacy/gree/ACOffice.js" (here is link to js) https://drive.google.com/file/d/1l_u...ew?usp=sharing
    and I get this

    "
    internal/modules/cjs/loader.js:775
    throw err;
    ^

    Error: Cannot find module 'mqtt'
    Require stack:
    - /opt/loxberry/legacy/gree/ACOffice.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:772:15)
    at Function.Module._load (internal/modules/cjs/loader.js:677:27)
    at Module.require (internal/modules/cjs/loader.js:830:19)
    at require (internal/modules/cjs/helpers.js:68:18)
    at Object.<anonymous> (/opt/loxberry/legacy/gree/ACOffice.js:4:14)
    at Module._compile (internal/modules/cjs/loader.js:936:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10)
    at Module.load (internal/modules/cjs/loader.js:790:32)
    at Function.Module._load (internal/modules/cjs/loader.js:703:12)
    at Function.Module.runMain (internal/modules/cjs/loader.js:999:10) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [ '/opt/loxberry/legacy/gree/ACOffice.js' ]"

    Please advice what can cause an issue?
    Thanks!

    Kommentar


    • Christian Fenzl
      Christian Fenzl kommentierte
      Kommentar bearbeiten
      It says, Cannot find module mqtt.
      This is an issue of your script that is missing the Node mqtt lib.
      The MQTT Gateway doesn't use Node.js.

      Anything else done on your system that uses Node.js?
  • Gast

    Thank you
    I have installed node mqtt and everything worked!
    Zuletzt geändert von Gast; 06.09.2020, 09:38.

    Kommentar

    • badmage
      Dumb Home'r
      • 22.01.2019
      • 22

      Hallo zusammen,

      ich schaffe es einfach nicht eine Verbindung zum mqtt Broker aufzubauen
      Ich versuche von node-red (auf Docker) aus eine Verbindung aufzubauen aber im Log des containers node-red steht:

      Code:
      10 Sep 06:50:29 - [info] [mqtt-broker:1454c065.6fed8] Connection failed to broker: mqtt://localhost:1883
      der mosqito läuft:

      Mosquitto running (PID9529)

      Ein Stoppen (systemctl stop mosquitto) und Starten (systemctl start mosquitto) über die Console bringt auch keine Fehler.

      Das Einzige, im Webinterface wird mir vom Mosquitto keine Log-Datei angezeigt - zuerst hat er gesagt nicht vorhanden und jetzt schmeißt er mir einen Fehler raus:

      Code:
      Cannot open file: Permission denied at /opt/loxberry/webfrontend/htmlauth/system/tools/logfile.cgi line 237.
      Depending of what you have done, report this error to the plugin developer or the LoxBerry-Core team.
      Further information you may find in the error logs.
      Die Rechte scheinen aber ok zu sein:

      Code:
      root@loxberry:/# ls -l /opt/loxberry/config/plugins/mqttgateway/
      total 28
      -rw-r--r-- 1 loxberry loxberry 179 Sep 10 08:38 cred.json
      -rw-r--r-- 1 loxberry loxberry 187 Sep 9 18:31 cred.json.bkp
      -rw-r--r-- 1 loxberry loxberry 0 Sep 10 08:38 mosq_passwd
      -rw-r--r-- 1 loxberry loxberry 70 Sep 10 08:38 mosq_psk
      -rw-r--r-- 1 loxberry loxberry 567 Sep 10 08:38 mosquitto.conf
      -rw-r--r-- 1 loxberry loxberry 352 Sep 10 08:38 mqtt.json
      -rw-r--r-- 1 loxberry loxberry 239 Sep 9 18:31 mqtt.json.bkp
      -rw-r--r-- 1 loxberry loxberry 216 Sep 9 18:31 mqtt.json.example
      root@loxberry:/#
      und auch der Status schaut gut aus:

      Code:
      root@loxberry:/# systemctl status mosquitto.service
      ● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker
      Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
      Active: active (running) since Thu 2020-09-10 08:57:03 CEST; 20s ago
      Docs: man:mosquitto.conf(5)
      man:mosquitto(8)
      Main PID: 13664 (mosquitto)
      Tasks: 1 (limit: 2200)
      Memory: 896.0K
      CGroup: /system.slice/mosquitto.service
        13664 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
      
      Sep 10 08:57:03 loxberry systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker...
      Sep 10 08:57:03 loxberry mosquitto[13664]: Loading config file /etc/mosquitto/conf.d/mqttgateway.conf
      Sep 10 08:57:03 loxberry systemd[1]: Started Mosquitto MQTT v3.1/v3.1.1 Broker.
      Wo kann ich anfangen zu suchen?

      Vielen Dank & viele Grüße
      Zuletzt geändert von badmage; 10.09.2020, 09:06.

      Kommentar

      • Christian Fenzl
        Lebende Foren Legende
        • 31.08.2015
        • 11217

        Gibst du die Anmeldedaten irgendwo mit?
        Hast du's Mal mit mqtt://loxberry:1883 versucht?
        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

        Kommentar

        • badmage
          Dumb Home'r
          • 22.01.2019
          • 22

          Hallo Christian,

          ich habe es so gut wie mit allem versucht mit loxberry noch nicht - leider auch ohne Erfolg.
          ich habe schon 127.0.01. - localhost und IP vom LB versucht im Log von dem Container Node-red steht aber immer (egal was ich versucht habe):

          Code:
          10 Sep 07:40:45 - [info] [mqtt-broker:1454c065.6fed8] Connection failed to broker: mqtt://localhost:1883
          also localhost.

          Ich habe mir MQTT.fx unter Windows instaliert, damit klappt zumindest die Connection:

          Code:
          1599723305: New connection from 192.23.56.48 on port 1883
          aber wenn ich dort eine Aktion schalte kommt davon nichts bei den incomming Overviews an ?!

          Achso - ja die Anmeldedaten gebe ich mit. User ist loxberry und ein "normales" Passwort mit 9 Zeichen (Groß-/Kleinschreibung und Zahlen)
          Hatte es auch versuchsweise ohne versucht - klappte auch nicht.

          Wie gesagt mit User und PW über die Windows Kiste und MQTT.fx klappt zumindest (augenscheinlich ?!) die Verbindung.

          Vielen Dank & viele Grüße
          Fabian
          Zuletzt geändert von badmage; 10.09.2020, 09:48.

          Kommentar

          • svethi
            Lebende Foren Legende
            • 25.08.2015
            • 6292

            Du schreibst da oben was von Docker. Wie sieht denn da Dein Aufbau genau aus? Ich meine Du solltest bei solchen Konstrukten dann schon wissen was Du tust. Ich gehe jetzt mal davon aus, dass Du nur Node-Red in einem Docker laufen hast. Den Loxberry hast Du wie laufen? Als richtigen Raspberry? Aber ja wohl zumindest nicht als Docker und schon gar nicht im selben Docker wie das Node-Red. Den MQTT Broker vom Node-Red aus über localhost zu erreichen, ist also schonmal völliger Quatsch. Du musst ja als Adresse die IP des Loxberry angeben. Oder wenn Du den MQTT Broker wieder wo anders laufen hast, dann die Adresse des Host, auf dem der MQTT auch läuft.
            Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

            Kommentar

            • badmage
              Dumb Home'r
              • 22.01.2019
              • 22

              Hallo svethi,

              also bei dem "ich sollte wissen was ich da tue" bin ich schon noch etwas weg - bezogen auf Docker, da bin ich ehrlich.
              Also um das zu erklären - ich habe loxberry auf nem Raspberry 3b laufen und habe dort Docker installiert, weil mir das als "einfachste Lösung" vorkam.
              In Docker habe ich dann ein Volume erzeugt und mir dann einen node-red container gebaut -> ich bin da nach dieser Anleitung vorgegangen [1]
              Im docker laufen im Moment portainer und NodeRed als Container.

              Also klar, ich benötige nicht zwingend Docker - wenn ich den NodeRed auch ohne dem ans Laufen bekomme würde mir das natürlich auch genügen (wenn es denn die Sache einfacher macht).

              Das mit dem localhost leuchtet ein - in dieser Konstellation. Aber warum scheitern dann auch die anderen Versuche über IP oder DNS mit loxberry?

              Ich habe eben noch diese Anleitung [2] aus dem Wiki gefunden - dort wird aber nicht loxberry als image verwendet - macht das einen Unterschied?


              Vielen Dank & viele Grüße
              Fabian

              [1] https://smarthome-training.com/de/no...-installieren/
              [2] https://www.loxwiki.eu/pages/viewpag...ageId=18219468
              Zuletzt geändert von badmage; 10.09.2020, 10:27.

              Kommentar


              • badmage
                badmage kommentierte
                Kommentar bearbeiten
                ich habe den WR auch direkt im MS angebunden, jedoch habe ich da noch etwas Schwierigkeiten die Werte korrekt zu ermitteln. Zum Anderen bietet so ein MQTT Broker auch Vorteile - ich wollte es mir einfach auch interessehalber einmal anschauen... Und als nächstes Thema steht noch eine Wallbox auf dem Programm und evtl. hilft mir da MQTT ebenfalls - aber soweit bin ich noch nicht. Ich dachte mir die Werte nicht nur im MS sonsern auch auf dem LB per MQTT zu haben wäre schon ne sinnvolle Sache

              • svethi
                svethi kommentierte
                Kommentar bearbeiten
                Um Dir einen kleinen Einblick zu geben: Docker ist auch einen Virtualisierung. In einem Docker Container läuft ein weiteres System. In den Standardeinstellungen wird für die Dockerumgebung ein eigenes Netzwerk aufgebaut und per NAT an das Grundsystem angebunden. Die hat zwar den Vorteil, dass nicht weitere IP-Adressen aus Deinem Netz verbraucht werden. Allerdings hast Du dann auch schon wieder mit Portweiterleitungen vom Grundsystem in den Docker Container zu tun, wenn Du z.B. Von Deinem Netz zu dem Docker gelangen willst. Du kannst aber auch dem Docker Container sagen, dass er das Netzwerk als Bridge verwenden soll. Dann bekommt der Container eine IP aus Deinem Netz. Das hat den Vorteil, dass Du netzwerktechnisch vollen Zugriff auf den Container hast. Allein an der Bereitstellung eines Netzwerkes für eine Container siehst Du, dass das mal so Eber einfach nicht ist und es viele Fallstricke gibt. Auf jeden Fall musst Du immer Wissen was Du da tust, damit Du dann auch weißt wie es weiter geht. Auf dem Loxberry ist schon NodeJS vorhanden. Node-Red verwendet NodeJS. Ob es da einfacher und schicker ist, dem Raspberry noch eine Virtualisierung für Node-Red aufzubürden, oder das Node-Red direkt laufen zu lassen, sei mal dahingestellt und die Entscheidung jedes Einzelnen.

              • badmage
                badmage kommentierte
                Kommentar bearbeiten
                ja ich verstehe Docker nun in dem Sinne von virtualbox z.B. - soweit so gut. Und Du hast natürlich Recht, das damit einige Fallstricke einhergehen. Und ja eigentlich brauche ich Docker nicht unebdingt, gibt es irgendwo ein TUT wie man Node-Red direkt auf dem LB installiert? Als Plugin oder so habe ich es noch nicht gefunden - Vielen Dank für Deine ausführlichen Erklärungen.
            • AlexAn
              Lebende Foren Legende
              • 25.08.2015
              • 4257

              badmage du könntest zusätzlich den Energiemanager von Fronius übernehmen aber der Rest geht einfacher über Modbus TCP
              https://www.loxwiki.eu/pages/viewpag...ageId=60556938
              Grüße Alex

              Kommentar


              • badmage
                badmage kommentierte
                Kommentar bearbeiten
                ja das sind die Ansätze die ich meine - habe den Energiemanager auch schon gefunden.
                Momentan lese ich den modbus des WR in FHEM nun auf dem LB per MQTT und direkt in dem MS aus (lol)
                Mein Ziel ist irgendwann mal ggf. auch in Anlehnung an dieser Anleitung [1] die WP und auch dann die Wallbox abhängig von der verfügbaren Energie vom Dach zu steuern - und evtl. noch zusätzlich die Waschmaschine
                Irgendwie hoffe ich ja, das ich die Wallbox so wie den Akku in dem Webinterface vom Fronius dargestellt "anschließen" kann. Sprich erstmal alle Verbraucher vom Haus (Grundlast/WaMa/WP) den Rest ins E-Auto bis voll, Rest ins Netz.
                Die Kür wäre noch wenn man den Strom den man in der Nacht benötigt vom angeschlossenem E-Auto abzwacken könnte
                Ich meine es sind in etwa nur 2,5-3kw die Nachts verbraucht werden, das stört das Auto denke ich nicht mal *SMILE*

                [1] https://www.loxwiki.eu/pages/viewpag...ageId=18219206
            • Clubsport
              MS Profi
              • 11.01.2018
              • 601

              Hi Christian,

              ich steh grad irgendwie auf dem Schlauch....
              Woher bezieht das MQTT-Gateway seine Benamung?

              Ich habe hier das Problem, dass ich einen Homematic-Rolladenaktor umgebaut hab - auf dem Mac im Homematic-Manager wird mir die Nr. OEQ1299276:1 auch brav mit "Kueche Rolladen" angezeigt.
              Nur das MQTT-Gateway macht daraus "Schlafzimmer Rolladen", und demzufolge passen die hopp-Commands auf dem Miniserver natürlich nicht.
              Ich könnte das zwar mit einem Workaround lösen, aber da blickt ja dann später keiner mehr durch...

              Also: Wie bekomm ich das Gateway dazu, statt "hm_status_Schlafzimmer Rolladen:1_LEVEL_NOTWORKING_val" mir "hm_status_Kueche Rolladen:1_LEVEL_NOTWORKING_val" zu senden?

              "Clear broker database" hat leider nix gebracht....

              Grüße, Martin

              Kommentar


              • svethi
                svethi kommentierte
                Kommentar bearbeiten
                Das Gateway macht da gar nichts damit. Der Broker verteilt einfach nur das, was er bekommt. Du musst den Namen schon dort richtig angeben, wo gepublished wird. Wenn Dein Homamatic-Manager die Daten published, dann musst Du darin suchen.

              • Clubsport
                Clubsport kommentierte
                Kommentar bearbeiten
                Danke svethi, das war der richtige Schubser!
                Für alle, die das vielleicht irgendwann über die Suche mal finden.... Ich hatte vergessen, auf dem Loxberry im LoxMatic Plugin das "Names File" zu aktualisieren! Daran lag es!

                Dankeschön!
            • centurion_s
              Azubi
              • 25.08.2015
              • 1

              Hallo,

              zuerst einmal vielen Dank für das MQTT-Plugin. Mein Loxberry läuft auf einer Synology Diskstation und über das PlugIn habe ich einige Shelly-Devices eingebunden. Die Temperaturen (vom Shelly 1 Temp-AddOn) bekomme ich über die virtuellen Texteingänge ordentlich in der Loxone-App angezeigt. Woran ich aktuell scheitere ist allerdings eine Statistik für den Temperaturverlauf. Habe schon hier im Forum und über Google gesucht und bin nicht fündig geworden. Frage also: Wie bekommen ich die Werte eines virtuellen Texteingangs irgendwie statistisch aufbereitet?
              Danke schon mal für Tipps und Lösungsvorschläge.

              Grüße Falk

              Kommentar

              • Christian Fenzl
                Lebende Foren Legende
                • 31.08.2015
                • 11217

                Das sind ja Temperaturen, also Zahlen.
                Nimm keinen Virtuellen Texteingang, sondern einen normalen Virtuellen Eingang, dann kannst du auch die Statistik aktivieren.
                lg, Christian
                Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                Kommentar


                • centurion_s
                  centurion_s kommentierte
                  Kommentar bearbeiten
                  Danke, irgendwie war ich der Meinung, dass das Texteingänge sein müssten, klappt jetzt jedenfalls :-)
              • t_heinrich
                Lox Guru
                • 07.01.2016
                • 2028

                Hallo zusammen,

                ich habe (weil ich kein Linux-Kenner bin ) mein Loxberry auf meinem Pi3 neu aufgesetzt und einige wenige Loxberry-Plugins installiert, u.a. das MQTT Gateway (ohne weitere Konfiguration).
                Zusätzlich habe ich via Terminal den ioBroker mit zwei Befehlszeilen installiert. (https://www.iobroker.net/#de/download)

                Alledings kam ich nicht auf das Webinterface vom ioBroker. Nachdem ich hier ziemlich viel probiert habe (https://www.iobroker.net/docu/index-...installAdapter) und keine Lösung gefunden habe, habe ich das MQTT Gateway wieder deinstalliert und nach einem Neustart funktionniert das Webinterface vom ioBroker.

                Kann nicht sagen, wo es sich genau beißt, kann aber gerne versuchen etwas nachzustellen.

                Gruß Thomas

                Kommentar

                Lädt...