NEWS
Test Adapter Gartenbewässerung v0.0.x
-
Vielen Dank für das nochmalige Update. Du siehst, dass dein Adapter von den Usern ebenfalls als sehr gut eingeschätzt wird und auch wenn der andere Adapter aus deiner Sicht besser ist, die Nutzer sich in großer Zahl für deinen entscheiden. Da hast du wirklich klasse Arbeit geleistet!
-
@snapergy sehe ich genauso!
Würde mir ebenfalls eine Weiterentwicklung wünschen! -
Ich wollte gerade das Update auf die Version 0.0.8 machen, weil ich immer noch die folgenden Fehler angezeigt bekommen.
gartenbewaesserung.0 2021-05-26 10:05:05.700 warn (248) Read-only state "gartenbewaesserung.0.status.startAbend" has been written without ack-flag with value "Wed May 26 2021 20:39:43 GMT+0200" gartenbewaesserung.0 2021-05-26 10:05:05.699 warn (248) Read-only state "gartenbewaesserung.0.status.startMorgen" has been written without ack-flag with value "Wed May 26 2021 05:40:21 GMT+0200" gartenbewaesserung.0 2021-05-26 10:05:05.698 warn (248) Read-only state "gartenbewaesserung.0.status.sonnenuntergang" has been written without ack-flag with value "21:24:43 GMT+0200 (Mitteleuropäische Sommerzeit)" gartenbewaesserung.0 2021-05-26 10:05:05.697 warn (248) Read-only state "gartenbewaesserung.0.status.sonnenaufgang" has been written without ack-flag with value "05:10:21 GMT+0200 (Mitteleuropäische Sommerzeit)" gartenbewaesserung.0 2021-05-26 10:05:05.541 info (248) State value to set for "gartenbewaesserung.0.status.ventil4.restzeit_sek" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.539 info (248) State value to set for "gartenbewaesserung.0.status.ventil4.fortschritt" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.538 info (248) State value to set for "gartenbewaesserung.0.status.ventil4.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:05:05.522 info (248) State value to set for "gartenbewaesserung.0.status.ventil3.restzeit_sek" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.521 info (248) State value to set for "gartenbewaesserung.0.status.ventil3.fortschritt" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.520 info (248) State value to set for "gartenbewaesserung.0.status.ventil3.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:05:05.518 info (248) State value to set for "gartenbewaesserung.0.status.ventil2.restzeit_sek" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.518 info (248) State value to set for "gartenbewaesserung.0.status.ventil2.fortschritt" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.517 info (248) State value to set for "gartenbewaesserung.0.status.ventil2.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:05:05.514 info (248) State value to set for "gartenbewaesserung.0.status.ventil1.restzeit_sek" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.513 info (248) State value to set for "gartenbewaesserung.0.status.ventil1.fortschritt" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.512 info (248) State value to set for "gartenbewaesserung.0.status.ventil1.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:05:05.511 info (248) State value to set for "gartenbewaesserung.0.status.ventil4.restzeit_sek" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.510 info (248) State value to set for "gartenbewaesserung.0.status.ventil4.fortschritt" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.509 info (248) State value to set for "gartenbewaesserung.0.status.ventil4.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:05:05.508 info (248) State value to set for "gartenbewaesserung.0.status.ventil3.restzeit_sek" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.507 info (248) State value to set for "gartenbewaesserung.0.status.ventil3.fortschritt" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.506 info (248) State value to set for "gartenbewaesserung.0.status.ventil3.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:05:05.504 info (248) State value to set for "gartenbewaesserung.0.status.ventil2.restzeit_sek" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.503 info (248) State value to set for "gartenbewaesserung.0.status.ventil2.fortschritt" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.502 info (248) State value to set for "gartenbewaesserung.0.status.ventil2.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:05:05.501 info (248) State value to set for "gartenbewaesserung.0.status.ventil1.restzeit_sek" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.500 info (248) State value to set for "gartenbewaesserung.0.status.ventil1.fortschritt" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 10:05:05.498 info (248) State value to set for "gartenbewaesserung.0.status.ventil1.active" has to be type "string" but received type "boolean"
Seit der Admin Version 5.x.x funktioniert unter ioB / Windows aber das Adapter Update aus dem Admin heraus bei manchen Adapter nicht mehr. Es kommt dann ein sogenannter EBUSY Fehler. Leider gehört dein Adapter dazu.
Der Workaround ist das Update aus der Konsole heraus durchzuführen. Aber auch das funktioniert im Fall der Version 0.0.8 nicht.
Hast du eine Idee dazu?
C:\iobroker\GLT>npm install iobroker.gartenbewaesserung@0.0.8 npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.org/iobroker.gartenbewaesserung - Not found npm ERR! 404 npm ERR! 404 'iobroker.gartenbewaesserung@0.0.8' is not in the npm registry. npm ERR! 404 You should bug the author to publish it (or use the name yourself!) npm ERR! 404 npm ERR! 404 Note that you can also install from a npm ERR! 404 tarball, folder, http url, or git url. npm ERR! A complete log of this run can be found in: npm ERR! C:\iobroker\GLT\env\npm-cache\_logs\2021-05-26T08_17_13_008Z-debug.log C:\iobroker\GLT>
-
@jb_sullivan Installation geht nur über GitHub Katze wie im ersten Beitrag beschrieben
-
Wie gesagt, GITHUB Katze geht derzeit unter Admin 5.x.x wegen EBUSY Fehler nicht.
Ich habe es aber doch noch hin bekommen und habe jetzt die 0.0.8 drauf. Trotzdem tauchen im LOG immer noch ein paar Fehlermeldungen auf.
gartenbewaesserung.0 2021-05-26 10:44:59.822 warn (5768) Read-only state "gartenbewaesserung.0.status.startAbendTimestamp" has been written without ack-flag with value "1622054383" gartenbewaesserung.0 2021-05-26 10:44:59.811 info (5768) State value to set for "gartenbewaesserung.0.status.ventil4.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:44:59.809 info (5768) State value to set for "gartenbewaesserung.0.status.ventil3.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:44:59.802 info (5768) State value to set for "gartenbewaesserung.0.status.ventil2.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:44:59.801 info (5768) State value to set for "gartenbewaesserung.0.status.ventil1.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:44:59.799 info (5768) State value to set for "gartenbewaesserung.0.status.ventil4.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:44:59.798 info (5768) State value to set for "gartenbewaesserung.0.status.ventil3.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:44:59.797 info (5768) State value to set for "gartenbewaesserung.0.status.ventil2.active" has to be type "string" but received type "boolean" gartenbewaesserung.0 2021-05-26 10:44:59.795 info (5768) State value to set for "gartenbewaesserung.0.status.ventil1.active" has to be type "string" but received type "boolean"
-
@jb_sullivan die objekte müssen vorher gelöscht werden damit sie korrekt neu erstellt werden
-
@tombox Habe ich gemacht, aber das ändert nichts.
gartenbewaesserung.0 2021-05-26 19:31:28.417 info (1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:31:28.415 info (1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:31:28.414 info (1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:31:28.412 info (1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:31:28.393 info (1988) Stop ventil4 gartenbewaesserung.0 2021-05-26 19:31:28.388 info (1988) Stop ventil3 gartenbewaesserung.0 2021-05-26 19:31:28.383 info (1988) Stop ventil2 gartenbewaesserung.0 2021-05-26 19:31:28.378 info (1988) Stop ventil1 gartenbewaesserung.0 2021-05-26 19:31:28.377 info (1988) Bewässerung stop gartenbewaesserung.0 2021-05-26 19:31:24.440 info (1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:31:24.439 warn (1988) Read-only state "gartenbewaesserung.0.status.ventil1.endeTimestamp" has been written without ack-flag with value "1622052084" gartenbewaesserung.0 2021-05-26 19:31:24.438 warn (1988) Read-only state "gartenbewaesserung.0.status.ventil1.ende" has been written without ack-flag with value "Wed May 26 2021 20:01:24 GMT+0200" gartenbewaesserung.0 2021-05-26 19:31:24.437 info (1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:31:24.426 info (1988) Start ventil1 gartenbewaesserung.0 2021-05-26 19:31:24.408 info (1988) Stop ventil4 in 5130sek gartenbewaesserung.0 2021-05-26 19:31:24.408 info (1988) Start ventil4 in 3630sek gartenbewaesserung.0 2021-05-26 19:31:24.408 info (1988) Stop ventil3 in 3620sek gartenbewaesserung.0 2021-05-26 19:31:24.407 info (1988) Stop ventil2 in 3610sek gartenbewaesserung.0 2021-05-26 19:31:24.407 info (1988) Start ventil2 in 1810sek gartenbewaesserung.0 2021-05-26 19:31:24.406 info (1988) Stop ventil1 in 1800sek gartenbewaesserung.0 2021-05-26 19:31:24.406 info (1988) Start ventil1 in 0sek gartenbewaesserung.0 2021-05-26 19:31:24.377 info (1988) Start pumpe gartenbewaesserung.0 2021-05-26 19:31:24.376 info (1988) Start Bewaesserung gartenbewaesserung.0 2021-05-26 19:31:24.194 info (1988) Stop ventil4 gartenbewaesserung.0 2021-05-26 19:31:24.194 info (1988) Stop ventil3 gartenbewaesserung.0 2021-05-26 19:31:24.193 info (1988) Stop ventil2 gartenbewaesserung.0 2021-05-26 19:31:24.192 info (1988) Stop ventil1 gartenbewaesserung.0 2021-05-26 19:31:24.191 info (1988) Bewässerung stop gartenbewaesserung.0 2021-05-26 19:30:51.762 warn (1988) Read-only state "gartenbewaesserung.0.status.startAbendTimestamp" has been written without ack-flag with value "1622054383"
-
@jb_sullivan Sollte so nicht passieren.. Alle objekte löschen. Per github installieren und instanz neustarten?
-
@tombox Genau so - habe ich alles genau so gemacht. Admin und js-controler ist latest letzter Stand.
Habe es nochmal auf DEBUG gestellt - aber da kommt auch nicht viel bei raus.
gartenbewaesserung.0 2021-05-26 19:39:46.507 debug (12300) system.adapter.admin.0: logging true gartenbewaesserung.0 2021-05-26 19:39:42.848 warn (12300) Read-only state "gartenbewaesserung.0.status.startAbendTimestamp" has been written without ack-flag with value "1622054383" gartenbewaesserung.0 2021-05-26 19:39:42.738 info (12300) Stop ventil4 gartenbewaesserung.0 2021-05-26 19:39:42.738 info (12300) Stop ventil3 gartenbewaesserung.0 2021-05-26 19:39:42.737 info (12300) Stop ventil2 gartenbewaesserung.0 2021-05-26 19:39:42.737 info (12300) Stop ventil1 gartenbewaesserung.0 2021-05-26 19:39:42.736 info (12300) Bewässerung stop gartenbewaesserung.0 2021-05-26 19:39:42.735 info (12300) Stop ventil4 gartenbewaesserung.0 2021-05-26 19:39:42.734 info (12300) Stop ventil3 gartenbewaesserung.0 2021-05-26 19:39:42.734 info (12300) Stop ventil2 gartenbewaesserung.0 2021-05-26 19:39:42.731 info (12300) Stop ventil1 gartenbewaesserung.0 2021-05-26 19:39:41.743 info (12300) starting. Version 0.0.8 in C:/iobroker/GLT/node_modules/iobroker.gartenbewaesserung, node: v14.16.0, js-controller: 3.3.11 gartenbewaesserung.0 2021-05-26 19:39:41.325 debug (12300) statesDB connected gartenbewaesserung.0 2021-05-26 19:39:41.324 debug (12300) States connected to redis: 127.0.0.1:9000 gartenbewaesserung.0 2021-05-26 19:39:41.310 debug (12300) States create User PubSub Client gartenbewaesserung.0 2021-05-26 19:39:41.309 debug (12300) States create System PubSub Client gartenbewaesserung.0 2021-05-26 19:39:41.296 debug (12300) Redis States: Use Redis connection: 127.0.0.1:9000 gartenbewaesserung.0 2021-05-26 19:39:41.294 debug (12300) objectDB connected gartenbewaesserung.0 2021-05-26 19:39:41.284 debug (12300) Objects connected to redis: 127.0.0.1:9001 gartenbewaesserung.0 2021-05-26 19:39:41.263 debug (12300) Objects client initialize lua scripts gartenbewaesserung.0 2021-05-26 19:39:41.263 debug (12300) Objects create User PubSub Client gartenbewaesserung.0 2021-05-26 19:39:41.262 debug (12300) Objects create System PubSub Client gartenbewaesserung.0 2021-05-26 19:39:41.259 debug (12300) Objects client ready ... initialize now gartenbewaesserung.0 2021-05-26 19:39:41.215 debug (12300) Redis Objects: Use Redis connection: 127.0.0.1:9001
gartenbewaesserung.0 2021-05-26 19:42:42.836 info (12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:42:32.839 info (12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:42:22.834 info (12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:42:12.837 info (12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:42:02.837 info (12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:41:52.833 info (12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:41:46.796 info (12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:41:46.795 warn (12300) Read-only state "gartenbewaesserung.0.status.ventil1.endeTimestamp" has been written without ack-flag with value "1622052706" gartenbewaesserung.0 2021-05-26 19:41:46.794 warn (12300) Read-only state "gartenbewaesserung.0.status.ventil1.ende" has been written without ack-flag with value "Wed May 26 2021 20:11:46 GMT+0200" gartenbewaesserung.0 2021-05-26 19:41:46.793 info (12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string" gartenbewaesserung.0 2021-05-26 19:41:46.779 info (12300) Start ventil1 gartenbewaesserung.0 2021-05-26 19:41:46.762 info (12300) Stop ventil4 in 5130sek gartenbewaesserung.0 2021-05-26 19:41:46.762 info (12300) Start ventil4 in 3630sek gartenbewaesserung.0 2021-05-26 19:41:46.761 info (12300) Stop ventil3 in 3620sek gartenbewaesserung.0 2021-05-26 19:41:46.761 info (12300) Stop ventil2 in 3610sek gartenbewaesserung.0 2021-05-26 19:41:46.760 info (12300) Start ventil2 in 1810sek gartenbewaesserung.0 2021-05-26 19:41:46.760 info (12300) Stop ventil1 in 1800sek gartenbewaesserung.0 2021-05-26 19:41:46.759 info (12300) Start ventil1 in 0sek gartenbewaesserung.0 2021-05-26 19:41:46.739 info (12300) Start pumpe gartenbewaesserung.0 2021-05-26 19:41:46.738 info (12300) Start Bewaesserung gartenbewaesserung.0 2021-05-26 19:41:46.599 info (12300) Stop ventil4 gartenbewaesserung.0 2021-05-26 19:41:46.599 info (12300) Stop ventil3 gartenbewaesserung.0 2021-05-26 19:41:46.599 info (12300) Stop ventil2 gartenbewaesserung.0 2021-05-26 19:41:46.598 info (12300) Stop ventil1 gartenbewaesserung.0 2021-05-26 19:41:46.597 info (12300) Bewässerung stop
-
Nur mal so eine Idee - hängt die folgende Fehlermeldung des Adapters ggf. damit zusammen, das die Astro Funktion, in den Sommermonaten ab Bielefeld und weiter nördlich diesen Fehler generiert?
gartenbewaesserung.0 2021-05-28 14:09:43.090 warn (12300) Read-only state "gartenbewaesserung.0.status.startAbendTimestamp" has been written without ack-flag with value "1622227340"
Siehe - https://forum.iobroker.net/topic/45192/javajcript-und-astro-funktion-macht-propleme
javascript.0 2021-05-28 14:00:00.033 error (11640) Cannot get astro date for "night" javascript.0 2021-05-28 14:00:00.028 error (11640) Cannot get astro date for "nightEnd"
-
@jb_sullivan
Ich vermute das auch. Ich habe hier ein Script mit einer kleinen Variation. Das läuft auch im Sommer einwandfrei. Ich wohne auch nördlich von Bielefeld. Da gibt es im Sommer Probleme mit dem Datenpunkt "Nacht". Ich glaube, dass Script stammt von Paul.Hier der Code:
const sec = false; // Sekunden darstellen oder nicht const fC = true; // forceCreation ein/aus const pfad = "Astro"; // Pfad zum Objekt - Objektbaum-Hauptverzeichnis // ***************************************************************************** // TAGESZEITEN - T E I L // Tageszeiten nach eigenem Gusto (Shifts siehe schedules weiter unten) const tageszeiten = ["Nacht", "Morgendämmerung", "Sonnenaufgang", "Morgen", "Vormittag", "Mittag", "Nachmittag", "Abend", "Sonnenuntergang", "Abenddämmerung" ]; const idTageszeit = "javascript." + instance + "." + pfad + ".Tageszeit.current" /*Tageszeit*/, idTageszeitNext = "javascript." + instance + "." + pfad + ".Tageszeit.next"; createState(idTageszeit, "nächsten Wechsel abwarten", fC, { name: "Tageszeit", desc: "Name der Tageszeit", type: "string" }); createState(idTageszeitNext, "nächsten Wechsel abwarten", fC, { name: "nächste Tageszeit", desc: "Name der nächsten Tageszeit", type: "string" }); function neue_tageszeit(abschnitt) { var akt = tageszeiten[parseInt(abschnitt, 10)], // wenn aktuelles Element ist letztes, dann nächstes ist erstes :-D nxt = (abschnitt + 1 === tageszeiten.length) ? tageszeiten[0] : tageszeiten[parseInt(abschnitt + 1, 10)]; setState(idTageszeit, akt); setState(idTageszeitNext, nxt); log("neue Tagezeit: " + akt); log("nächte kommende Tagezeit: " + nxt); } // Nacht schedule({ astro: "nauticalDusk", shift: 45 }, function () { neue_tageszeit(0); }); // Morgengdämmerung schedule({ astro: "nauticalDawn", shift: -45 }, function () { neue_tageszeit(1); }); // Sonnenaufgang schedule({ astro: "sunrise" }, function() { neue_tageszeit(2); }); // Morgen schedule({ astro: "sunriseEnd" }, function () { neue_tageszeit(3); }); // Vormittag schedule({ astro: "goldenHourEnd", shift: 60 }, function () { neue_tageszeit(4); }); // Mittag schedule({ astro: "solarNoon", shift: -30 }, function () { neue_tageszeit(5); }); // Nachmittag schedule({ astro: "solarNoon", shift: 30 }, function () { neue_tageszeit(6); }); // Abend schedule({ astro: "goldenHour", shift: -60 }, function () { neue_tageszeit(7); }); // Sonnenuntergang schedule({ astro: "sunsetStart", }, function () { neue_tageszeit(8); }); // Abenddämmerung (nach Sonnenuntergang) schedule({ astro: "sunset" }, function () { neue_tageszeit(9); }); // ***************************************************************************** // A S T O - T E I L /* Objekt Astrotag Astrotag liegt zwischen Sonnauf- und untergang, Astronacht liegt zwischen Sonnenunter- und aufgang */ const idAstrotag = "javascript." + instance + "." + pfad + ".Astrotag"; // Objekt für Uhrzeiten der Astrozeiten const astrotime = { "elements" : [ // Astrotag beginnt { "fname" : "sunrise", // function name "de" : { "name" : "Sonnenaufgang", "nxt" : "nächster", "desc" : "" }, "en" : { "name" : "Sunrise", "desc" : "top edge of the sun appears on the horizon" }, "astroday" : true //during astroday }, { "fname" : "sunriseEnd", // function name "de" : { "name" : "Ende Sonnenaufgang", "nxt" : "nächstes", "desc" : "" }, "en" : { "name" : "End of sunrise", "desc" : "bottom edge of the sun touches the horizon" }, "astroday" : true //during astroday }, { "fname" : "goldenHourEnd", // function name "de" : { "name" : "Ende der goldenen Stunde am Morgen", "nxt" : "nächstes", "desc" : "" }, "en" : { "name" : "End of golden hour", "desc" : "morning golden hour (soft light, best time for photography) ends" }, "astroday" : true //during astroday }, { "fname" : "solarNoon", // function name "de" : { "name" : "Sonnenhöchststand", "nxt" : "nächster", "desc" : "" }, "en" : { "name" : "Solar noon", "desc" : "sun is in the highest position" }, "astroday" : true //during astroday }, { "fname" : "goldenHour", // function name "de" : { "name" : "Goldene Stunde (am Abend)", "nxt" : "nächste", "desc" : "" }, "en" : { "name" : "Golden hour", "desc" : "evening golden hour starts" }, "astroday" : true //during astroday }, { "fname" : "sunsetStart", // function name "de" : { "name" : "Beginn Sonnenuntergang", "nxt" : "nächster", "desc" : "" }, "en" : { "name" : "Sunset starts", "desc" : "bottom edge of the sun touches the horizon" }, "astroday" : true //during astroday }, // Astronacht beginnt { "fname" : "sunset", // function name "de" : { "name" : "Sonnenuntergang", "nxt" : "nächster", "desc" : "" }, "en" : { "name" : "Sunset", "desc" : "sun disappears below the horizon, evening civil twilight starts" }, "astroday" : false //during astronight }, { "fname" : "dusk", "de" : { "name" : "Abenddämmerung", "nxt" : "nächste", "desc" : "" }, "en" : { "name" : "Dusk", "desc" : "evening nautical twilight starts" }, "astroday" : false //during astronight }, { "fname" : "nauticalDusk", "de" : { "name" : "nautische Abenddämmerung", "nxt" : "nächste", "desc" : "" }, "en" : { "name" : "Nautical dusk", "desc" : "evening astronomical twilight starts" }, "astroday" : false //during astronight }, { "fname" : "nadir", "de" : { "name" : "Nadir", "nxt" : "nächster", "desc" : "Fußpunkt gegenüber dem Zenit" }, "en" : { "name" : "Nadir", "desc" : "darkest moment of the night, sun is in the lowest position" }, "astroday" : false //during astronight }, { "fname" : "nauticalDawn", "de" : { "name" : "nautische Morgendämmerung", "nxt" : "nächste", "desc" : "" }, "en" : { "name" : "Nautical dawn", "desc" : "morning nautical twilight starts" }, "astroday" : false //during astronight }, { "fname" : "dawn", "de" : { "name" : "Morgendämmerung", "nxt" : "nächste", "desc" : "" }, "en" : { "name" : "dawn", "desc" : "morning nautical twilight ends, morning civil twilight starts" }, "astroday" : false //during astronight } ] }; function writeAstroTimes(i) { // führende Nummer zur Sortierung in Admin/Objekte var nr = (i+1 < 10) ? "0" + (i+1) : (i+1); // Erstelle Objekt, falls nicht bereits vorhanden var idAstroObject = "javascript." + instance + "." + pfad + ".Zeiten." + nr + " - " + astrotime.elements[i].fname; createState(idAstroObject, " ", fC, { name: astrotime.elements[i].de.nxt + " " + astrotime.elements[i].de.name + " Uhrzeit", desc: astrotime.elements[i].en.desc, type: "string" }); setTimeout(function() { // kurz warten, damit Objekte ggf. erst angelgt werden können var astrotag = getState(idAstrotag).val, temp; var today = new Date(); var tomorrow = today.setDate(today.getDate()+1); var next_event; if (astrotag) { // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute) next_event = (astrotime.elements[i].astroday) ? tomorrow : today; // prüfen } else { // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen) next_event = (astrotime.elements[i].astroday) ? today : tomorrow; // prüfen } var fname = astrotime.elements[i].fname; temp = getAstroDate(fname, next_event); setState(idAstroObject, checkSec(temp.toLocaleTimeString()) ); }, 3 * 1000); } // Zeit mit oder ohne Sekunden anzeigen function checkSec (zeit) { if (!sec) { var newString_arr = zeit.split(":"); var newString = newString_arr[0] + ":" + newString_arr[1]; return (newString); } else return (zeit); } function getAstroday() { // Astrotag bestimmen (boolean) createState(idAstrotag, false, fC, { type: "boolean", name: "Astrologischer Tag", desc: "Liegt die aktuelle Zeit zwischen Sonnenauf- und untergang" }); setState(idAstrotag, isAstroDay()); } function iterateAstrotimes() { // Zeiten für jede Astrozeit schreiben for (var i = 0; i < astrotime.elements.length; i++) { writeAstroTimes(i); } } // Astrotag checken schedule("*/1 * * * *", function () { // jede Minute getAstroday(); iterateAstrotimes(); }); iterateAstrotimes(); getAstroday();
-
Gibt es denn nen Workaround dafür, dass bei jeder Änderung über die VIS der Adapter neustartet? Hat sich dort schon mal jemand was gebastelt? Ist ja schrecklich, wenn man viele Kreise besitzt
-
@snapergy Der Adapter ist leider nicht so aufgebaut dass das möglich ist.
-
@tombox
Ich wollte gerade von meiner Testinstallation auf die produktive einsteigen und fand den Adapter weder in Beta noch im stable Repository.Dann wollte ich fragen, ob dieser Adapter noch weiter entwickelt wird und hatte auf github nachgesehen. Dort sind letzten Monat noch Änderungen durchgeführt worden.
Daher wndertze ich mich., als ich auf der Suche nach dem Github link im ersten Post las:
@tombox sagte in Test Adapter Gartenbewässerung v0.0.x:
Die bessere alternative die auch weiterentwickelt wird ist:
https://github.com/Dirk-Peter-md/ioBroker.sprinklecontrol
https://forum.iobroker.net/topic/44493/test-adapter-sprinkle-control-0-1-4-latestDas ist leider für mich keine Alternative, da dieser Adapter ausschließlich auf Vorhersagen und Verdunstungsberechnungen basiert.
Ich arbeite mit Feuchtesensoren (so ungenau sie auch sein mögen) und werde mir dann wohl doch eigene Scripte basteln müssen
Oder ist diese Info inzwischen hoffentlich wieder überholt?
-
@homoran Er wird nicht weiter entwickelt habe nur die sachen für js controller 3.3 gefixt. Ich denke aber das sprinkecontrol einbaut wenn du die anfrage stellst
-
@tombox Danke für die schnelle und ehrliche Antwort.
Aber ehrlich ist dein Adapter für mich besser, Sprinkle control hatte ich mir mal angesehen, da sind für mich zu viele Funktionen/Berechnungsgrundlagen, die ich nicht benötige, und solche Antworten wie:
Es tut mir leid, aber diese Änderung steht nicht im Einklang mit den Grundprinzipien des Adapters. Ich werde sie daher nicht umsetzen.
Erledige diese individuellen Aufgaben doch mit JS oder Blockly.motivieren nicht gerade.
-
@tombox hat bestimmt mit dem VW Wallbox Adapter genug zu tun, zumal der VAG Konzern die e-Autos z.Zt. raushaut wie geschnitten Brot und sich somit auch alle Nase lang etwas an den WB Einstellungen ändern dürfte.
Von daher habe ich dafür schon ein gewisses Verständnis. Aber mir geht es wie dir - der Gartenbewässerungsadapter von tombox ist einfach nur geil und leistet mir dieses, wie auch letztes Jahr hervorragende Dienste.
Hauptsache er bleibt noch lange lauffähig.
-
@jb_sullivan sagte in Test Adapter Gartenbewässerung v0.0.x:
Von daher habe ich dafür schon ein gewisses Verständnis.
das hab ich doch auch!
Aber ich brauche den Schnickschnack von sprinkle nicht
Sitze mit meinem bescheidenen Wissen gerade am Blockly -
@homoran sagte in Test Adapter Gartenbewässerung v0.0.x:
@jb_sullivan sagte in Test Adapter Gartenbewässerung v0.0.x:
Von daher habe ich dafür schon ein gewisses Verständnis.
das hab ich doch auch!
Aber ich brauche den Schnickschnack von sprinkle nicht
Sitze mit meinem bescheidenen Wissen gerade am BlocklySo sehe ich das auch....Sprinkler C. ist zu verworren.
Der hier hat alles was man braucht und ist stabil.
Mit einem Blockly lässt sich das zwar lösen aber ich bin da kein Freund davon.Finde es mega schade das der Adapter atirbt
-
@bob-der-1 sagte in Test Adapter Gartenbewässerung v0.0.x:
Sprinkler C. ist zu verworren.
naja, sagen wir mal der ist akademisch.
Wenn man alleine auf Regenmenge, Luftfeuchte, Windstärke und Helligkeit (als Sonneneinstrahlung!!) die theoretische Bodenfeuchte berechnet, werden alleine z.B. verschiedene Bödendurchlässigkeiten, und Pflanzgegebenheiten nicht berücksichtigt.
So habe ich zwei Pflanzmauern (1x 25cm breit, 1x 60cm breit) sowie eine Rasenfläche und unterschiedlich wind- und sonnengeschützte Areale in meinem Garten (mit unterschiedlicher Bodenqualität)
in jedem spezifischen Areal steht ein Bodenfeuchtesensor und jedes dieser Areale soll je nach Bedarf getrennt bewässert werden (im Moment noch Mischbewässerung).
Dieses kann IMHO der Sprinkle-Adapter nicht abbilden.Ich hatte ihn gerade trotzdem noch mal installiert, finde aber keine einfache Möglichkeit eine Herangehensweise wie mit dem Gartenbewässerungs-Adapter dort abzubilden.
Dazu sind die beiden Ansätze zu unterschiedlich