NEWS
[gelöst]Klarstein Klimaanlage einbinden
-
@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
-
Was soll ich denn bei Username und Passwort angeben, einfach nichts?
export MQTT_SERVER=mqtt://192.168.178.56 export MQTT_PORT=1883 export MQTT_USERNAME export MQTT_PASSWORD export MQTT_BASE_TOPIC=ewpe-smart export NETWORK=192.168.178.54 export DEVICE_POLL_INTERVAL=5000 export LOG_LEVEL=info
Er scheint die Variablen aus der Datei irgendwie nicht anzunehmen
-
Versuche erst mal:
- die beiden Variablen ganz wegzulassen
wenn er das nicht mag
-
einen leeren String übergeben also MQTT_USERNAME =
-
Letztlich können wir auch den MQTT Server absichern - was sich sowieso empfiehlt - aber ich wollte erst mal schauen, ob das prinzipiell funktioniert.
-
@Dominik-F Hast Du die Datei in dieses Verzeichnis "/etc/profile.d " gestellt. Da das globale Variablen sind - musst die Maschine neu booten und dann mit "set | more" schauen ob er das gefressen hat.
-
Ich hab diesen Befehl benutzt :sudo nano /etc/profile.d/mqtt.sh
set | more gibt folgendes aus:thebermud@ewpebridge:~$ set | more BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:globasciiranges:histappend:interactive_comments:login_s hell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=([0]="0") BASH_ARGV=() BASH_CMDS=() BASH_COMPLETION_VERSINFO=([0]="2" [1]="10") BASH_LINENO=() BASH_SOURCE=() BASH_VERSINFO=([0]="5" [1]="0" [2]="16" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") BASH_VERSION='5.0.16(1)-release' COLUMNS=150 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DEVICE_POLL_INTERVAL=5000 DIRSTACK=() DISPLAY=localhost:10.0 EUID=1000 GROUPS=() HISTCONTROL=ignoreboth HISTFILE=/home/thebermud/.bash_history HISTFILESIZE=2000 HISTSIZE=1000 HOME=/home/thebermud HOSTNAME=ewpebridge HOSTTYPE=x86_64 IFS=$' \t\n' LANG=de_DE.UTF-8 LESSCLOSE='/usr/bin/lesspipe %s %s' LESSOPEN='| /usr/bin/lesspipe %s' LINES=43 LOGNAME=thebermud LOG_LEVEL=info LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34 ;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=0 1;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2= 01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:* .ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg= 01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01; 35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35: *.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv= 01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.
Edit: VM hab ich neu gestartet