# Zigbee2mqtt: Docker-Testimage basierend auf Gladys v4

**URL:** <https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746>\
**Category:** Développement\
**Created:** [15. November 2020 um 10:41 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746 "2020-11-15T10:41:16Z")\
**Posts on this page:** 20\
**Page:** 20

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [20. Juni 2021 um 20:44 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/385 "2021-06-20T20:44:47Z")

</div>

> [@JeuFore](#):
>
> Kann man das Log löschen, wenn eine Funktion nicht konfiguriert ist?

Ja, ich werde das Log-Level ändern.

> [@JeuFore](#):
>
> wenn ich extrem viele Anfragen an das Zigbee schicke (~400/m)

Warum machst du 400 Anfragen pro Minute? Hast du Hunderte von Geräten?

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [21. Juni 2021 um 01:13 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/386 "2021-06-21T01:13:51Z")

</div>

> [@cicoub13](#):
>
> ou dans le range
> 
> ![Capture d’écran 2021-06-20 à 18.51.01](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/c/ca7320533d4e5a74ec9ba11c1383cf7dcbfc153a.png)
> 
> Qu’est-ce que vous en pensez ?

Dans le range ist es tatsächlich stylisch! 🙂

> [@JeuFore](#):
>
> Ich habe einen weiteren Bug bemerkt, wenn ich sehr viele Anfragen an das Zigbee (~400/m) sende, kann Gladys nicht mehr mithalten und die verschiedenen Seiten können nicht mehr geladen werden.

Ich glaube, ich weiß, woher das kommt. Jedes Mal, wenn ein neuer Sensorwert veröffentlicht wird, muss Gladys überprüfen, ob eine Szene ausgelöst werden muss.

Aktuell wird folgendermaßen vorgegangen: Bei jedem empfangenen Sensorwert durchläuft Gladys jede vorhandene Szene und überprüft, ob die Szene die Bedingung erfüllt oder nicht. Es handelt sich dabei um eine einfache, synchrone forEach-Schleife, die blockierend ist.

In Bezug auf die Komplexität handelt es sich um O(n). Je mehr Szenen durchlaufen werden müssen, desto länger dauert es. Besonders in deinem Fall mit 400 Anfragen/Minute (6,6 Anfragen/Sekunde) ist das sehr viel Schleifendurchlauf. Aus Neugier, wie viele Szenen hast du?

Ich hatte diese Einschränkung im Hinterkopf und hatte ein GitHub-Issue erstellt, um das zu beheben: [Each Node.js event should trigger a O(1) function, not O(n) · Issue #803 · GladysAssistant/Gladys · GitHub](https://github.com/GladysAssistant/Gladys/issues/803)

Grundsätzlich ginge es darum, eine Möglichkeit zu finden, die Szenen anders im RAM zu speichern, in einem Format, in dem man überprüfen kann, ob eine Szene gültig ist, in einem einfachen 0(1), zumindest für Ereignisse des Typs «&nbsp;device new state&nbsp;»

---

<div class="post-metadata">

**Author:** ![JeuFore](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jeufore/32/7544_2.png) [@JeuFore](https://community.gladysassistant.com/u/JeuFore)\
**Post date:** [21. Juni 2021 um 05:48 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/387 "2021-06-21T05:48:33Z")

</div>

> [@cicoub13](#):
>
> Warum machst du 400 Anfragen pro Minute? Hast du Hunderte von Geräten?

Ich nutze das Zigbee-Netzwerk, um mit meinen Lampen Ambilight zu machen, und dadurch werden viele Anfragen gesendet 😅 Ich habe es sogar geschafft, mein Zigbee-Netzwerk zum Absturz zu bringen.

Daher habe ich die Anzahl der Anfragen reduziert, aber Gladys hat immer noch Probleme.

> [@pierre-gilles](#):
>
> Aus Neugier, wie viele Szenen hast du?

Ich habe derzeit nur eine einzige Szene, die ein geplanter Trigger ist.

Ich habe mich gefragt, ob das nicht daran liegt, dass Gladys jeden neuen Wert in der Datenbank speichert?

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [21. Juni 2021 um 06:15 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/388 "2021-06-21T06:15:01Z")

</div>

> [@JeuFore](#):
>
> Ich habe mich gefragt, ob das nicht daran liegt, dass Gladys jeden neuen Wert in der Datenbank speichert?

Bist du auf einem SSD oder einer SD-Karte?

Tatsächlich speichert Gladys die Werte in der Datenbank und wenn du auf einer SD-Karte bist, kann das zum limitierenden Faktor werden.

Allgemein empfehle ich wirklich SSDs für eine Installation, die langfristig hält.

---

<div class="post-metadata">

**Author:** ![JeuFore](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jeufore/32/7544_2.png) [@JeuFore](https://community.gladysassistant.com/u/JeuFore)\
**Post date:** [21. Juni 2021 um 06:17 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/389 "2021-06-21T06:17:02Z")

</div>

> [@pierre-gilles](#):
>
> Laufst du auf einem SSD oder einer SD-Karte?

Das Betriebssystem des Raspberry läuft auf einer SD-Karte, aber die Daten von Gladys sind auf einer Festplatte gespeichert, die per USB3 an den Raspberry angeschlossen ist.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [21. Juni 2021 um 06:26 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/390 "2021-06-21T06:26:03Z")

</div>

Eine Festplatte mit Platten? Schau dir die Geschwindigkeit der Festplatte an, aber wenn du versuchst, kontinuierlich mit 6 Anfragen/Sekunde zu schreiben und zu lesen, werden die Anfragen natürlich in die Warteschlange gestellt und du wirst Verzögerungen auf Gladys-Seite sehen.

Wie hast du dein Ambilight eingerichtet?

Ich denke nicht, dass es eine gute Idee ist, Daten bei jedem Zustandswechsel zu speichern, und zusätzlich wird deine Datenbank riesig werden!

---

<div class="post-metadata">

**Author:** ![JeuFore](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jeufore/32/7544_2.png) [@JeuFore](https://community.gladysassistant.com/u/JeuFore)\
**Post date:** [21. Juni 2021 um 06:30 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/391 "2021-06-21T06:30:14Z")

</div>

> [@pierre-gilles](#):
>
> Eine Festplatte mit Platten?

Ja, die guten alten Festplatten 😁

> [@pierre-gilles](#):
>
> Wie hast du dein Ambilight eingerichtet?

Ich habe einen Express-Server, der die Philips Hue API emuliert und dann MQTT an Zigbee sendet. Um den Bildschirm zu übertragen, verwende ich Hyperion NG.

> [@pierre-gilles](#):
>
> Tatsächlich denke ich nicht, dass es eine gute Idee ist, bei jedem Zustandswechsel Daten zu speichern, außerdem wird deine Datenbank riesig werden!

Ich denke auch, nehmen wir an, ich lasse es 1 Stunde laufen, ich kann mir nicht einmal die Anzahl der durchgeführten Aufzeichnungen vorstellen 😶

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [21. Juni 2021 um 06:45 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/392 "2021-06-21T06:45:42Z")

</div>

> [@JeuFore](#):
>
> Ich habe einen Express-Server, der die Philips-Hue-API emuliert und anschließend MQTT an Zigbee sendet. Für die Übertragung des Bildschirms verwende ich Hyperion NG.

Und Gladys empfängt die Ereignisse, weil Zigbee2mqtt die Rückmeldungen der Werte an Gladys sendet?

---

<div class="post-metadata">

**Author:** ![JeuFore](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jeufore/32/7544_2.png) [@JeuFore](https://community.gladysassistant.com/u/JeuFore)\
**Post date:** [21. Juni 2021 um 06:54 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/393 "2021-06-21T06:54:29Z")

</div>

Ja, es scheint, dass Gladys die Geräte überwacht, die in der Zigbee2mqtt-Integration registriert sind (z. B. Hue Play-Geräte).

Daher werden alle von Zigbee empfangenen Werte, die in Gladys gespeichert werden, anschließend von Gladys empfangen.

Der Weg ist:

Hypérion → Philips-API (Express) → Zigbee2Mqtt → Gerät && Gladys

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [21. Juni 2021 um 07:35 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/394 "2021-06-21T07:35:38Z")

</div>

Ah, ich verstehe!

Aber bist du sicher, dass es Best Practice ist, die Philips Hue API so stark zu belasten? (Lebensdauer der Lampen, Zigbee-Netzwerk und so weiter?)

Ich kenne Zigbee2mqtt nicht gut genug, ich weiß nicht, ob es möglich ist, die Übertragung von Ereignissen an Gladys auf der Zigbee2mqtt-Seite zu deaktivieren. Ich überlasse @cicoub13 die Antwort darauf.

---

<div class="post-metadata">

**Author:** ![JeuFore](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jeufore/32/7544_2.png) [@JeuFore](https://community.gladysassistant.com/u/JeuFore)\
**Post date:** [21. Juni 2021 um 07:41 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/395 "2021-06-21T07:41:31Z")

</div>

Hmm… nun ja, ich habe nur das nachgebaut, was Philips mit ihrer Hue Sync-Software macht, die es ermöglicht, die Lichter deines Bildschirms auf Lampen zu übertragen. Mal sehen, wie es sich auf Dauer schlägt.

---

<div class="post-metadata">

**Author:** ![JeuFore](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jeufore/32/7544_2.png) [@JeuFore](https://community.gladysassistant.com/u/JeuFore)\
**Post date:** [21. Juni 2021 um 07:41 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/396 "2021-06-21T07:41:49Z")

</div>

Ich denke, man sollte eher einen Button hinzufügen, mit dem das Speichern der alten Werte deaktiviert werden kann.

Oder ja, das Senden von Ereignissen deaktivieren, aber ich denke, man sollte trotzdem in der Lage sein, in beide Richtungen mit Zigbee2mqtt zu kommunizieren.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [21. Juni 2021 um 07:47 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/397 "2021-06-21T07:47:36Z")

</div>

> [@JeuFore](#):
>
> Ich denke, es wäre besser, einen Button hinzuzufügen, mit dem das Speichern der alten Werte deaktiviert werden kann.

In Gladys gibt es bereits die Möglichkeit, die Historie eines Sensors nicht zu speichern (das ist nicht in der UI des Zigbee2mqtt-Dienstes, aber es ist eine Funktion, die in Gladys Core vorhanden ist), aber das wird in deinem Fall nichts ändern, da wir in jedem Fall den letzten Wert speichern (um den letzten Wert einfach auf dem Dashboard anzeigen zu können).

Wenn wir die Möglichkeit lassen, das Speichern aller Werte komplett zu stoppen, wird der angezeigte Wert auf deinem Dashboard falsch sein.

---

<div class="post-metadata">

**Author:** ![JeuFore](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jeufore/32/7544_2.png) [@JeuFore](https://community.gladysassistant.com/u/JeuFore)\
**Post date:** [21. Juni 2021 um 07:51 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/398 "2021-06-21T07:51:20Z")

</div>

Es wird zwar immer einen Teil des Problems geben, aber zumindest wird die Datenbank nicht überlastet, oder?

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [21. Juni 2021 um 07:57 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/399 "2021-06-21T07:57:47Z")

</div>

Genau! ​

In der UI von Zigbee2mqtt sollte ein Schalter „Verlauf der Werte speichern“ hinzugefügt werden, der dem Attribut „keep\_history“ der Tabelle „device\_feature“ entspricht.

Siehe Code: [Gladys/server/models/device\_feature.js at master · GladysAssistant/Gladys · GitHub](https://github.com/GladysAssistant/Gladys/blob/master/server/models/device_feature.js#L51)

Willst du die Entwicklung übernehmen @JeuFore? 🙂

@cicoub13 kann dir helfen, die Struktur der Zigbee2mqtt-Integration zu verstehen, falls du Hilfe brauchst. Er hat am meisten daran gearbeitet 🙂

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [22. Juni 2021 um 12:31 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/400 "2021-06-22T12:31:59Z")

</div>

@cicoub13 Ich hatte einen Stromausfall

Nach dem Neustart kein z2m / mqtt mehr

```auto
2021-06-22T14:20:11+0200 <warn> service.start.js:44 (Service.start) Unable to start service zigbee2mqtt Error: (HTTP code 301) unexpected -  
    at /src/server/node_modules/docker-modem/lib/modem.js:301:17
    at getCause (/src/server/node_modules/docker-modem/lib/modem.js:331:7)
    at Modem.buildPayload (/src/server/node_modules/docker-modem/lib/modem.js:300:5)
    at IncomingMessage.<anonymous> (/src/server/node_modules/docker-modem/lib/modem.js:275:14)
    at IncomingMessage.emit (events.js:388:22)
    at endReadableNT (internal/streams/readable.js:1336:12)
    at processTicksAndRejections (internal/process/task_queues.js:82:21) {
  reason: undefined,
  statusCode: 301,
  json: <Buffer >
}
2021-06-22T14:20:11+0200 <error> index.js:20 (process.<anonymous>) uncaughtException catched: uncaughtException
2021-06-22T14:20:11+0200 <error> index.js:21 (process.<anonymous>) Error: getaddrinfo ENOTFOUND containers
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26) {
  errno: -3008,
  code: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'containers'
}

```

Alles ist in Ordnung mit Docker

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/e/e9355791e0e285a6f5e452cd342df2660ba761c3.png)

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/7/7794836c045eaee5325c42f04b37c76363fd0b48.png)

Home Assistant hat keine Verbindungsprobleme mit diesem MQTT-Server.

Ich verstehe nicht, warum ich in diesem wackeligen Zustand bin.

Ich habe es bemerkt, weil die Box „Temperature in room“ keine aktuellen Daten hatte

Der Dienst kann nicht konfiguriert werden (der Dongle ist konfiguriert)

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/e/e0b01e2ffc98272ebb269e3dc3e3a2583c06f2c3.png)

Viele Informationen, aber wenn du noch etwas brauchst, zögere nicht

* * *

EDIT: Ich musste meinen Server (physisch) neu starten, das hat mein Problem gelöst, wahrscheinlich hat die Dockerode-Bibliothek Mist gebaut

---

<div class="post-metadata">

**Author:** ![JeuFore](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jeufore/32/7544_2.png) [@JeuFore](https://community.gladysassistant.com/u/JeuFore)\
**Post date:** [22. Juni 2021 um 14:44 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/401 "2021-06-22T14:44:38Z")

</div>

> [@pierre-gilles](#):
>
> Möchtest du die Entwicklung von @JeuFore übernehmen? 🙂

Ich werde wahrscheinlich in den nächsten Tagen Zeit haben, also warum nicht mal genauer hinschauen? 🙂

---

<div class="post-metadata">

**Author:** ![JeuFore](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jeufore/32/7544_2.png) [@JeuFore](https://community.gladysassistant.com/u/JeuFore)\
**Post date:** [23. Juni 2021 um 09:07 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/402 "2021-06-23T09:07:55Z")

</div>

Hallo,

Ich habe angefangen, mich mit der keep\_history-Funktion von Zigbee2mqtt zu beschäftigen.

 ![Bildschirmfoto 2021-06-23 um 11.05.23](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/7/7b7e4fd0df0a570814bebf9c8e0dbd7c58fcc4a9.png)

Ich werde dieses Wochenende testen, ob es unter realen Bedingungen funktioniert, da ich gerade nicht zu Hause bin.

---

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [24. Juni 2021 um 10:34 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/403 "2021-06-24T10:34:20Z")

</div>

Hallo. Die Temperatur der Lampen wird jetzt verwaltet (mit einem schönen Slider).  
Kannst du das Bild `cicoub13/gladys:dev-zigbee2mqtt` aktualisieren und noch einmal testen (Spoiler: Ich habe getestet und es funktioniert super)?

Das sollte bald in der für alle verfügbaren Version ankommen 🚀

---

<div class="post-metadata">

**Author:** ![JeuFore](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/jeufore/32/7544_2.png) [@JeuFore](https://community.gladysassistant.com/u/JeuFore)\
**Post date:** [24. Juni 2021 um 11:27 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/404 "2021-06-24T11:27:59Z")

</div>

Hallo,

Okay, ich teste das Bild am Wochenende. Aber eine kleine Frage, hat jemand Probleme, die Zigbee-Container über Gladys zu erstellen 🤔 ?

[Vorherige Seite](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746.md?page=19)

[Nächste Seite](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746.md?page=21)
