NEWS
Zigbee2mqtt installation
-
@mickym said in Zigbee2mqtt installation:
@schmetterfliege Na wenn die Nodes endlich weg sind, sollte das Teil auch nicht mehr crashen.
Hoffen wir's
danke dir! -
Ich teste grade rum wie ich mir am besten die Daten von den Sensoren in NR hole, und dabei ist mir aufgefallen dass die Sensoren meistens 2 oder 3 MQTT Messages gleichzeitig senden, in jedem Fall war in der ersten Message die Humidity anders als in der 2. und 3. Message - da waren alle Daten genau gleich.
Frage 1: weißt du ob das "normal" ist?
Frage 2: gerade bei der Tabelle könnte das theoretisch doof sein wenn die bei jedem Update 2 oder 3 mal neu gemacht wird, oder? -
@schmetterfliege Hmm - ob es normal ist kann ich dir nicht sagen - manchmal kommt es bei mir auch mehrfach, manchmal nicht. Abfangen kannst Du es ja mit einer trigger Node - wo du letztlich festlegst, dass die Nachricht erst weiter geleitet wird, wenn für eine gewisse Zeit keine weitere Nachricht kommt.
-
@mickym said in Zigbee2mqtt installation:
@schmetterfliege Hmm - ob es normal ist kann ich dir nicht sagen - manchmal kommt es bei mir auch mehrfach, manchmal nicht. Abfangen kannst Du es ja mit einer trigger Node - wo du letztlich festlegst, dass die Nachricht erst weiter geleitet wird, wenn für eine gewisse Zeit keine weitere Nachricht kommt.
Hab ich auch schon überlegt, aber das Problem dabei ist dass ich ja die Daten per Wildcard hole, und dann kann ich ja keinen Trigger machen weil der dann ein Update eines anderen Sensors blocken könnte, oder?
Dann müsste ich ja jeden Sensor einzeln subscriben?Wobei ich den Trigger ja auf 1 ms oder so setzen kann. Die Mehrfachupdates kommen ja zum gleichen Zeitpunkt
-
@schmetterfliege Na auf ms Basis ist Schwachsinn - da braucht das System ja schon länger. Ich würde mind. 100ms nehmen. Und die trigger Node ist so intelligent, dass die mehrfach für jedes topic getrennt reagieren kann.
Das ist die beste Node schlechthin.
-
@mickym said in Zigbee2mqtt installation:
@schmetterfliege Na auf ms Basis ist schwachsinn - da braucht das System ja schon länger. Ich würde mind. 100ms nehmen. Und die trigger Node ist so intelligent, dass die Mehrfach für jedes topic getrennt reagieren kann.
Stimmt, 1ms is echt n bissl arg wenig
Okay, nice! Hab ich gar nicht dran gedacht dass es diese Option gab! Danke -
@mickym
Ich versuche gerade den Anfang meiner Tabelle wieder in Ordnung zu bringen, und möchte erstmal den Raum rausziehen.
Der Raum ist der vorletzte Wert, das spuckt mir aber die letzten beiden aus.
Wie schneide ich denn den zweiten Teil weg?
Wenn ich das zweite ".*" auch in Klammern mache, ist es das selbe Ergebnis.
Müsste es dann nicht $1 und $2 geben?EDIT: Also auch in der Change Node. Wie das in einer Function Node gehen würde ist klar
-
.*zigbee2mqtt\.(.*)\..*
-
@mickym
Vielen Dank! "hab noch Multisensor" reingepackt und schon gehtsWie nennt sich diese "Syntax" denn? Dann würde ich mich da auch mal einlesen, damit ich auch verstehe wie das mit ".." funktioniert
-
@schmetterfliege Nein das ist keine spezielle Syntax sondern Du musst ja Deine Klammer wieder begrenzen.
(.*)\.
Das bedeutet, dass meine Klammer durch den Punkt begrenzt ist.
.*
Der Rest bedeutet beliebiges Zeichen x mal.
zusammen:
(.*)\..*
Ansonsten hiermit testen und die Codes sind da drin auch erklärt:
In der Explanation wird das dann auch noch mal Stück für Stück hergeleitet.
Also :
.*zigbee2mqtt\.(.*)\..*
Mich interessiert das vorne nicht bis zigbee2mqtt auftaucht, dann ein Punkt, dann beliebige Zeichen, die ich in die Gruppe $1 packe, bis wieder ein Punkt kommt, der aber nicht mehr Bestandteil der Gruppe ist. Der Rest interessiert wieder nicht.
Damit alleine
\.*
sagst Du ja nur das ein Punkt auftauchen kann oder auch nicht - also in dem Fall keine eindeutige Begrenzung der Klammer, die ja mit dem Punkt aufhören MUSS.
-
@mickym
Thanks, die Seite ist echt praktisch!Noch eine Dummi-Frage:
Vorher hatte ich ja den Raum als Wert selbst gespeichert.
Jetzt sind die Sachen im Kontext aber nicht mehr per zigbee-id gespeichert, sondern über den Raum selbst. Nur weiß ich nicht wie ich den Teil adressieren kann?
ist das payload.id?
EDIT: die id ist es schon mal nicht
-
@schmetterfliege Wieso - das eine hat doch mit dem anderen nichts zu tun. Dein Raum ist die Eigenschaft "room" in jedem einzelnen Room Objekt, dass Du in der payload mitgibst. Das was Du oben machst ist ja nur die Definition der Spalten aber nicht das Array der Objekte die Du übergibst?
-
Ich befürchte die Antwort wird sein dass ich den Raum speichern muss^^
Kann ich denn irgendwie die "topic" jedes Objektes in die Objekte packen, ohne das separat im Objekt abzuspeichern?
-
@schmetterfliege Richtig - Du musst in jedem Objekt eine Eigenschaft "room" haben, damit diese der entsprechenden Spalte zugeordnet werden kann.
-
@mickym said in Zigbee2mqtt installation:
@schmetterfliege Richtig - Du musst in jedem Objekt eine Eigenschaft "room" haben, damit diese der entsprechenden Spalte zugeordnet werden kann.
Okay, also die Objekte werden ohne deren Topic übergeben. Hmm.
-
@schmetterfliege Du brauchst doch das Topic nur in die einzelnen Objekte mit aufnehmen. Also bevor Du es zum Array zusammenfasst.Sprich Du hast doch für einen Sensor
ein topic und ein payload Objekt mit Temp., Humidity etc.
Nach dem Du das topic nun extrahiert hast, kannst Du entweder das topic direkt da rein schieben wenn du es nicht mehr brauchst.
Veschiebe msg.topic => msg.payload.room
-
@mickym said in Zigbee2mqtt installation:
@schmetterfliege Du brauchst doch das Topic nur in die einzelnen Objekte mit aufnehmen. Also bevor Du es zum Array zusammenfasst.Sprich Du hast doch für einen Sensor
ein topic und ein payload Objekt mit Temp., Humidity etc.
Nach dem Du das topic nun extrahiert hast, kannst Du entweder das topic direkt da rein schieben wenn du es nicht mehr brauchst.
Veschiebe msg.topic => msg.payload.room
Funktioniert, aber ist das "gut" gelöst so? -
Also wahrscheinlich ist da eigentlich gar kein Unterschied zu vorher und ich hätte das vorher auch so kompakt machen können, aber das is schon geil irgendwie.
Die JSON sind schon ne geile Sache! -
@schmetterfliege Hmm warum nicht - ich hab das nicht mehr alles im Kopf - aber in dem Fall passt es doch ggf. kann man das halt schon vorher - also bevor man das Array aufsplittet schon in s Objekt aufnehmen. Aber egal
-
@schmetterfliege sagte in Zigbee2mqtt installation:
Also wahrscheinlich ist da eigentlich gar kein Unterschied zu vorher und ich hätte das vorher auch so kompakt machen können, aber das is schon geil irgendwie.
Die JSON sind schon ne geile Sache!Ja leider erkennen nur die wenigsten, wie fantastisch JSON ist - die meisten beschäftigen sich halt nicht damit.