NEWS
Regenmesser für ioBroker
-
@klassisch oh mist da war ich ganz verkehrt - - ich brauche 220 AC zu 12u und 5V DC
-
@liv-in-sky brauchst Du beides? 12V UND 5V oder reicht Dir eine Spannung? Die Steckdose ist im Trockenen?
-
aber habe gerade gemerkt, dass ich sowas habe - ist eine alte stromversorgung für eine externe festplattenhalterung/adapter
sowas müßte doch funktionieren:
ich habe an der gleichen ecke schon einen esp32 mit camera - da hängt ein billiges 5v usb netzteil dran - das wollt ich gleich mitersetzen
-
@liv-in-sky Ja, mit dem kannst Du es mal testen.
-
aber nochmal danke für das posten der idee - wollte sowas schon immer haben - auch wegen dachfenster alarm !
kann es kaum erwarten, dass es endlich regnet
-
@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.