NEWS
Test Adapter Rain Bird v0.1.x GitHub
-
@myssv hm, er zeigt einen Fehler beim manuellen Start der Zone. Oder hattest du mehrfach versucht?
-
Ich hatte die Zone 2 einmal gestartet, etwas laufen lassen und dann abgebrochen.
-
@myssv oje. Scheinbar liefert dein Steuergerät andere Daten.
Kannst du Mal ein Log machen, in dem du alle Stationen nacheinander mit unterschiedlichen Laufzeiten anschaltest? -
Kann ich gerne machen, aber nicht jetzt. Meine Frau ist mit unserem Hund im Garten. Wenn ich da die Bewässerung aktivieren war es mein letztes Osterfest
Reicht Dir die Anschaltung mit anschließendem Abbruch oder soll ich die Kreise auch durchlaufen lassen?
-
@myssv reicht, wenn es mindestens so lange läuft, bis er einmal gepollt hat, also die Pollingtime aus der Konfig (bei mir 30 Sekunden). dann habe ich für jede Station 2 Werte im Log, das sollte reichen.
-
Neues Log ist per Mail unterwegs.
-
@myssv Ich habe eine neue Version ins Git geladen, die hoffentlich die korrekten Daten aus deinem Modell ausliest.
Installieren kannst du es via Admin über "Adapter" -> Oben das Symbol mit der Katze (3. von rechts bei mir) -> Andere Quelle ->https://github.com/StrathCole/ioBroker.rainbird
Beim Start sollte im Log dann auch stehen "V0.2.1r34"
-
@StrathCole sagte in Test Adapter Rain Bird v0.1.x GitHub:
Beim Start sollte im Log dann auch stehen "V0.2.1r34"
Die Version habe ich jetzt, aber es wird leider immer noch keine Restlaufzeit angezeigt. Bleibt weiterhin auf 0 stehen
-
@myssv dann bitte noch mal ein Log, ein Ventil reicht aber.
-
Mail ist raus
-
@myssv Machst du bitte noch mal ein Update auf r35 via Git und prüfst es erneut?
-
Jetzt funktioniert es!
Danke dass Du die Feiertage für mich entwickelt hast!!
-
Kannst Du die Restlaufzeit auch noch in Minuten angeben? Ich stelle ja auch auf Minuten ein und der Sekundenwert wird ja nur alle x-Sekunden aktulisiert (bei mir ca. 20 Sekunden). Da läuft der Zeiger recht abgehackt.
-
@myssv Was würden dir die Minuten bringen? Verstehe es gerade noch nicht ganz.
-
Ich stelle die Laufzeit in Minuten ein:
Und würde gerne wenn die Bewässerung läuft, den Slider ausblenden und an gleicher Stelle den Restlaufzeit-Slider einblenden:
Das sind aber unterschiedliche Einheiten. Außerdem wird die Restlaufzeit nur alle 20 Sekunden aktualisiert, so dass die Sekunden nur springen und nicht sauber runter zählen.
Rein optische Kosmetik!
-
@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); });
-
OK, das könnte ich mir umbauen.
Auf 6 Stationen habe ich es schon erweitert, aber wie definiere ich die Variablen als Zahlen?
Ich würde dann dort nur die Minuten rein schreiben und könnte dann den Slider auf diesen Datenpunkt aufsetzen und hätte meinen Wunsch erfüllt.
-
@myssv sagte in Test Adapter Rain Bird v0.1.x GitHub:
OK, das könnte ich mir umbauen.
Auf 6 Stationen habe ich es schon erweitert, aber wie definiere ich die Variablen als Zahlen?
Ich würde dann dort nur die Minuten rein schreiben und könnte dann den Slider auf diesen Datenpunkt aufsetzen und hätte meinen Wunsch erfüllt.
also statt
createState('vis.rainbird.remaining_4', '', {name: 'Restlaufzeit Station 4', unit: '', type: 'string', role: 'text', def: ''});
dann
createState('vis.rainbird.remaining_4', 0, {name: 'Restlaufzeit Station 4', unit: 'min', type: 'number', role: 'value', def: 0});
-
Danke!!
Ist jetzt genauso, wie ich es mir gewünscht habe!!
-
@myssv Die neue r36 hat nun sekundengenaue Restzeit. Ist gerade im Git gelandet.