NEWS
[gelöst]Klarstein Klimaanlage einbinden
-
Hallo zusammen,
ich habe mir vor kurzem eine mobile Klimaanlage von Klarstein gekauft. Diese lässt sich mittels der EWPE Smart App aus dem Google Playstore steuern. Die Klimaanlage ist im Wlan eingebunden. Ich würde diese gerne auch mit Iobroker steuern.
Ich bin komplett überfragt wie ich die Daten mittels Iobroker auslesen kann. Kann mir jemand dabei helfen? -
push
hat niemand eine Idee oder ist es einfach nur noch möglich? -
-
Das scheint genau das richtige zu sein!
Hast du eventuell Erfahrung mit dem mqtt server? Ich habe mir nun die Instanz installiert und bin etwas überfordert mit den Einstellung und was ich da genau machen muss. Als Server oder Client? Oder brauche ich beides? Könntest du das eventuell Schritt für Schritt für Noobs mit mir durchgehen? -
@Dominik-F sagte:
Hast du eventuell Erfahrung mit dem mqtt server?
Leider nein.
@Dominik-F sagte in Klarstein Klimaanlage einbinden:
Als Server oder Client?
Du brauchst sicherlich den Server anstelle von Mosquitto.
-
Ich danke dir, du hast mich auf jedenfall schon weiter gebracht.
Kennt sich hier jemand mit MQTT Servern aus und könnte mir weiterhelfen?
-
@Dominik-F
Du hast ja in dem anderen Thread nach Hilfe gefragtes. Ich bin zwar nicht der Superfachmann, aber ich denke ich habe eine mqtt Infrastruktur am Laufen. Bist Du Dir überhaupt sicher, ob Deine Klimaanlage mqtt spricht?Ok ich habe das gerade gesehen. Das ist schon mal gut. Ich habe mosquitto am Laufen- wo bist Du bei der Installation?
-
Vielen Dank, dass du dich meldest.
Ich habe bisher noch gar nix installiert. Meine erste Frage wäre, wie viel Ram, CPUs und Festplatttenspeicher ich für mosquito bereitstellen sollte. Ram und CPUs kann ich ja nachträglich noch anpassen, daher wäre der Speicher die wichtigere Frage. Ich würde den Server als container in Proxmox installieren.
Wenn ich diese Infos habe, würde ich vesuchen den nach dieser Anleitung zu installieren :
https://gridscale.io/community/tutorials/eclipse-mosquitto-mqtt-broker-ubuntu-16-04-18-04-installieren-einrichten/ -
@Dominik-F mosquitto ist sehr genügsam. Du musst halt generell erst mal ein Plan haben - welche Funktion Du in welcher virtuellen Maschine installierst. So wie ich Dein Vorhaben verstanden habe - ist der mqtt server das eine - Dein Herzstück wird aber diese Bridge sein, die @paul53 gepostet hat - willst Du diese in der gleichen VM installieren oder auf einer extra Maschine?
Nachdem ich meinen ganzen iobroker und alles auf einem Raspberry laufen habe - würde ich bei Deinem Vorhaben . max. 8-10 GB Festplatte investieren. Das ist aktuell meine Auslastung mit allem. RAM und solche Dinge im MB Bereich.Im Übrigen brauchst Du zur Installation des mosquitto Brokers nur den Befehl:
apt-get install mosquitto (nachdem Du update und upgrade gemacht hast) und nicht mehr.
Ich habe gerade mal geschaut - ich habe debian als VM unter Windows laufen und das braucht mit GUI ganze 6 GB zur Zeit.
-
Das ist eine sehr gute Frage^^
Also Momentan hab ich iobroker und omv in einer vm, influxdb und grafana jeweils in einem Container. Was würde denn mehr Sinn machen? Ich glaube die seperat zu halten könnte Sinn ergeben, vielleicht gibt es ja irgendwann mal einen Adapter der dies kann und dann lässt sich die Bridge einfacher entfernen, oder was meinst du? Es gibt sogar schon einen Adapter für Iobroker, der funktioniert aber leider nur so halb (Ich kann die Klimaanlage an und aus machen und die Temperatur einstellen, die anderen Funktionen gingen nicht so richtig). Sollte ich die Sachen dann eher in einer VM oder in einem Container installieren?
-
@Dominik-F Da kann ich Sie auch schlecht raten - aber ich würde den mqtt broker auch mehr in die Kategorie iobroker - sprich in die allgemeinen Server behandeln und die Bridge seperat. Die Bridge würde ich wahrscheinlich in eine VM machen - Du musst dort wie ich das verstanden habe - über Environmentvariablen Deinen MQTT- Server bekannt geben - das finde ich eher nicht so prickelnd
-
Alles klar. ICh werde heute Abend dann Mosquitto installieren und eine VM für die Bridge erstellen. Danach melde ich mich wieder.
-
So, ich bin nun dabei mosquitto zu installieren. Ich scheitere gerade an dem Punkt :Installiere und führe Certbot für Let’s Encrypt Zertifikate aus. Ich bin mir aber auch nicht sicher wie genau mein DNSDomainname heisst
Bekomme folgendes:
thebermud@mosquitto:~$ sudo certbot certonly --standalone --preferred-challenges http-01 -d mosquitto Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): platzhalter@gmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N Obtaining a new certificate An unexpected error occurred: The server will not issue certificates for the identifier :: Error creating new order :: Cannot issue for "mosquit to": Domain name needs at least one dot Please see the logfiles in /var/log/letsencrypt for more details. IMPORTANT NOTES: - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. thebermud@mosquitto:~$ sudo certbot certonly --standalone --preferred-challenges http-01 -d mosquitto. Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Obtaining a new certificate An unexpected error occurred: The server will not issue certificates for the identifier :: Error creating new order :: Cannot issue for "mosquit to": Domain name needs at least one dot Please see the logfiles in /var/log/letsencrypt for more details. thebermud@mosquitto:~$ certbot certonly --standalone --preferred-challenges http-01 -d mosquitto.fritz.box. The following error was encountered: [Errno 13] Permission denied: '/var/log/letsencrypt/.certbot.lock' Either run as root, or set --config-dir, --work-dir, and --logs-dir to writeable paths. thebermud@mosquitto:~$ sudo certbot certonly --standalone --preferred-challenges http-01 -d mosquitto.fritz.box. Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Obtaining a new certificate Performing the following challenges: http-01 challenge for mosquitto.fritz.box Waiting for verification... Challenge failed for domain mosquitto.fritz.box http-01 challenge for mosquitto.fritz.box Cleaning up challenges Some challenges have failed. IMPORTANT NOTES: - The following errors were reported by the server: Domain: mosquitto.fritz.box Type: dns Detail: DNS problem: NXDOMAIN looking up A for mosquitto.fritz.box - check that a DNS record exists for this domain thebermud@mosquitto:~$
-
@Dominik-F Ehrlich gesagt verstehe ich nicht - warum Du das machst? Du brauchst für mosquitto keine Zertifikate.
Ich habe Dir doch gesagt - Du brauchst nicht mal die Clients.
Prüfe mit "sudo systemctl status mosquitto" - ob das Ding läuft und gut ist. Hatte ich Dir eigentlich in den ersten Post hier geschrieben. Mit sudo apt-get install mosquitto bist Du erst mal fertig. -
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: