NEWS
[gelöst]Klarstein Klimaanlage einbinden
-
Da war ich wohl etwas vorschnell^^ ich bringe dann kurz alles auf den richtigen Stand und melde mich wieder
-
Ab jetzt befolge ich genau deine Schritte. Sorry, ich dachte das diese Dinge alle noch notwendig wären^^
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 Tue 2020-07-07 21:28:14 UTC; 1min 3s ago Docs: man:mosquitto.conf(5) man:mosquitto(8) Main PID: 16683 (mosquitto) Tasks: 3 (limit: 2282) Memory: 1.3M CGroup: /system.slice/mosquitto.service └─16683 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf Jul 07 21:28:14 mosquitto systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker... Jul 07 21:28:14 mosquitto mosquitto[16683]: [ 323.069314]~DLT~16683~INFO ~FIFO /tmp/dlt cannot be opened. Retrying later... Jul 07 21:28:14 mosquitto systemd[1]: Started Mosquitto MQTT v3.1/v3.1.1 Broker.
-
@Dominik-F So das war nämlich schon alles - somit läuft Dein mosquitto server.
Als nächstes würde ich dann gleich mal in Deinem iobroker den MQTT-Client installieren. Nimm den Adapter mit Version 2.x - den man als Broker oder als Client installieren kann.
Bei den Verbindungseinstellungen sollte dann statt localhost - die IP-Adresse Deines mosquitto Servers stehen. Als Typ steht dann Client/subscriber
-
Fertig
Es taucht folgendes im Log auf:
mqtt.0 2020-07-07 23:38:46.608 error (12330) uncaughtException: TypeError: Cannot read property 'toString' of undefined mqtt.0 2020-07-07 23:38:46.607 error at processImmediate (internal/timers.js:456:21) mqtt.0 2020-07-07 23:38:46.607 error at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.mqtt/lib/client.js:99:36) mqtt.0 2020-07-07 23:38:46.607 error at publishAllStates (/opt/iobroker/node_modules/iobroker.mqtt/lib/client.js:112:46) mqtt.0 2020-07-07 23:38:46.607 error at state2string (/opt/iobroker/node_modules/iobroker.mqtt/lib/common.js:30:77) mqtt.0 2020-07-07 23:38:46.607 error (12330) TypeError: Cannot read property 'toString' of undefined mqtt.0 2020-07-07 23:38:46.607 error (12330) uncaught exception: Cannot read property 'toString' of undefined
-
@Dominik-F
Na im Moment hast Du nur die Verbindung konfiguriert und nicht die MQTT-EInstellungen. Unter den MQTT-Einstellungen bei subscribe pattern einen Hashtag also # eingeben.Unter Maske für eigene states: mqtt.0.*
Unter ClientID - gibst Du Deinem Client einen Namen: z.B. mqttIoBroker - oder was Du willst.
-
@mickym
fertig:
-
@Dominik-F Die Haken kannst Du rausnehmen - aber ansonsten sollte der Adapter nun grün sein und keine Fehler mehr im Log auftauchen?
-
Haken sind raus, Adapter ist Grün und keine Fehler mehr im Log
-
@Dominik-F Na herzlichen Glückwunsch - dann sollte Deine MQTT Struktur bereits stehen.
- Easy.
Man könnte nun einiges testen - aber eigentlich kannst Du nun damit anfangen die VM mit der Bridge Software aufzusetzen und Dich an die Anleitung der EWPE-Smart MQTT Bridge zu installieren. Wenn da allerdings Fehler auftauchen - dann hoffe ich, dass ggf. sonst noch jemand helfen kann.
-
Super, ich danke dir schonmal.
Hast du ne Ahnung wie das mit den enviromental variables funktioniert? -
@Dominik-F Auf der VM machst DU dann die beiden Befehle:
- git clone https://github.com/stas-demydiuk/ewpe-smart-mqtt
- npm install
Dann kommen die Umgebungsvariablen - wie Du ja selbst sagst. Ich bin kein Linux Freak aber habe das schon nachgelesen und müsste so funktionieren:
https://www.serverlab.ca/tutorials/linux/administration-linux/how-to-set-environment-variables-in-linux/Du erstellst mit "sudo nano /etc/profile.d/mqtt.sh" eine neue Textdatei:
Da trägst Du dann mit dem export Befehl die angegeben MQTT Variablen an:
export MQTT_SERVER=mqtt://<IPAdresse Deines Mosquitto Servers>
....usw.
mit set | more -solltest Du dann sehen, ob die Umgebungsvariablen gesetzt werden.Wenn die gesetzt sind - startest Du dann npm start. Das IP Adresse sollten ja die IP Adressen Deiner Klimanlage(n) sein und solltest Du ja mit NETWORK Variablen speichern.
-
npm install hat nicht funktioniert, daher hab ich da noch was dran gehangen:
thebermud@ewpebridge:~$ npm install ewpe-smart-mqtt npm WARN saveError ENOENT: no such file or directory, open '/home/thebermud/package.json' npm WARN enoent ENOENT: no such file or directory, open '/home/thebermud/package.json' npm WARN thebermud No description npm WARN thebermud No repository field. npm WARN thebermud No README data npm WARN thebermud No license field. + ewpe-smart-mqtt@1.0.4 added 103 packages from 76 contributors and audited 103 packages in 6.213s 1 package is looking for funding run `npm fund` for details found 0 vulnerabilities
Das sollte doch so richtig sein oder was meinst du?
Ich werde mich jetzt an die Variablen setzen -
@Dominik-F
Nein meines Erachtens musst Du nur den git clone Befehl erst ausführen und dann npm install ohne was - so wie es da drin steht.
Damit das Klonen funktioniert - habe ich gerade gesehen - musst Du git installieren.
Habe ich mit sudo apt install git gemacht. -
@mickym sagte in Klarstein Klimaanlage einbinden:
sudo apt install git
Alles klar, ich lade dann mal den Snapshot und starte von vorne
-
npm install gibt mir folgendes aus:
thebermud@ewpebridge:~$ npm install npm WARN saveError ENOENT: no such file or directory, open '/home/thebermud/package.json' npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN enoent ENOENT: no such file or directory, open '/home/thebermud/package.json' npm WARN thebermud No description npm WARN thebermud No repository field. npm WARN thebermud No README data npm WARN thebermud No license field. up to date in 0.36s found 0 vulnerabilities
Da scheint nix passiert zu sein.
-
@Dominik-F Ich habe gesehen - dass man auf der virtuellen Maschine auch node installieren muss. Da das npm sonst auch nicht funktioniert.
Ja das liegt - das wohl das Ganze node Zeug auch noch installiert werden muss - bin gerade dabei das alles zu checken - auch wenn ich selbst nicht in diesen Dingen fit bin. Hast Du erst mal git installiert? - Ich vollziehe die Dinge nämlich ebenfalls auf einer VM nach .. um Dir bissi zu helfen
-
Das ist genial von dir!!!
thebermud@ewpebridge:~$ git clone https://github.com/stas-demydiuk/ewpe-smart-mqtt Cloning into 'ewpe-smart-mqtt'... remote: Enumerating objects: 7, done. remote: Counting objects: 100% (7/7), done. remote: Compressing objects: 100% (7/7), done. remote: Total 80 (delta 0), reused 2 (delta 0), pack-reused 73 Unpacking objects: 100% (80/80), 29.17 KiB | 995.00 KiB/s, done.
npm habe ich auch schon nachträglich installiert
Edit:
thebermud@ewpebridge:~$ node -v v10.19.0 thebermud@ewpebridge:~$ npm -v 6.14.4
-
@Dominik-F OK - ich habs jetzt soweit - aber das letzte bei dieser Software muss ggf. jemand anderes helfen - da kommt dann irgendein security fehler - und das müssen dann hier die node Fachleute beurteilen.
Also als erstes habe ich festgestellt - dass dieses npm anscheinend auch schon die node v 12 ebnötigt und habe die Anleitung hier aus dem Forum verwendet:
-
Brauchst Du curl:
sudo apt install curl -
dann das eingeben; curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
-
Dann node-js installieren
sudo apt-get install -y nodejs
- dann wechselst Du in das Verzeichnis ewpw-smart-mqtt das unter Deinem aktuellen Verzeichnis angelegt sein sollte.
-
-
Sehr gut, npm install hat nun funktioniert.
thebermud@ewpebridge:~/ewpe-smart-mqtt$ npm install added 101 packages from 76 contributors and audited 101 packages in 3.964s found 1 low severity vulnerability run `npm audit fix` to fix them, or `npm audit` for details
-
Ja diese Fehler habe ich auch - da kann ich aber nicht helfen - auch der fix bereinigt das nicht.
Allerdings habe ich das Ding einfach mal unten gestartet und es scheint sich mit dem MQTT trotzdem verbinden zu wollen. Das lässt evtl hoffen.
Dann erstell mal die Datei mit den Umgebungsvariablen und schau ob sich das DIng mit Deinem mosquitto verbindet