NEWS
Test Adapter Rain Bird v0.1.x GitHub
-
@myssv Hab die PNG-Dateien im obigen Beitrag gezippt in den Spoiler gelegt.
Eingebunden werden die wie ganz normale Bilder (image-Widget). Da ich Uhulas MD nutze, kann ich sie bei Bedarf mit CSS Klasse z.B.
mdui-blue-pulsezusätzlich zum "leuchten" bringen. -
@myssv Hab die PNG-Dateien im obigen Beitrag gezippt in den Spoiler gelegt.
Eingebunden werden die wie ganz normale Bilder (image-Widget). Da ich Uhulas MD nutze, kann ich sie bei Bedarf mit CSS Klasse z.B.
mdui-blue-pulsezusätzlich zum "leuchten" bringen. -
Prima, danke für die schnelle Umsetzung. Werde es am WE in Ruhe ausprobieren.
Ich hatte inzwischen selbst festgestellt, dass das
falseimrainDelayauf eine unterbrochene Verbindung zurückzuführen war.Und noch ein wenig OT an alle: Wie oft habt Ihr Verbindungsabbrüche zum Controller und welche Lösungen gibt es die zu vermeinden? (bei mir half dann immer ein WLAN-Neustart - das kann aber auch nicht die Lösung sein)
@bilberry Verbindungsprobleme habe ich nur, wenn meine Fritzbox auf Kanal 10-12 funkt. Das mag das Wlan Modul nicht und verbindet sich nicht. Kanal 1-9 funktionieren ohne Probleme.
-
Gibt es hiefür evtl. schon einen Fix? Ich bekomme bei jeder Aktuallisierung leider immer noch folgenden Warnhinweis:
(4692) Status request failed. Requested B0 but got 00: {"type":"NotAcknowledgeResponse","commandEcho":48,"NAKCode":4}
Thx
@StrathCole
(4692) Status request failed. Requested B0 but got 00: {"type":"NotAcknowledgeResponse","commandEcho":48,"NAKCode":4}Thx
gleiche Warnmeldung bei mir seit dem Update aus dem Git auf die neue Version.
-
Hallo zusammen,
ich habe heute meine ESP-ME per W-Lan angebunden. Die Datenpunkte werden erzeugt und anscheinend auch aktualisiert. Erst einmal ein großes Dankeschön für die geleistet Arbeit :-)
Im Log kommen bei mir folgende Warnungen. Ich konnte noch nicht genau herausfinden, wann die Warnungen getriggert werden.
Wenn die Warnining kommen, dann kommen sie zyklisch für ca. 20 Minuten.
Wenn so ein 20 Minuten Block durch ist, kommt der nächste Block nach 1h - 1,5h erst wieder.2020-06-09 12:15:55.677 - info: rainbird.0 (31378) starting. Version 0.2.3 in /opt/iobroker/node_modules/iobroker.rainbird, node: v12.18.0, js-controller: 3.1.5 2020-06-09 12:15:55.716 - info: rainbird.0 (31378) [START] Starting Rain Bird adapter V0.2.3r44 2020-06-09 12:15:55.723 - info: rainbird.0 (31378) [INFO] Configured polling interval: 20000 2020-06-09 12:17:00.067 - info: host.beebox(iobrokerMaster) instance system.adapter.daswetter.0 started with pid 31394 2020-06-09 12:17:01.705 - info: daswetter.0 (31394) starting. Version 3.0.1 in /opt/iobroker/node_modules/iobroker.daswetter, node: v12.18.0, js-controller: 3.1.5 2020-06-09 12:17:08.164 - info: daswetter.0 (31394) Terminated (NO_ERROR): Without reason 2020-06-09 12:17:08.693 - info: host.beebox(iobrokerMaster) instance system.adapter.daswetter.0 terminated with code 0 (NO_ERROR) 2020-06-09 12:21:17.025 - warn: rainbird.0 (31378) Request reply error: [null,{"statusCode":503,"body":{"type":"Buffer","data":[]},"headers":{"connection":"Keep-Alive","content-length":"0"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.62","port":80,"hostname":"192.168.178.62","hash":null,"search":null,"query":null,"pathname":"/stick","path":"/stick","href":"http://192.168.178.62/stick"},"method":"POST","headers":{"Accept-Language":"en","Accept-Encoding":"gzip, deflate","User-Agent":"RainBird/2.0 CFNetwork/811.5.4 Darwin/16.7.0","Accept":"*/*","Connection":"keep-alive","Content-Type":"application/octet-stream","content-length":160}}},{"type":"Buffer","data":[]}] 2020-06-09 12:21:17.029 - info: rainbird.0 (31378) Re-trying request (was error 503). 2020-06-09 12:21:17.243 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:17.244 - warn: rainbird.0 (31378) Error in request from client for CurrentIrrigationState: {"code":"ECONNRESET"} 2020-06-09 12:21:17.460 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:17.461 - warn: rainbird.0 (31378) Error in request from client for RainDelayGet: {"code":"ECONNRESET"} 2020-06-09 12:21:17.668 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:17.669 - warn: rainbird.0 (31378) Error in request from client for WaterBudget: {"code":"ECONNRESET"} 2020-06-09 12:21:17.876 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:17.877 - warn: rainbird.0 (31378) Error in request from client for CurrentStationsActive: {"code":"ECONNRESET"} 2020-06-09 12:21:18.088 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:18.089 - warn: rainbird.0 (31378) Error in request from client for CurrentRainSensorState: {"code":"ECONNRESET"} 2020-06-09 12:21:36.019 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:36.020 - warn: rainbird.0 (31378) Error in request from client for CurrentIrrigationState: {"code":"ECONNRESET"} 2020-06-09 12:21:36.233 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:36.233 - warn: rainbird.0 (31378) Error in request from client for RainDelayGet: {"code":"ECONNRESET"} 2020-06-09 12:21:36.442 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:36.442 - warn: rainbird.0 (31378) Error in request from client for WaterBudget: {"code":"ECONNRESET"} 2020-06-09 12:21:36.652 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:36.655 - warn: rainbird.0 (31378) Error in request from client for CurrentStationsActive: {"code":"ECONNRESET"} 2020-06-09 12:21:36.866 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:36.866 - warn: rainbird.0 (31378) Error in request from client for CurrentRainSensorState: {"code":"ECONNRESET"} 2020-06-09 12:21:55.924 - warn: rainbird.0 (31378) Request reply error: [null,{"statusCode":503,"body":{"type":"Buffer","data":[]},"headers":{"connection":"Keep-Alive","content-length":"0"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.62","port":80,"hostname":"192.168.178.62","hash":null,"search":null,"query":null,"pathname":"/stick","path":"/stick","href":"http://192.168.178.62/stick"},"method":"POST","headers":{"Accept-Language":"en","Accept-Encoding":"gzip, deflate","User-Agent":"RainBird/2.0 CFNetwork/811.5.4 Darwin/16.7.0","Accept":"*/*","Connection":"keep-alive","Content-Type":"application/octet-stream","content-length":160}}},{"type":"Buffer","data":[]}] 2020-06-09 12:21:55.925 - info: rainbird.0 (31378) Re-trying request (was error 503). 2020-06-09 12:21:56.136 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:56.137 - warn: rainbird.0 (31378) Error in request from client for CurrentIrrigationState: {"code":"ECONNRESET"} 2020-06-09 12:21:56.355 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:56.355 - warn: rainbird.0 (31378) Error in request from client for RainDelayGet: {"code":"ECONNRESET"} 2020-06-09 12:21:56.567 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:56.568 - warn: rainbird.0 (31378) Error in request from client for WaterBudget: {"code":"ECONNRESET"} 2020-06-09 12:21:56.779 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:56.779 - warn: rainbird.0 (31378) Error in request from client for CurrentStationsActive: {"code":"ECONNRESET"} 2020-06-09 12:21:56.987 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:21:56.987 - warn: rainbird.0 (31378) Error in request from client for CurrentRainSensorState: {"code":"ECONNRESET"} 2020-06-09 12:22:16.033 - warn: rainbird.0 (31378) Request reply error: [{"code":"ECONNRESET"},null,null] 2020-06-09 12:22:16.034 - warn: rainbird.0 (31378) Error in request from client for CurrentIrrigationState: {"code":"ECONNRESET"} 2020-06-09 12:22:16.153 - warn: rainbird.0 (31378) Request reply error: [null,{"statusCode":503,"body":{"type":"Buffer","data":[]},"headers":{"connection":"Keep-Alive","content-length":"0"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.178.62","port":80,"hostname":"192.168.178.62","hash":null,"search":null,"query":null,"pathname":"/stick","path":"/stick","href":"http://192.168.178.62/stick"},"method":"POST","headers":{"Accept-Language":"en","Accept-Encoding":"gzip, deflate","User-Agent":"RainBird/2.0 CFNetwork/811.5.4 Darwin/16.7.0","Accept":"*/*","Connection":"keep-alive","Content-Type":"application/octet-stream","content-length":160}}},{"type":"Buffer","data":[]}] 2020-06-09 12:22:16.153 - info: rainbird.0 (31378) Re-trying request (was error 503).Mein System
npm: 6.14.4 Admin: 4.1.1 Java Script Enging: 4.6.17 node: 12.18.0 nodejs: v12.18.0 js-controller: 3.1.5 Rainbird Adapter: Heute Mittag von Git installiert V0.2.3r44 -
@Martin-Rodewald: Danke für den Hinweis mit dem Kanal. Das werde ich mal beobachten wenn es wieder auftreten sollte.
@StrathCole: die hier nun mehrfach erwähnte Warnung
Status request failed. Requested B0 but got 00: {"type":"NotAcknowledgeResponse","commandEcho":48,"NAKCode":4}
kommt bei mir auch. Ich habe mal den Code überflogen, ob ich einen Hinweis auf die Ursache bekomme und bin auf die AbfrageWaterBudgetResponsegestoßen, was wohl irgendwas mit den "Saisonalen Anpassungen" zu tun haben muss. Die sind bei mir nicht aktiviert. Vielleicht ist das auch die Ursache bei den anderen Mitgliedern? -
@myssv Hab die PNG-Dateien im obigen Beitrag gezippt in den Spoiler gelegt.
Eingebunden werden die wie ganz normale Bilder (image-Widget). Da ich Uhulas MD nutze, kann ich sie bei Bedarf mit CSS Klasse z.B.
mdui-blue-pulsezusätzlich zum "leuchten" bringen.@bilberry Danke für die Grafiken :-)
Ich hab eine kurze Frage. Wie sorgst du in Abhängigkeit vom Status der Regner dafür, dass die Grafiken mittels CSS Klasse mdui-blue-pulse leuchten? Ich habe Uhulas CSS Klasse eingebunden und sehe auch in meiner VIS Oberfläche, dass die Grafiken leuchten, wenn ich den Wert mdui-blue-pulse bei CSS-Klasse eintrage.Aktuell sehe ich zwei Wege, zwischen leuchtenden und nicht leuchtenden Grafiken umzuschalten zu können:
a) 2 Grafiken werden übereinander gelegt und in Abhängigkeit vom Status des Regners wird die Sichtbarkeit gesteuert
b) In das Feld für die CSS Klasse wird ein Binding eingetragen z.B.: {javascript.0.Bewaesserung.RegensensorCSSKlasse} und man schreibt über ein Skript den Wert "mdui-blue-pulse" in den Datenpunkt, wenn der Regner aktiv ist.Aktuell gefällt mir Lösung b) am besten. Gibt es noch weitere Lösungsmöglichkeiten?
-
@Martin-Rodewald: Danke für den Hinweis mit dem Kanal. Das werde ich mal beobachten wenn es wieder auftreten sollte.
@StrathCole: die hier nun mehrfach erwähnte Warnung
Status request failed. Requested B0 but got 00: {"type":"NotAcknowledgeResponse","commandEcho":48,"NAKCode":4}
kommt bei mir auch. Ich habe mal den Code überflogen, ob ich einen Hinweis auf die Ursache bekomme und bin auf die AbfrageWaterBudgetResponsegestoßen, was wohl irgendwas mit den "Saisonalen Anpassungen" zu tun haben muss. Die sind bei mir nicht aktiviert. Vielleicht ist das auch die Ursache bei den anderen Mitgliedern?@bilberry said in Test Adapter Rain Bird v0.1.x GitHub:
Saisonalen Anpassungen
Bei mir ist die "Saisonalen Anpassungen" aktiviert aber die Fehler-Meldung erscheint trotzdem.
-
@bilberry Danke für die Grafiken :-)
Ich hab eine kurze Frage. Wie sorgst du in Abhängigkeit vom Status der Regner dafür, dass die Grafiken mittels CSS Klasse mdui-blue-pulse leuchten? Ich habe Uhulas CSS Klasse eingebunden und sehe auch in meiner VIS Oberfläche, dass die Grafiken leuchten, wenn ich den Wert mdui-blue-pulse bei CSS-Klasse eintrage.Aktuell sehe ich zwei Wege, zwischen leuchtenden und nicht leuchtenden Grafiken umzuschalten zu können:
a) 2 Grafiken werden übereinander gelegt und in Abhängigkeit vom Status des Regners wird die Sichtbarkeit gesteuert
b) In das Feld für die CSS Klasse wird ein Binding eingetragen z.B.: {javascript.0.Bewaesserung.RegensensorCSSKlasse} und man schreibt über ein Skript den Wert "mdui-blue-pulse" in den Datenpunkt, wenn der Regner aktiv ist.Aktuell gefällt mir Lösung b) am besten. Gibt es noch weitere Lösungsmöglichkeiten?
@Feuersturm : Ja, das sind grundsätzlich die beiden gängigen Wege, die mir bekannt sind. Zwei Grafiken übereinander versuche ich jedoch zu vermeiden. Deshalb bevorzuge ich i.d.R. den Weg über Bindings.
Allerdings musst Du nicht noch den Umweg mit einem Skript und separaten Datenpunkt machen.
Am Beispiel des Regensensor-Icons könntet Du ins Feld "CSS-Klasse" nämlich direkt folgendes eintragen:{val:rainbird.0.device.sensors.rain;val=="true"? "mdui-blue-pulse": " "}Den ein oder anderen Tipp findest Du vielleicht auch noch in den Antworten auf meine diesbezüglichen Fragen im "Material Design CSS für ioBroker.vis"-Thread: Link 1 / Link 2
@ioBrockerNewbee: OK, dann lag ich mit meiner Vermutung doch daneben. Müssen wir abwarten bis @StrathCole eine fundierte Aussage dazu machen kann.
-
Zu dem Problem mit der saisonalen Anpassung kann ich aktuell nicht viel sagen. Es scheint so zu sein, dass bei manchen Steuergeräten hier andere Parameter erwartet werden. Daher liefern diese dann bei der entsprechenden Anfrage einen Fehler zurück.
00heißt im Grunde nur so viel wie "Befehl nicht akzeptiert". DerNAKCodeist mir noch nicht ganz klar, was welcher Wert bedeutet. Ich meine, dass2bedeutet, zu wenige Parameter gesendet. Den Wert4hatte ich bisher noch nicht herausgefunden. -
Ich habe gerade mein ESP-TM2 installiert und einfach mal den Adapter gestartet (wohl wissend, dass hier noch nie jemand von tm2 gesprochen hat und somit manche dinge evtl nicht funktionieren.
Was ich feststellen kann ist, dass bei den Objekten unter Commands gar nichts angelegt wird und dass irgendwie under stations.1 auch nichts (die restlichen sind korrekt da, also 2-4).
Gleichzeitig steht device.irrigation.active auf "true" und device.irrigation.station auf "0" obwohl nix läuft - soll das so?
Stelle mich gerne als Tester zur Verfügung, falls der Bedarf besteht den Adapter auch auf TM2 voll funktionsfähig zu bekommen.
Und großen Dank für Deine Mühen!!!
@tobitobsta sagte in Test Adapter Rain Bird v0.1.x GitHub:
Gleichzeitig steht device.irrigation.active auf "true" und device.irrigation.station auf "0" obwohl nix läuft - soll das so?
Dieses Verhalten sehe ich bei mir auch. Ich verwende eine ESP-ME mit Adapterversion v 0.2.3r44
Wenn ich Programm A manuell starte wird der aktive Kreis unterrainbird.0.device.irrigation.stationkorrekt angezeigt. Das Objektrainbird.0.device.irrigation.activeist aber durchgehend auf true, egal ob die Bewässerung läuft oder nicht.@StrathCole Du hattest weiter oben geschrieben, dass du gerade im Job gut eingespannt bist. Hilft es dir, wenn github issues für die Auffälligkeiten erstellt werden oder wühlst du dich Stück für Stück hier durch den Faden durch?
-
@tobitobsta sagte in Test Adapter Rain Bird v0.1.x GitHub:
Gleichzeitig steht device.irrigation.active auf "true" und device.irrigation.station auf "0" obwohl nix läuft - soll das so?
Dieses Verhalten sehe ich bei mir auch. Ich verwende eine ESP-ME mit Adapterversion v 0.2.3r44
Wenn ich Programm A manuell starte wird der aktive Kreis unterrainbird.0.device.irrigation.stationkorrekt angezeigt. Das Objektrainbird.0.device.irrigation.activeist aber durchgehend auf true, egal ob die Bewässerung läuft oder nicht.@StrathCole Du hattest weiter oben geschrieben, dass du gerade im Job gut eingespannt bist. Hilft es dir, wenn github issues für die Auffälligkeiten erstellt werden oder wühlst du dich Stück für Stück hier durch den Faden durch?
@Feuersturm sagte in Test Adapter Rain Bird v0.1.x GitHub:
@StrathCole Du hattest weiter oben geschrieben, dass du gerade im Job gut eingespannt bist. Hilft es dir, wenn github issues für die Auffälligkeiten erstellt werden oder wühlst du dich Stück für Stück hier durch den Faden durch?
Issues sind natürlich immer hilfreich, damit nichts in Vergessenheit gerät. :-)
Habt ihr mal getestet, ob
rainbird.0.device.irrigation.activeauf false springt, wenn ihr den Controller manuell auf "stop" setzt, also nicht in der App, sondern den Regler am Gerät? -
@Feuersturm sagte in Test Adapter Rain Bird v0.1.x GitHub:
@StrathCole Du hattest weiter oben geschrieben, dass du gerade im Job gut eingespannt bist. Hilft es dir, wenn github issues für die Auffälligkeiten erstellt werden oder wühlst du dich Stück für Stück hier durch den Faden durch?
Issues sind natürlich immer hilfreich, damit nichts in Vergessenheit gerät. :-)
Habt ihr mal getestet, ob
rainbird.0.device.irrigation.activeauf false springt, wenn ihr den Controller manuell auf "stop" setzt, also nicht in der App, sondern den Regler am Gerät?@StrathCole Kann ich morgen gerne mal ausprobieren.
-
Habe heute mal den Adapter komplett neu installiert, weil ich mir nicht sicher war ob das Update richtig funktiniert hat. Die neun Funktiuoinen, dass nur die verfügbaren Stationen als DP geladen werden, hat funktioniert. Danke!
Was ich aber nach wie vor vermisse, ist der DP
rainbird.X.device.settings.seasonalAdjust
Der erschein bei mir nicht, obwohl die Saisonale anpassung aktiviert ist (wird in App und am Controller angezeigt)Wo kann ich eigenlich sehen welche "r-Version" gerade installiert ist? Habe weder im ioBroker noch auf github einen Hinweis darauf gefunden.
-
Habe heute mal den Adapter komplett neu installiert, weil ich mir nicht sicher war ob das Update richtig funktiniert hat. Die neun Funktiuoinen, dass nur die verfügbaren Stationen als DP geladen werden, hat funktioniert. Danke!
Was ich aber nach wie vor vermisse, ist der DP
rainbird.X.device.settings.seasonalAdjust
Der erschein bei mir nicht, obwohl die Saisonale anpassung aktiviert ist (wird in App und am Controller angezeigt)Wo kann ich eigenlich sehen welche "r-Version" gerade installiert ist? Habe weder im ioBroker noch auf github einen Hinweis darauf gefunden.
@bilberry Die r-Version siehst du im Log beim Start des Adapters. Wenn der Datenpunkt fehlt, kann es sein, dass dein Controller andere Antworten liefert, als ich bei meinem kriege, und daher aufgrund einer unbekannten Antwort der DP nicht angelegt wird
-
@myssv Ich mache mir das via Hilfsscript, weil der Controller die Zeit immer in Sekunden liefert. Ich weiß nicht, ob es sinnvoll wäre, das direkt im Adapter zu integrieren, da jeder User die Daten anders verarbeiten will. Was ich noch vorhabe, ist, die Restlaufzeit intern im Adapter feinkörniger runterzuzählen. Unabhängig von der Polling-Time.
In meinem Fall sieht das Skript so aus:
if(existsState('javascript.0.vis.rainbird.remaining_1') === false) { createState('vis.rainbird.remaining_1', '', {name: 'Restlaufzeit Station 1', unit: '', type: 'string', role: 'text', def: ''}); } if(existsState('javascript.0.vis.rainbird.remaining_2') === false) { createState('vis.rainbird.remaining_2', '', {name: 'Restlaufzeit Station 2', unit: '', type: 'string', role: 'text', def: ''}); } if(existsState('javascript.0.vis.rainbird.remaining_3') === false) { createState('vis.rainbird.remaining_3', '', {name: 'Restlaufzeit Station 3', unit: '', type: 'string', role: 'text', def: ''}); } if(existsState('javascript.0.vis.rainbird.remaining_4') === false) { createState('vis.rainbird.remaining_4', '', {name: 'Restlaufzeit Station 4', unit: '', type: 'string', role: 'text', def: ''}); } on({id: ['rainbird.0.device.stations.1.remaining', 'rainbird.0.device.stations.2.remaining', 'rainbird.0.device.stations.3.remaining', 'rainbird.0.device.stations.4.remaining'], change: 'any'}, function(obj) { if(obj.state.ack !== true) { return; } let id = 'remaining_1'; if(obj.id === 'rainbird.0.device.stations.2.remaining') { id = 'remaining_2' } else if(obj.id === 'rainbird.0.device.stations.3.remaining') { id = 'remaining_3' } else if(obj.id === 'rainbird.0.device.stations.4.remaining') { id = 'remaining_4' } let minutes = Math.floor(obj.state.val / 60); let seconds = obj.state.val - (minutes * 60); setState('javascript.0.vis.rainbird.' + id, minutes + ':' + (seconds < 10 ? '0' : '') + seconds, true); });@StrathCole sagte in Test Adapter Rain Bird v0.1.x GitHub:
@myssv Ich mache mir das via Hilfsscript, weil der Controller die Zeit immer in Sekunden liefert. Ich weiß nicht, ob es sinnvoll wäre, das direkt im Adapter zu integrieren, da jeder User die Daten anders verarbeiten will. Was ich noch vorhabe, ist, die Restlaufzeit intern im Adapter feinkörniger runterzuzählen. Unabhängig von der Polling-Time.
In meinem Fall sieht das Skript so aus:
Ich suche gerade eine Möglichkeit direkt in VIS die Restlaufzeit (Angabe in Sekunden) direket als Ausgabe "x min y s" darstellen zu können. Kann man diese Berechnung und Darstellung direkt in einem Widget machen oder kommt hier um ein Skript + zusätzliche Datenpunkte nicht drumherum?
-
@StrathCole sagte in Test Adapter Rain Bird v0.1.x GitHub:
@myssv Ich mache mir das via Hilfsscript, weil der Controller die Zeit immer in Sekunden liefert. Ich weiß nicht, ob es sinnvoll wäre, das direkt im Adapter zu integrieren, da jeder User die Daten anders verarbeiten will. Was ich noch vorhabe, ist, die Restlaufzeit intern im Adapter feinkörniger runterzuzählen. Unabhängig von der Polling-Time.
In meinem Fall sieht das Skript so aus:
Ich suche gerade eine Möglichkeit direkt in VIS die Restlaufzeit (Angabe in Sekunden) direket als Ausgabe "x min y s" darstellen zu können. Kann man diese Berechnung und Darstellung direkt in einem Widget machen oder kommt hier um ein Skript + zusätzliche Datenpunkte nicht drumherum?
@Feuersturm Es könnte evtl. mit Object-Bindings gehen, aber aus Lesbarkeits- und Preformancegründen würde ich es wohl eher mit einem Skript und separatem DP machen.
