NEWS
Fragen eines absoluten Newbees
-
Noch ein System mehr??
-
@fnbalu ein Adapter stellt auch ein zusätzliches System dar. Gut dann nimm halt den mqtt-Adapter als Broker. Ich hatte eben mit dem Ack=false Probleme, auch in Zusammenarbeit mit Node-Red. Mich hat das halt Monate gekostet, da ich den Fehler immer bei mir gesucht habe. Insofern liegt es an Dir ob Dir meine Erfahrungen was bedeuten. Letztlich ist es ja Dein System, das Du betreibst..
-
@mickym ich meine doch da nichts negativ und möcht Dich nicht angreifen. Sorry, wenn es so rüber kam.
Für mich klingt das nicht wie ein ioBroker Adapter sondern wie ein autarkes Zusatzsystem was eine extra VM e.t.c. bedeutet.Ich verstehe da noch nicht wie das dann verknüpft
-
@asgothian sagte in Fragen eines absoluten Newbees:
ch hatte das von meinen Versuchen anders in Erinnerung
ich allerdings auch!
habe aber in letzten Tagen einige Flows von @mickym gesehen, in denen nodes vorkamen, von denen ich damals nur hätte träumen können.Ich denke einfach, dass sich auch node-red (oder zumindest die Vielfalt dessen nodes) in der Zwischenzeit ebenfalls weiterentwickelt hat, wie die Blöcke bei Blockly.
Als mir als absolutem js-Legastheniker Bluefox damals node-red ans Herz legte, habe ich damit meine ersten "Programmier"schritte gemacht. Blockly kam erst ganz viel später.
Wie beschrieben war die Lernkurve ziemlich steil, aber es kam sehr schnell, dass man js-Schnipsel in fucnction nodes anwenden musste.@asgothian sagte in Fragen eines absoluten Newbees:
Das Problem mit mehreren Adaptern die die gleichen Ressourcen nutzen haben sicherlich viele.
Das hatte ich zu Beginn von Blockly auch.
Da gab es noch eine sehr überschaubare Anzahl von Blöcken und einige Funktionen, die mit node-red ganz einfach zu lösen waren, waren mit Blockly damals nicht lösbar.
Damals hatte ich auf allen Hosts beide Systeme laufen, u.a. um Systemdaten auszulesen. -
Ich versuche das gerade wirken zu lassen.
Also grundsätzlich würde ich gerne meine IoT Devices wie Shelly e.t.c. in ein anderes Subnet packen.
Wenn der ioBroker dort nicht ist, dann bleibt nur MQTT, da Multicast nicht rüber kommt.Nun kann ich in das andere Netz, das andere Netz aber nicht zu mir per se
Ich kann natürlich eine Gruppe mit MQTT Ports erstellen, die dann explizit zum ioBroker geroutet werden.Da könnte man zig Adapter installieren und hätte dann halt die verschiedenen Ports je Instanz.
Oder aber ein MQTT der ehrlich alles sammelt.
In dem Beispiel Mosquitto auf einem anderen System.Ich weiß nicht was da einfacher ist.
Für mich ist alles Neuland.Übersichtlicher ist da wohl alles aus einer Hand für mich auf dem ersten Blick.
-
@fnbalu Bei mir läuft mosquitto auf dem gleichen System wie der iobroker - ohne irgendwelche Probleme. Ich nutze die mqtt Adapter als client und damit alle Datenpunkte im iobroker. Man kann somit sowohl mit mqtt Methoden, als auch mit iobroker Methoden auf die Datenpunkte zugreifen. Es gibt keine Notwendigkeit das zu trennen.
-
@mickym also Mosquitto installieren. Wie genau sieht dann der Zugriff vom ioBroker aus? MQTT Client Plugin?
IP ist dann wohl 127.0.0.1 -
@fnbalu Nein das ist ein älterer Adapter - nimm MQTT Adapter, den Du als Broker und als Client konfigurieren kannst.
Ja Verbindung ist localhost und 1883.Username und Passwort - halt wenn im mosquitto definiert.
Ansonsten hat sich bei mir bei den mqtt Einstellungen bewährt alle Optionen zu deaktivieren. Bei mir ist der Adapter mqtt.1 Instanz - deswegen ist entspricht die Maske zum Bekanntgeben eigener States halt immer die eigene Instanz - als bei der 1. Instanz mqtt.0.*
Im iobroker - sind die Objekte dann einfach wie bei jedem anderen Adapter sichtbar:
Wenn Du weitere ioBroker Datenpunkte per default nach mqtt publishen willst, empfehle ich eine neue Instanz des Adapter zu installieren - deshalb siehst Du bei mir auch eine 2 bei den installierten Instanzen und einen Baum mqtt.2
-
@mickym also ich fasse zusammen
Mosquitto ist besser als der bei iobroker interne MQTT
Man greift dann auf Mosquito zu. Anleitungen habe ich im Netz schon gefunden.Wie ich das verstehe, braucht man Mosquito wenn es einmal konfiguriert ist, keine Beachtung mehr schenken, da die Geräte ihre daten dort hinschicken und der ioBroker holt sie 1:1 nur stumpf ab.
Nur das mit der zweiten Instanz leuchtet mir absolut nicht ein gerade
-
@fnbalu Die 2. Instanz brauchst Du auch nicht. Ich hatte das mal weil ich die Inhalte vom Fritzbox Adapter unter mqtt veröffentlichen wollte.
Hier mal ein kleines Video (habe ich aus anderen Gründen erst kürzlich gemacht) - wie einfach es dann ist einen Shelly direkt über iobroker zu schalten:
Damit Du mal siehst wie man einfach einen ganzen Adapter in mqtt veröffentlich - so kann man alle Einträge des tr064-Adapters nach mqtt publishen. Eigentlich brauche ich das nicht mehr. Ich hatte mal die Idee, alles über mqtt zu machen - aber ich habe mich dann entschieden nur dann die Geräte im mqtt zu halten, die nativ mqtt sprechen.
Du siehst der mqtt.2 hat keine eigenen Datenpunkte - aber publiziert alle Geräte des FB Adapters unter iobroker im mqtt.
Deshalb tauchen die Geräte unter mqtt1 - wieder auf
Also für Dich erst mal unwichtig - nur mal zur Illustration.
-
@fnbalu sagte in Fragen eines absoluten Newbees:
@mickym also ich fasse zusammen
Mosquitto ist besser als der bei iobroker interne MQTT
JA weil der MQTT als Broker konfiguriert, Probleme mit ACK=false Nachrichten hat.
Man greift dann auf Mosquito zu. Anleitungen habe ich im Netz schon gefunden.
Installieren ist einfach einfach:
sudo apt install mosquitto
dann halt noch die mosquitto.conf bearbeiten und auch ein Passwort File erstellen, falls Du willst (würde ich aber schon empfehlen). Die mosquitto clients brauchst Du nicht!!!!
Wie ich das verstehe, braucht man Mosquito wenn es einmal konfiguriert ist, keine Beachtung mehr schenken, da die Geräte ihre daten dort hinschicken und der ioBroker holt sie 1:1 nur stumpf ab
Der iobroker als Client holt sich nicht nur die Daten ab, sondern publisht auch über den mosquitto an die Geräte. Deshalb ja - mosquitto läuft transparent im Hintergrund. Wie Du in dem Video gesehen hast, holt sich der MQTT Adapter als Client nicht nur die Daten über mosquitto ab, sondern steuert die Geräte auch über mosquitto.
Nur das mit der zweiten Instanz leuchtet mir absolut nicht ein gerade
Brauchst Du wie gesagt nicht.
-
Hier noch ein paar Hilfestellungen von meiner Konfig:
die mosquitto.conf - kann eigentlich standardmässig bleiben:
/etc/mosquitto $ cat mosquitto.conf # Place your local configuration in /etc/mosquitto/conf.d/ # # A full description of the configuration file is at # /usr/share/doc/mosquitto/examples/mosquitto.conf.example pid_file /var/run/mosquitto.pid persistence true persistence_location /var/lib/mosquitto/ log_dest file /var/log/mosquitto/mosquitto.log include_dir /etc/mosquitto/conf.d
wenn Du dann nach /etc/mosquitto/conf.d wechselst - dann erstellst Du Dir einfach irgendeine Datei dort. Wie Du ja siehst werden Konfigurationsdateien in dem Verzeichnis berücksichtigt.
/etc/mosquitto/conf.d $ cat xxxxx.conf allow_anonymous false password_file /etc/mosquitto/pwfile listener 1883
Dort wird also nur festgelegt, dass man sich anmelden muss, wo das Passwort File mit den user - passwort Kombinationen liegt und das der Standardport 1883 von mosquitto benutzt wird.
Für die Passworterstellung hilft Steve weiter: http://www.steves-internet-guide.com/mqtt-username-password-example/
Im Prinzip einfach eine Textdatei mit
username:password
Kombinationen erstellen (würde gleich mehrere erstellen) und dann mit
mosquitto_passwd -c textdatei newuser
eine verschlüsselte Datei erstellen und da in dem Verzeichnis erstellen mit dem Namen, der in Deiner Konfig eingetragen ist.
ZUm Schluss prüfen, ob Dein mosquitto läuft:
systemctl status mosquitto ● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset Active: active (running) since Sat 2021-04-10 02:59:22 CEST; 20h ago Docs: man:mosquitto.conf(5) man:mosquitto(8) Main PID: 652 (mosquitto) Tasks: 1 (limit: 4915) CGroup: /system.slice/mosquitto.service └─652 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
-
@mickym vielen Dank erstmal für Deine Mühe und eigentlich ausführlichen Ausführungen.
Nur irgendwie überfordert mich der Scheiß und ich verliere langsam die Lust an dem Ganzen.
Ich habe mir das alles viel leichter vorgestellt. ;-(Da ich Debian nutze, habe ich mit apt-get install installiert.
Ich nutze Midnight Commander zur Verienfachung.mosquitto.conf ist klar
Dann habe ich config.conf erstellt und bis auf Zeile 1 alles hineinkopiert
Zeile 1 ist unschlüssig für mich.Muss die da rein? xxxx.conf? oder dann mein Passwort file?
Warum mehrere Benutzer bei MQTT?
Fragen über Fragen.
Wie gesagt ich möchte halt nicht zig Kilometer in eine Richtung laufen um dann zu erkennen ich hätte anders herum laufen sollen.
Das Problem ist auch, dass es so neu ist, das man nicht mal weiß nach was man googlen müsste um die passenden Antworten zu finden -
@fnbalu Nein alles gut - die 1. Zeile ist nur der Befehl - ignorieren.
Musst nicht mehrere Benutzer machen. Kannst Du halt musst aber nicht.
Wenn Dein mosquitto läuft ist doch alles gut.
-
@mickym das weiß ich noch nicht.
Ich habe die config.conf erstellt.
Nun muss ich den offener hoch und die Passwort Datei erstellen, ja?
Macht es Sinn mit mehreren Nutzern? Hast Du das?
Ob das verschlüsselt sein muss, ist auch fraglich -
@fnbalu NIchts verschlüsseln - die Passwort Datei wird automatisch mit dem Befehl verschlüsselt. Mehrere Nutzer kann man halt nutzen z-bsp für verschiedene Gerätetypen - das kannst aber später auch noch machen
-
@mickym ist das Standard mir der Verschlüsselung oder erforderlich?
Sonst muss das eine ja kein Hochsicherheitstrakt sein, wenn die Shellys nicht auch passend geschützt sind
-
@fnbalu Nein - ich habe kein mqtt verschlüsselt - das brauchst Du im internen Netz auch nicht.
Wahrscheinlich hast Du was falsch verstanden mit dem Befehlmosquitto_passwd -c textdatei newuser
wird nur die Passwortdatei verschlüsselt. wo die user:passwort paare drinstehen und das musst Du schon machen. Die Passwörter sollen ja nicht im KLartext im System stehen.
-
@mickym sodele. Mosquitto ist erstellt und läuft.
Im ioBroker habe ich MQTT installiert und das Shelly Plugin deaktiviert um nicht in die Quere zu kommen.Wie ich das sehe muss ich als MQTT Client/subscriber laufen lassen.
Die Verbindung steht im Test.Ich habe auch einen Shelly MQTT technisch auf den umgestellt.
Er wird somit nach der Suche auch erkannt, jedoch eigentlich fast keine Datenpunkte -
@fnbalu
zum schalten das command oder direkt in relay 0 - die verbrauchsdaten und temp. siehst und firmwareupdates kann st dann später im Node-Red über http machen oder über Web Interface.