Station météo

Merci beaucoup. As-tu une idée de la ref de ton pluviomètre ?

Bonjour
j’ai depuis plus d’un an le kit météo mais pour un autre système que je n’ai pas .
Je me suis mis à Home Assistant et là en voyant tu tuto je me rend compte que je devrai pouvoir réaliser ce projet. Dans l’immédiat je vais rester simple comme ton projet initial.
Première question: mon matériel est neuf , les fils sont équipés en rj42.
donc il faut couper les fils!
deuxième question: pour l’altitude as-tu rentré celle de Cherbourg ou c’est la méthode de calcul.
Moi je suis à Colomiers à côté de Toulouse. Donc pas la même hauteur 143m
A part cela tout les jours en regardant la météo , j’ai un peu de pitié pour vous autre car Cherbourg est la ville la plus froide en moyenne de France.
Merci

bonjour, je crée moi aussi mon pluviomètre. Projet commencé ya bien longtemps mais mis au placard. Je le ressort avec mon passage de domoticz a homeassitant et la découverte de ESPHome. J’ai bien regardé ton code pour le pluviomètre (le reste on verra plus tard ou pas). N’as tu pas trop de rebond sur le comptage des godets? Dans mon premier projet j’écrivais tous dans arduino et j’avais ajouté un délai d’inactivité de 500ms. static void ICACHE_RAM_ATTR Godet_Basculement(){ //Ajout d'un timers pour supprimer les rebonts du switch en plus du condensateur if( millis() - previousMillisGodetBas >= intervalGodetBas) { previousMillisGodetBas = millis(); CountBascule ++; Serial.println(CountBascule); } }

Merci D’avance

salut, dsl du délai de réponse.

1ere question : tu n’est pas obligé de couper les RJ11, je l’ai faire pour des raisons pratiques de prototypage. Et étant électricien indus, j’aime bien les borniers :grin:,

2eme question: l’altitude est celle de ma maison,

n’ai pas pitié pour nous, on est aussi l’une des ville la moins chaude de France, j’ai fait la montagne Noire et la cité de l’espace cet été, j’ai fondu (38°), j’ai chaud à 20°. en Normandie on est comme le beurre, on se garde au frigo.

salut, je ne peux pas trop te dire car depuis juillet 2022 j’ai mis le projet en suspend (maladie oblige), je suis en train de me remettre tranquillement dedans, je vais tout reprendre a zéro.
Les ESP ne sont plus suffisant, car je vais passer par nodered pour utiliser des scripts JS.
en voici un exemple Node-Red pour la Lune:

[{"id":"cf4e1b0f0feb3681","type":"function","z":"f6a6fe56c69d0dd9","name":"Moon values","func":"function Pad(s, w) {\n    s = s.toFixed(0);\n    while (s.length < w) {\n        s = '0' + s;\n    }\n    return s;\n}\n\nfunction FormatDate(date) {\n    var year = Pad(date.getFullYear(), 4);\n    var month = Pad(1 + date.getMonth(), 2);\n    var day = Pad(date.getDate(), 2);\n    var hour = Pad(date.getHours(), 2);\n    var minute = Pad(date.getMinutes(), 2);\n    var second = Pad(date.getSeconds(), 2);\n    return `${day}-${month}-${year} ${hour}:${minute}:${second}`;\n}\n\nfunction FormatCoord(x) {\n    return x.toFixed(2);\n}\n\nfunction Moon() {\n    let text_latitude = 49.62734;\n    let text_longitude = -1.61789;\n    let text_elevation = 0;\n    let date = new Date();\n\n\n\n\n    let latitude = parseFloat(text_latitude);\n    let longitude = parseFloat(text_longitude);\n    let elevation = parseFloat(text_elevation);\n\n\n    var phase = Astronomy.MoonPhase(date);\n    //console.log(phase.toFixed(3) + \"°\");\n    let illum = Astronomy.Illumination(Astronomy.Body.Moon, date);\n    let illu = (illum.phase_fraction * 100).toFixed(2) + \"%\";\n    //console.log(illu);\n    let observer = new Astronomy.Observer(latitude, longitude, elevation);\n    let equ_2000 = Astronomy.Equator(Astronomy.Body.Moon, date, observer, false, true);\n    let equ_ofdate = Astronomy.Equator(Astronomy.Body.Moon, date, observer, true, true);\n    let hor = Astronomy.Horizon(date, observer, equ_ofdate.ra, equ_ofdate.dec, 'normal');\n    //console.log(FormatCoord(equ_2000.ra));\n    //console.log(FormatCoord(equ_2000.dec));\n    //console.log(FormatCoord(hor.azimuth));\n    //console.log(FormatCoord(hor.altitude));\n    let moonrise = Astronomy.SearchRiseSet('Moon', observer, +1, date, 300);\n    let moonset = Astronomy.SearchRiseSet('Moon', observer, -1, date, 300);\n    //console.log(FormatDate(moonrise.date));\n    //console.log(FormatDate(moonset.date));\n\n    var x = Math.trunc((phase * 2) + 502);\n    var z = String(x).padStart(4, '0');\n    var img = \"https://svs.gsfc.nasa.gov/vis/a000000/a005000/a005048/frames/730x730_1x1_30p/moon.\" + z + \".jpg\";\n    //console.log(img);\n    \n    msg.payload = \n    {\n        \"moon\": {\n            \"time\": FormatDate(date),\n            \"observer\": observer,\n            \"image\": img,\n            \"data\": {\n                \"phase\": phase.toFixed(3) + \"°\",\n                \"illu\": illu,\n                \"equ_2000\": {\n                    \"ra\": FormatCoord(equ_2000.ra),\n                    \"dec\": FormatCoord(equ_2000.dec)\n                },\n                \"hor\": {\n                    \"azi\": FormatCoord(hor.azimuth),\n                    \"alt\": FormatCoord(hor.altitude)\n                },\n                \"rise_set\": {\n                    \"rise\": FormatDate(moonrise.date),\n                    \"set\": FormatDate(moonset.date)\n                }\n            }\n        }\n    }\n    \n}\n\nMoon();\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[{"var":"Astronomy","module":"astronomy-engine"}],"x":290,"y":960,"wires":[["377a55c26de76aff"]],"info":"Exemple de code du site [Moon Info](https://faisalr.github.io/) et script [Astronomy Engine](https://github.com/cosinekitty/astronomy/)"},{"id":"2516c7229801b889","type":"inject","z":"f6a6fe56c69d0dd9","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":960,"wires":[["cf4e1b0f0feb3681"]]},{"id":"377a55c26de76aff","type":"debug","z":"f6a6fe56c69d0dd9","name":"debug Moon values","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":470,"y":960,"wires":[]}]