NEWS
String aufteilen
-
@mickym das habe ich mir gedacht. Allerdings wollte ich einfach mal fertig werden, daher habe ich nicht lange nach Vereinfachungen gesucht. Aber bei meinem nächsten grösseren Projekt kann ich mich da sicher noch steigern.
-
@hafo Ich versuche gerade die Sensoren einzubinden.
Es gibt für jeden Kanal ein Sensorobjekt. Ist es true wird bewässert, ist es false bleibt das Ventil zu. Bei einem Feuchtigkeitssensor pro Kanal ist das einfach,
Aber wie mache ich das am besten wenn es mehrere Sensoren gibt, und ich bewässern möchte wenn einer von ihnen unter 40% fällt?
Das wäre am einfachsten, aber dann wird der Wert ja nie auf false gesetzt.
Ich könnte ihn natürlich nach jedem bewässern auf false setzen, aber das ist irgendwie nicht meine Lösung. -
@hafo Hier habe ich mal erklärt, wie man mehrere Datenpunkte in einem Objekt zusammenfasst und dann anschließend mit UND oder ODER Verknüpft und dann einen Alarm auslöst bzw. in Deinem Fall halt die Bewässerung.
Oder kurz in Worten ausgedrückt. Du sammelst alles per Wildcard ein, sammelst ggf. mit Modifizierung des Topic alle Ventile mit true (<40%) oder false (>= 40%) in einem Objekt. Verknüpfst alles mit ODER - sprich, wenn eines unter 40% ist, dann wird Bewässerung ausgelöst. Steigen die Sensoren wieder über 40% wird der Alarm bzw. die Bewässerung automatisch wieder aufgehoben. Die Feuchtigkeitssensoren sollten ja dann wieder automatisch über 40% liefern, sobald genügend bewässert ist.
Wenn Du nicht mit Wildcards arbeiten kannst, weil Deine Sensoren nicht hierarchisch aufgebaut sind, dann musst halt alle iobroker-In Nodes, die zu einem Objekt zusammengefasst werden sollen über eine JOIN Node vereinigen.
-
@mickym Vielen Dank für den Tipp. Das werde ich gleich testen. Leider sind alle Sensoren im selben Verzeichnis, da wird es schwierig mit Wildcards wenn ich das richtig verstehe.
-
@hafo Entweder dann mit eben mit einzelnen IN-Nodes oder Wildcards mit einem Switch Node und dann mit regulären Ausdrücken verzweigen - das wäre bei einer flachen Struktur am elegantesten.
-
@mickym Da wird ja immer eine ganze Menge übermittelt bei jeder Anfrage
Leider nicht der Name, sondern höchstens die ID. Da wird es schwierig mit dem Switch Node.
Damit wäre das wohl geklärt, ich arbeite mit den In Nodes -
@hafo wie du meinst - man kann zum Beispiel eine iobroker IN Node definieren, die wie folgt aussieht:
zigbee.0.*.soil_moisture
Dann kommen nur noch Feuchtigkeitswerte aus der In Node - anschließend gruppiert man diese über switch Nodes - aber kannst Du natürlich auch mit einzelnen Nodes machen.
-
@mickym Mein Problem ist halt dass ich am Ende unter Zigbee.0.* etwa 20 solcher Sensoren habe, die aber unterschiedlichen Ventilen zugeordnet werden müssen. Aber ist ja kein Ding, ich sammle sie einzeln auf dann sollte es passen.
-
@hafo lieber einfache Variante für den Anfang - da sieht man dann auch grafisch welche Sensoren zusammengehören.
-
@hafo Eigentlich ist für mich diese Variante am einfachsten
Ich kann so einfach jeden Sensor vorne anhängen und gut ist. Jetzt muss ich nur noch nach jedem Bewässern den Sensor auf false stellen.
Ich bin gerade etwas Müde, vielleicht versuche ich deinen Weg später noch. Eigentlich möchte ich mich da ja ein bisschen mehr einarbeiten.Vielen Dank und schöne Grüsse
-
@hafo Gar kein Problem - soll ja auch erst mal so einfach wie möglich sein, dass ist ja der Sinn von Node Red.
-
@mickym Meine Variante funktioniert ja gar nicht. Bei einem Regen habe ich nichts was den Wert auf false stellt. Daher hier der nächste Versuch
Damit sollte es klappen. Ich arbeite wieder mit den Flow variablen, das kenne ich bereits und so funktioniert alles etwa gleich.Testlauf:
-
@hafo Nun ich sehe das etwas anders.
Ich würde es erst mal als Alarm betrachten, also genau umgekehrt.
Wenn alles über 40% dann falls und erst wenn unter 40% dann true. Damit würden alle bei Regen auf false stehen und es gibt keine Bewässerung.
Wenn man noch mehr intelligenz haben will kann man diesen Alarm auch noch filtern, wenn Regen innerhalb einer bestimmten Zeit angekündigt ist.
-
@mickym naja, ob da im hintergrund false oder true steht ist für mich nicht wichtig.
Den Wetterbericht hätte ich gerne noch eingebaut, leider ist es mit unseren Meteorologen gleich wie mit den Virologen. Sie wissen nicht was sie tun. -
@hafo sagte in String aufteilen:
@mickym naja, ob da im hintergrund false oder true steht ist für mich nicht wichtig.
Ist aber entscheidend dafür ob Du mit UND oder ODER verknüpst. Ich weiß zwar nicht was die 20 IN Node macht - aber ich würde eigentlich schon schauen, dass die obere Funktion funktioniert. Wenn es regnet, dann sollte doch die Bodenfeuchte automatisch auf über 40 steigen und ein Regenfilter würde ich ggf. erst danach einbauen.
-
@mickym sie funktioniert doch. Ich habe zwei Sensoren welche 100% ausgeben, der Sensor wird auf false gesetzt. Dann gebe ich den Testeingang mit 20 dazu, und der Sensor springt auf true.
-
@hafo sagte in String aufteilen:
@mickym sie funktioniert doch. Ich habe zwei Sensoren welche 100% ausgeben, der Sensor wird auf false gesetzt. Dann gebe ich den Testeingang mit 20 dazu, und der Sensor springt auf true.
Ah jetzt - ich hab Dein Posting falsch verstanden. Das heißt die Inject Node das war einfach der 3. Sensor, den simuliert hast - aber dann ist ja alles klar und kannst das nun wie gewünscht implementieren.
Trotzdem könntest Du den Flow bisschen einfacher machen - indem Du den msg.topic mit nutzt.
Das setzen von true und false braucht man dann nur mit einer Node machen und musst die nicht jedesmal kopieren.Im msg.topic stehen nämlich die zigbee Ids drin:
Noch geschickter wäre eine doppelte Hierarchie - dann kannst Du nämlich ganze Typgruppen als eigene Objekte extrahieren.
Also spater msg.payload = flow.sensor.chili etc.
aber letztlich geht alles so wie Du willst - musst halt selbst für eins entscheiden. Ich denke Du bist jetzt fit genug.
-
@mickym eigentlich fand ich meine Lösung perfekt bis du mir da wieder besseres gezeigt hast, vielen Dank
Aber da ich nächsten Freitag Heirate und nachher in die Ferien fliege läuft mir etwas die Zeit weg. Es müssen ja noch 20 Pilzgehäuse gedruckt werden und die Sensoren muss ich auch noch löten und flashen... -
@hafo sagte in String aufteilen:
@mickym eigentlich fand ich meine Lösung perfekt bis du mir da wieder besseres gezeigt hast, vielen Dank
Aber da ich nächsten Freitag Heirate und nachher in die Ferien fliege läuft mir etwas die Zeit weg. Es müssen ja noch 20 Pilzgehäuse gedruckt werden und die Sensoren muss ich auch noch löten und flashen...Nun ich will Dich doch nicht ärgern.
Dann erst mal Herzlichen Glückwunsch und Schöne Flitterwochen.
- Da ich kein HW Bastler bin - vielleicht kannst Du mir ja dann mal, wenn Du aus den Ferien gekommen bist, wie ich die Feuchtigkeitssensoren fix und fertig ohne Löten und FW flashen bekommen kann - dann kann ich das vielleicht für Zimmerpflanzen verwenden.
-
@mickym Vielen Dank.
Das mit den V3 Sensoren ist ein heisses Eisen. Die dürfen nicht einmal zum selbstkostenpreis verkauft werden.
Aber für deine Hilfe schenke ich dir sehr gerne 2 Sensoren. Das wird sicher nicht verboten sein. Gib mir doch per Pn deine Adresse durch, vielleicht schaffe ich es in den nächsten Tagen noch auf die Post. Meine Sensoren kommen aber ohne BME280 daher, aber mit Gehäuse für 2 AAA Batterien.