NEWS
Regenmesser für ioBroker
-
@liv-in-sky sagte in Regenmesser für ioBroker:
kann es kaum erwarten, dass es endlich regnet
Bei mir waren es gesten 3 Löffelchen voll = 1.15mm, heute wieder 0
-
@klassisch morgen soll es soweit sein - vielleicht gibt es ein paar "löffelchen" - aber dann kann ich morgen noch ein script und die vis vorbereiten
-
@liv-in-sky Laut Regenradar wären heute etliche Regenwolken über mein Haus gezogen. Nun, die Realität sagt was anderes.
Kannst ja mal schauen, ob Du in meinem Skript einen Fehler findest. Bin in JS nicht so firm, läßt sich sicher noch etliches verbessern.
// Precipitation /* Precipitation quanitity unit is mm or l/m^2 it is measured using Misol MS-WH-SP-RG. this unit is modified by pulling the PCB and turning 180° to get a stable "on" signal at one position. By triggering on change = 'ne' each edge is counted */ const rainGaugeTriggerId = 'hm-rpc.0.MEQ0782281.3.STATE'; const ticksCountId = '0_userdata.0.weather.garden.rainGauge.ticksCount'; const precipitationId = '0_userdata.0.weather.garden.rainGauge.precipitation-mm-or-l-per-m2'; const precipitationPer24hId = '0_userdata.0.weather.garden.rainGauge.precipitationPer24h'; const precipitationPerHourId = '0_userdata.0.weather.garden.rainGauge.precipitationPerHour'; const precipitationTodayId = '0_userdata.0.weather.garden.rainGauge.precipitationToday-mm-or-l-per-m2'; const ticksCountTodayId = '0_userdata.0.weather.garden.rainGauge.ticksCountToday'; const ticksCountMemoryId ='0_userdata.0.weather.garden.rainGauge.ticksCountMemory'; const volumePerTick = 0.055/26; // measured: 55ml produced 26 ticks = 0.00211 l const funnelArea = 0.11*0.05; // inm^2: 5cm x 11cm = 0.0055 m^2 const mmPerTick = volumePerTick / funnelArea; // eg 0.3836 l/m^2 or 0.3836 mm const rainTimeoutMs = 15 * 60 * 1000; // 10 min seemed to be to small, e.g. 2020-09-26 const newDayHour = 07; const newDayMinute = 30; const msPerHour = 3600*1000; const msPerDay = 24*msPerHour; var ticksCount = getState(ticksCountId).val; var precipitation; var timerRainStopped = null; // for watchdog to reset rain intensity after rainTimeoutMs var ticksCountToday = getState(ticksCountTodayId).val; var ticksCountMemory = getState(ticksCountMemoryId).val; var precipitationPer24h, precipitationPerHour; // hint https://forum.iobroker.net/topic/11994/gel%C3%B6st-zeit-zwischen-aktualisierung-eines-datenpunktes-ermitteln/3 on({id: rainGaugeTriggerId, change:'ne'}, function(data) { // in data.state.ts steht der aktuelle Timestamp // in data.oldState.ts steht der Timestamp der letzten Aktualisierung // Sind Zahlen in ms, also mit ... // console.log(((data.state.ts-data.oldState.ts)/1000) + ' Sekunden seit letzter Aktualisierung'); deltaTimeMs = (data.state.ts-data.oldState.ts) ticksCount = ticksCount + 1; precipitation = ticksCount * mmPerTick; precipitationPer24h = (1 * mmPerTick * msPerDay)/deltaTimeMs; precipitationPerHour = precipitationPer24h /24; ticksCountToday = ticksCount - ticksCountMemory; precipitationToday = ticksCountToday * mmPerTick; setState(ticksCountId,ticksCount); setState(precipitationId,precipitation); setState(precipitationPer24hId,precipitationPer24h); setState(precipitationPerHourId,precipitationPerHour); setState(ticksCountTodayId,ticksCountToday); setState(precipitationTodayId,precipitationToday); if(timerRainStopped) clearTimeout(timerRainStopped); // laufender Timer wird gestoppt timerRainStopped = setTimeout(function() { // Neustart Timer precipitationPer24h = 0; // Aktion, wenn Verzögerungszeit abgelaufen ist precipitationPerHour = precipitationPer24h /24; setState(precipitationPer24hId,precipitationPer24h); setState(precipitationPerHourId,precipitationPerHour); }, rainTimeoutMs); // timeout in ms }); // NewDay // change of the day. schedule({hour: newDayHour, minute: newDayMinute}, function () { ticksCountMemory = ticksCount; ticksCountToday = ticksCount - ticksCountMemory; precipitationToday = ticksCountToday * mmPerTick; setState(ticksCountMemoryId,ticksCountMemory); setState(ticksCountTodayId,ticksCountToday); setState(precipitationTodayId,precipitationToday); });
-
schau mir das morgen an - habe selbst auch noch kein schema, wie oder was ich machen möchte - vielleicht kann ich deines nutzen
schneller blick: deltTimesMs ist nicht declariert - var deltTimesMs ; und auch precipitationToday
eine zahl darf/kann keine 0 am anfang haben - newDayHour = 07 => 7 !
meld mich morgen wieder
-
@liv-in-sky danke, wie findest Du das so schnell? Ich vermisse einen ordentliche Check wie bei einem richtigen Compiler
-
ich habe mich schon gewundert - man sieht da sofort im editor
ist das bei dir nicht der fall ?
-
@liv-in-sky sagte in Regenmesser für ioBroker:
ist das bei dir nicht der fall ?
doch, jetzt wo Du es sagst, sehe ich es auch. Hatte ich bisher leider nicht beachtet. Wieder was gelernt, vielen Dank!
-
Ha, nicht vorhergesagter Regen und es tut sich was:
Immerhin heute schon 3.85mm -
Super Na dann kannst du mit einer Wetterstation (Regenmesser) in deiner Nähe vergleichen ob es passt mit deinen Werten.
Übriges bei uns im Süden sind es jetzt schon 14l -
@Wolfi ich bin auch im süden - 0 liter hier
-
@liv-in-sky
Wo denn?
Bei uns seit ca. 6 Uhr ca 15 l. Wohne ganz an der Grenze zur Schweiz Kreis Waldshut ca. 30 Min von Schaffhausen.
Gruss -
@Wolfi landkreis freising - nörlich münchen - gehe bald mit schlauch und spritze das dach an - damit der nachbar was zum "sich wundern" hat
wie du siehst - knapp vorbei bei mir
-
Das kommt schon noch zum regnen bei euch das zieht eine Front Richtung München?
-
endlich regnet es ein wenig - aber es passiert nix - nur wenn ich etwas mit dem gartenschlauch nachhelfe - es hat aber genug geregnet, damit zumindest einmal die wippe auslöst
kann es am aufbau liegen ? ist in waage. kann es zu nah am dach sein ?
-
@liv-in-sky vielleicht hat es doch noch nicht genügend geregnet? Wenn es direkt von oben regnet, sollte das bei dir ja funktionieren. nur wenn der Regen stark von der Seite kommt, kann er vom Dach abgehalten werden .
Du kannst dir einmal 100 ml Wasser abwägen und langsam drüber kippen. Dann kannst du die Anzahl der Ticks zählen.
Ich habe es mir ganz einfach gemacht und die Wippe an das Dächlein der Automower Garage geschraubt. das ist zumindest gut erreichbar, dann nur circa 50 cm über dem Boden.
Bei uns ist der Regen jetzt aber auch schon wieder vorbei, und es scheint die Sonne, ca 3 % Bewölkung. -
@klassisch wär besser gewesen, noch nicht gleich am dach festzumachen
bei 100ml schaltet die wippe ca 12-14 mal - hört sich das gut an
-
@liv-in-sky Meine China-Billigwippe schaltet bei 55ml 26 mal. Also deutlich häufiger. Wobei ich bei der Billigwippe die Platine mit dem Reedkontakt so gedreht habe, daß er in einer Wippenposition eingeschaltet und in der anderen ausgeschaltet ist. Getriggert wird auf jede Flanke change: 'ne'.
Ursprünglich war das so, daß der Reedkontakt während des Wechselns einmal kurz betätigt wird. Da ich aber mit einem HM-MOD-EM-8, der eh am Mäherunterstand war, auswerte habe ich der Sache nicht so recht getraut. Weiß nicht, ob der HM-MOD-EM-8 immer schnell genug wäre.
Wenn ich das recht sehe, hast Du so ein Dostmann TFA? -
ja der dostmann schaltet eigentlich ganz zuverlässig - auch wenn man oben etwas reinkippt - ist aber dann eh ein extremfall - denn ich denke, die wippe wird wohl eh überlaufen, wenn ein solcher strahl kommt.
werd das morgen mal wieder runterschrauben und einen bequemeren standort suchen
-
@liv-in-sky sagte in Regenmesser für ioBroker:
werd das morgen mal wieder rutnerschrauben und einen bequemeren standort suchen
Ich halte das auch erst mal für praktischer. Einen normgerechten Aufbau gibt mein Grundstück eh nicht her und die absolute Präzision ist für mich auch nicht so wichtig.
Wenn man bodennah ist, springen vielleicht bei heftigem Regen ein paar Tropfen vom Boden wieder zurück oder so; laß das dann mal ein paar Prozent Fehler ausmachen. Ich komme von einer digitalen Anzeige (regnet wahrscheinlich/wahrscheinlich nicht) und da ist das Chinading schon ein Fortschritt. Auch ohne scharfen Messingrand nach Prof Hellmann. Und ja, weiter unten sammeln sich wohl auch mehr Blätter und so. Aber die sind dann auch schneller wieder gesäubert.
Wir werden sehen, wie sich das alles so bewährt. -
@klassisch das sehe ich genauso - was aber evtl schade ist - wenn der regen vorher tatsächlich nicht ausreichte, dann kann ich den dachfensteralarm vergessen, denn es wäre genug gewesen um näse in die wohnung zu lassen