NEWS
Test Adapter Rain Bird v0.1.x GitHub
-
@bilberry sagte in Test Adapter Rain Bird v0.1.x GitHub:
gibt es eine (einfache) Möglichkeit, die Rohdaten zwischen Adapter und Rainbird-Controller mitzulesen bzw. zu ändern, um zu probieren, welche Daten ggf. noch verwertet werden können?
Leider ist das nicht so einfach. Zwischen Controller und Client werden nur Hex-Codes verschickt. Also beispielsweise 320101 oder so etwas. Zurück kommen dann wieder Hex-Daten, wie z. B. das 00 etc. Ich weiß also selbst nur aus der pyrainbird Bibliothek bzw. teilweise durch selbst rumprobieren, welcher Code welchen Befehl ausführt und welche Antwort zurückkommt.
Vielleicht müsste ich mal ein kleines NodeJS Skript schreiben, dem man einfach beliebige Hex-Codes übergeben kann und beliebige Parameter – aber ob das was bringt, weiß ich nicht, denn die Antworten sind auch schwer zu verstehen.
-
@bilberry Hi, nein ich habe auch noch keine einfache Lösung gefunden. Hatte auch überlegt ob man zwei Slider übereinanderlegt aber wie du schon sagst, hat mich der Aufwand dafür auch bisher davon abgehalten.
-
@Feuersturm sagte in Test Adapter Rain Bird v0.1.x GitHub:
aber wie du schon sagst, hat mich der Aufwand dafür auch bisher davon abgehalten.
Wieso denn Aufwand? Im Vis einfach die Sichtbarkeitsregel auf Restdauer > 0 stellen und beim anderen Slider auf = 0 dann sollte es doch gehen.
-
@Feuersturm: ja, StrathCole hat Recht. Hab's gerade mal probiert. Wenn man zwei Slider mit unterschiedlichen Wertebereichen übereinander legt, kann man das doch einfacher realisieren, als ich vermutet hatte. Vorallem die Umrechnung entfällt dann.
Ist aber trotzdem eine Fummelei im VIS immer den richtigen Slider für die Konfiguration zu erwischen und dann nicht auch gleich noch versehentlich die Beregnung zu starten
Einen Schönheitsfehler haben die Slider wohl auch noch (zumindest bei mir): wennrunZone
nach der Zeitvorwahl aufnull
geht, kann der Zeitvorwahl-Slider nichts damit anfangen und bleibt bis zur nächsten Browser-Refresh auf dem zuletzt gewählten Wert stehen. -
Ich verzweifel hier ...
Ich will alle Zonen per einem Datenpunkt nacheinander starten. Dafür habe ich einen neuen Datenpunkt angelegt: "LaufzeitAlle" und folgendes BlocklyScript:
Wenn ich nun den Wert vom Datenpunkt ändere, dann ändert er zwar den Datenpunkt "Run Zone for X Minutes" aber er fängt nicht an zu bewässern. Wenn ich diesen Datenpunkt direkt per Slider ändere, dann läuft die Bewässerung ...
Wo ist mein Fehler? Bei den Zonen 2 und 3 ist noch ein Logikfehler, das will ich klären, sobald er überhaupt anfängt ...
Oder hat jemand einen besseren Ansatz?
-
Ich bin einen Schritt weiter:
Mit "steuere" klappt es. Aber das Script ist schneller als die RainBird Bewässerung. Es dauert, bis die Bewässerung startet und dann ist das Script schon durch ....
Hat hier evtl. jemand eine Idee, wie ich das Script für 30 Sekunden pausieren kann?
-
Ich habe es jetzt so gelöst:
So kann ich zwar noch nicht die Laufzeit individuell einstellen, aber ich kann alle Zonen auf einen Schlag anstoßen.
-
Hi,
sagt mal welche Version habt ihr vom Adapter? Bei mir hagelt es nur Fehler.rainbird.0 2020-08-11 18:46:04.822 info (30264) Terminated (NO_ERROR): Without reason rainbird.0 2020-08-11 18:46:04.820 info (30264) terminating rainbird.0 2020-08-11 18:46:04.803 error at Socket.emit (events.js:198:13) rainbird.0 2020-08-11 18:46:04.803 error at Socket.socketErrorListener (_http_client.js:401:9) rainbird.0 2020-08-11 18:46:04.803 error at ClientRequest.emit (events.js:203:15) rainbird.0 2020-08-11 18:46:04.803 error at Request.onRequestError (/opt/iobroker/node_modules/request/request.js:877:8) rainbird.0 2020-08-11 18:46:04.803 error at Request.emit (events.js:198:13) rainbird.0 2020-08-11 18:46:04.803 error at self.callback (/opt/iobroker/node_modules/request/request.js:185:22) rainbird.0 2020-08-11 18:46:04.803 error at Request._callback (/opt/iobroker/node_modules/iobroker.rainbird/lib/rainbird.js:226:17) rainbird.0 2020-08-11 18:46:04.803 error at /opt/iobroker/node_modules/iobroker.rainbird/lib/rainbird.js:403:25 rainbird.0 2020-08-11 18:46:04.803 error at /opt/iobroker/node_modules/iobroker.rainbird/lib/rainbird.js:467:27 rainbird.0 2020-08-11 18:46:04.803 error at Object.callback (/opt/iobroker/node_modules/iobroker.rainbird/lib/rainbird.js:521:39) rainbird.0 2020-08-11 18:46:04.803 error (30264) TypeError: Cannot read property 'setStations' of undefined rainbird.0 2020-08-11 18:46:04.801 error (30264) uncaught exception: Cannot read property 'setStations' of undefined rainbird.0 2020-08-11 18:46:04.799 warn (30264) Error in request from client for AvailableStations: {"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.178.189","port":80} rainbird.0 2020-08-11 18:46:04.798 warn (30264) Request reply error: [{"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.178.189","port":80},null,null] rainbird.0 2020-08-11 18:46:04.787 warn (30264) Error in request from client for CurrentDate: {"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.178.189","port":80} rainbird.0 2020-08-11 18:46:04.786 warn (30264) Request reply error: [{"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.178.189","port":80},null,null] rainbird.0 2020-08-11 18:46:04.771 warn (30264) Error in request from client for SerialNumber: {"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.178.189","port":80} rainbird.0 2020-08-11 18:46:04.770 warn (30264) Request reply error: [{"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.178.189","port":80},null,null] rainbird.0 2020-08-11 18:46:04.754 warn (30264) Error in request from client for ModelAndVersion: {"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.178.189","port":80} rainbird.0 2020-08-11 18:46:04.752 warn (30264) Request reply error: [{"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.178.189","port":80},null,null] rainbird.0 2020-08-11 18:46:04.634 info (30264) [INFO] Configured polling interval: 10000 rainbird.0 2020-08-11 18:46:04.614 info (30264) [START] Starting Rain Bird adapter V0.2.2r39
-
@meerkat Hi,
ich hab bei mir die Version 0.2.3 im Einsatz und aktuell keine Probleme. Im Einsatz hab ich als Rainbird der die das ESP-MErainbird.0 2020-08-11 22:09:44.544 info (9452) [INFO] Configured polling interval: 20000 rainbird.0 2020-08-11 22:09:44.538 info (9452) [START] Starting Rain Bird adapter V0.2.3r44 rainbird.0 2020-08-11 22:09:44.501 info (9452) starting. Version 0.2.3 in /opt/iobroker/node_modules/iobroker.rainbird, node: v12.18.0, js-controller: 3.1.6
-
@Feuersturm Hi, danke für die Info. Dann mache ich mich morgen mal auf die Suche nach der .23 Version. Über iobroker bekomme ich nur die .22 Version.
Danke
-
@meerkat Ich hab die Version "damals" aus Github über das Symbol mit der Katze installiert. Siehe https://forum.iobroker.net/topic/28924/test-adapter-rain-bird-v0-1-x-github/114
Wenn sich seitdem im Github am Code nichts verändert hat, solltest du es gefahrlos installieren können. Wenn es danach noch Änderungen gab, sollte man aus Github nur die Versionen installieren, wenn der Entwickler dazu aufruft ansonsten könnte es unerwartete Nebeneffekte geben.
-
@Feuersturm vielen Dank noch mal. Nun läuft es. Jetzt hätte ich nich eine Frage. Ich habe den ESP-RZXE mit LNK, leider kann man nur max 99 Minuten einstellen, wenn ich eine manuelle bewässerung starte. Können die Rainbird Steuergeräte nicht mehr? Oder liegt dies am Adapter?
-
@meerkat Hab ich noch nicht getestet. Meine einzeln Kreise laufen aktuell 20 Minuten einmal in der Nacht. Ich kann morgen mal bei meiner Station schauen was sich maximal einstellen lässt.
-
Mittlerweile ist es Herbst und die Bewässerung muss nur noch sehr selten laufen. Ich habe bisher über die App die Bewässerungszeiten festgelegt. Ich möchte jetzt die Bewässerung auf unbestimmte Zeit stoppen, so dass der hinterlegte Zeitplan nicht greift.
Die einzige Lösungsmöglichkeit die ich bisher sehe ist, jeden Tag per Skript den Datenpunkt rainbird.0.device.settings.rainDelay z.B. immer wieder auf 2 zu setzen, um den im Rainbird Controller hinterlegten Zeitplan zu verzögern.Wie habt ihr das ganze gelöst?
-
@Feuersturm
Hab auch schon überlegt, wie man das komfortabel machen könnte. Bislang blieb mir nur die sinnvolle Lösung, direkt am Controller "Stopp" zu drücken. Dann geht auch der Datenpunktrainbird.0.device.irrigation.active
auffalse
.
Schade, das der nur schreiben kann. Kommt aber vielleicht auf einen Versuch an. Eventuell geht das ja doch?Aber die von Dir beschriebene Lösung via Script scheint mir ein guter Workaround zu sein.
-
@bilberry Ich hab meinen Workaround mal als kleines Skript zusammengeschrieben:
Über einen Schalter / Checkbox setze ich dann in meiner Bewässerungsview den Datenpunkt auf true
Änderungshistorie:
04.10.2020 Schedule im Skript korrigiert -
Ich hab das Skript korrigiert. Der Schedule war nicht ganz korrekt, jedenfalls hat es bei mir nicht dazu geführt, dass jeden Tag der Wert neu gesetzt wurde.
Ich hab den Schedule jetzt so eingestellt, dass jede Nacht um 1 Uhr die Funktion aufgerufen wird. Bei mir funktioniert es soweit. -
@Feuersturm
Hi, hab Dein Skript noch nicht in der Praxis probiert. Bei ersten Überfliegen am Montag schien mir alles plausibel gecoded und mir ist nichts problematisches ausgefallen. Was hat denn nicht funktioniert? -
Hallo @bilberry, wenn man nur den Datenpunkt
rainbird.0.device.settings.rainDelay
auf einen definierten Wert setzt, dann ist dieser Wert einen Tag später um 1 dekrementiert.
In der ersten Version vom Skript hatte ich für den schedule folgendes eingetsellt:schedule("0 0 * * *", ...
Ich hatte erwartet, dass am nächsten Tag dann der Wert fürrainbird.0.device.settings.rainDelay
wieder auf 5 steht, dem war aber nicht so, sondern der Wert war inkrementiert. Erst als ich den schedule aufschedule("0 1 * * *", ...
gestellt habe sehe ich am nächsten Tag, dass der im Skript definierte Wert 5 korrekt eingetragen ist. -
Hallo Alle zusammen
da ich ein Neuling bin hätte ich ein paar Fragen
- Kann ich den Code auch in Node-red verwenden.
- Wenn ja welche Schritte muss ich machen das ich auf meinen Rain bird zugreifen kann.
Danke im Voraus für euere Hilfe
liebe Grüsse