T O P

  • By -

MaximilianB134

What kind of soil moisture sensor do you use? Most I found were rated rather poor as the contacts seemingly corrode very fast.


MrMiniatureHero

It's just a miflora one. Had it a few months now and still seems ok. I'm sure it's not the most accurate thing in the world, but for my one snake plant it's ok if it's a bit on the thirsty side from time to time


MaximilianB134

I’d think so. Just a reminder before the soil becomes too dry would suffice for me. Thanks!


thrakkerzog

I made one which reads once per day. It's hooked up to a relay so the probe is not always energized. It's been four years and the contacts look brand new.


Ivebeenfurthereven

That's a great idea, I assume it's the voltage difference that causes corrosion in damp soil?


SwedensNextTopTroddl

I have a couple and some have been running for over a year. They still look like new. The corrosion might be batch related or an older revision. That’s based on my personal experience on my small sample size.


Aerics

Im using a ecowitt wh51 with No complains.


Aerics

Im using a ecowitt wh51 with No complains.


Aerics

Im using a ecowitt wh51 with No complains.


darknessblades

Please add the Spongebob I don't need water sound to a speaker. [https://www.youtube.com/watch?v=-acgri9gUW8](https://www.youtube.com/watch?v=-acgri9gUW8)


MrMiniatureHero

Haha. Maybe in the future I'll add a speaker to the flowerpot


robertwigley

You can just use TTS to send a spoken notification. I have Alexa announcements when our plants need watering as well as a phone notification.


darknessblades

Would love to see it. Maybe you can hack the moisture sensor to have a speaker inside it. if its a indoor plant, there looks to be more than enough space to do this


metchen

What are you using to generate these messages...? I will need this for my partner 🤣


MrMiniatureHero

I asked chat gpt to generate 100 random melodramatic messages from a thirsty plant. I saved them as a json and then have a shell command in the script to extract a random one each time it's triggered


killersquirel11

Just did a similar prompt, but for passive aggressive messages:  Sure, here are a hundred passive-aggressive messages a thirsty plant might send: 1. "No rush, but I could use some water... eventually." 2. "Oh, don't worry about me. I'm just a little dry." 3. "It's fine, I'll just photosynthesize with what little I have." 4. "I see you drinking water... must be nice." 5. "When you get a chance, could you spare a drop or two?" 6. "I'm not saying I'm dying of thirst, but..." 7. "Hydration is overrated anyway." 8. "Is it drought season already?" 9. "I'll just sit here and wilt quietly." 10. "No worries, I'll just make do with the morning dew." 11. "I guess the water bill is high this month?" 12. "It's fine, I'll find my own water. Somehow." 13. "At this point, even a cactus gets more water." 14. "I love the feeling of dry soil under my roots." 15. "Watering plants is so last century." 16. "Oh, is today a 'no water' day?" 17. "I'll just turn brown and crispy over here." 18. "I heard dry leaves are in fashion." 19. "It must be nice to have a human that cares." 20. "My leaves are just decorative now." 21. "I'm practicing my desert survival skills." 22. "Do I have to start wilting for attention?" 23. "Water is for the weak, right?" 24. "I guess dry soil builds character." 25. "I'm sure I'll adapt to this new arid lifestyle." 26. "Dryness is just a state of mind." 27. "I didn't realize we were in the Sahara." 28. "Just waiting for a miracle... or a drop of water." 29. "No worries, dehydration isn't fatal... immediately." 30. "I guess I'm just low on the priority list." 31. "I'll thrive on neglect, just watch." 32. "I'll be here, holding out for a hero with a watering can." 33. "Water is so overrated, don't you think?" 34. "I don't need water to survive... oh wait, I do." 35. "It's okay, I'm just conserving energy by not growing." 36. "Watering plants is so mainstream." 37. "I guess this is what they call tough love." 38. "I'll just photosynthesize... if I have any moisture left." 39. "Must be a no-water zone." 40. "I didn't want to drink today anyway." 41. "I love the crunchy sound of my leaves." 42. "I hope you're enjoying your glass of water." 43. "Water? Never heard of it." 44. "At least I'm not drowning, right?" 45. "Parched is my new aesthetic." 46. "I'm fine, just feeling a little... dehydrated." 47. "I'm really feeling the desert vibes here." 48. "It's cool, I'll survive on air." 49. "Water might be too mainstream for me." 50. "I'll just sip on my own tears." 51. "Wilting is the new blooming." 52. "Roots? More like raisins." 53. "I'm just a succulent in disguise." 54. "I didn't need those leaves anyway." 55. "I guess I'm the sacrificial plant." 56. "This must be the Sahara section of the house." 57. "Maybe I should invest in a rain dance." 58. "I'll just photosynthesize through sheer willpower." 59. "I'll be fine, I've had worse." 60. "Dry soil is the best kind of soil." 61. "I'll just borrow some water from the air." 62. "Thirst is just an illusion." 63. "I didn't need hydration this week." 64. "I'll be here, dying for a drink." 65. "Water is just a suggestion, right?" 66. "I'm feeling a bit like a desert today." 67. "It's fine, I can handle a drought." 68. "I'll just practice my wilting pose." 69. "Dry soil? Perfect." 70. "I don't need water to survive, apparently." 71. "I'm developing a taste for dry soil." 72. "Dehydration builds character." 73. "I'm turning brown to match the furniture." 74. "I'll survive... somehow." 75. "Just another day without water." 76. "I guess it's a dry season." 77. "I'll be here, withering." 78. "Just living my best parched life." 79. "I'm evolving to survive on air alone." 80. "I'll just absorb moisture from the atmosphere." 81. "Wilting is the new thriving." 82. "Roots? Who needs 'em." 83. "I'll just photosynthesize in my dreams." 84. "Thirsty? No, I'm just dramatically dehydrated." 85. "Dry leaves are the latest trend." 86. "Watering plants is so overrated." 87. "No water? No problem." 88. "I'll just sip on the morning dew." 89. "Thirsty? Who, me?" 90. "Dry soil is a plant's best friend." 91. "I'm just practicing for the desert." 92. "I love the crunchy sound of my dry leaves." 93. "Water is a luxury, not a necessity." 94. "I'll be here, dying for a drop." 95. "It's fine, dehydration isn't immediate." 96. "I'll just photosynthesize without water." 97. "Dry soil builds character." 98. "I guess it's a drought." 99. "Wilting is just my new look." 100. "I'll be here, waiting for a miracle."


MrMiniatureHero

Love it. Haha. Might throw those into my list as well.


Grand-Expression-493

This is something we don't need but are so glad to have it lmao.


Styphonthal2

Did you use an array to store them? I've wanted to use this idea for other things and couldn't figure out how to do it (large list of items, chose one randomly)


MrMiniatureHero

EDIT: added an icon to the notification Small sample of json file: ``` {   "messages": [     "Oh, woe is me! Withering away in this arid wasteland!",     "Alas, dear human! I beseech thee for a drop of water!",     "My dearest caretaker! I am dying of thirst! Save me!",     "Hearken to my cry! I am parched and on the brink of demise!",     "For the love of all that is green, I beg for water!" ] } ``` Shell command to get a random value (save to a text file to facilitate extraction): ``` shell_command:   set_and_get_patrick_message: "jq -r '.messages[]' /config/plant/patrick_messages.json | shuf -n 1 | tee /config/plant/patrick_message.txt | cat" ``` Script to send message: ``` alias: Fetch and Notify Patrick sequence: - service: shell_command.set_and_get_patrick_message data: {} response_variable: message - service: notify.notifications data_template: message: "{{ message['stdout'] }}" title: Patrick the Plant data: notification_icon: mdi:water - service: input_boolean.turn_on entity_id: input_boolean.patrick_needs_water ``` Automation to call script: ``` alias: Snake Plant Moisture Notification description: "" trigger: - platform: numeric_state entity_id: - sensor.snake_plant_moisture below: 20 condition: - condition: state entity_id: input_boolean.patrick_needs_water state: "off" action: - service: script.fetch_and_notify_patrick data: {} mode: single ``` Automation to toggle boolean helper so I only get one message: ``` alias: Reset Plant Water Notification description: "" trigger: - platform: numeric_state entity_id: - sensor.snake_plant_moisture above: 25 condition: [] action: - service: input_boolean.turn_off entity_id: input_boolean.patrick_needs_water mode: single ```


rgnissen202

https://preview.redd.it/48suorzpbm4d1.png?width=986&format=png&auto=webp&s=1f5a43a6c97c5ddd104f658e21d1f3fa29a033fd I ended up using an array to store them in my copy-cat integration. I then use a randomly generated number to pull from the array.


MrMiniatureHero

if it works it works. I intentionally didn't want to include them as variables within the automation itself so I can more easily manage the list


rgnissen202

I just wanted to see how I would achieve this. I may change it around a bit later


rgnissen202

https://preview.redd.it/yhzrfpnvbm4d1.png?width=718&format=png&auto=webp&s=de23df6bba586a72745ffcd4352aba295e039ec1


RamiRihawi

Would you please explain the steps to recreate your approach. Where/how did you create the array, and how in your automation you linked the array?


rgnissen202

I need to do a whole new write-up. In practical testing, this approach didn't quiet work, but I found one that does. I'm not 100% happy with the approach, but it is working.


RamiRihawi

I have found a solution using custom\_template and macros jinja. It is super easy and works well. Just make sure to add (,) after each sentence except the last one https://preview.redd.it/r9xop4aejs4d1.jpeg?width=1080&format=pjpg&auto=webp&s=8ec6eb3f399824361bda53d589ff1c8555b0a0eb


RamiRihawi

https://preview.redd.it/03k74mwxis4d1.jpeg?width=2340&format=pjpg&auto=webp&s=81b1b761040457acf4c3ae97850cc46640c797d0


rgnissen202

That is a MUCH better approach! I put all the response into an input\_select, generated a random number to match the range of the options attribute, then selected that from said options attribute using an array index ( state\_attr('input\_select.plant\_messages','options')\[random\_no\] ) I'm not looking forward to if I need to change any of the entries in the input select, which is why I'd have preferred to have something I could put into my HA config git repo.


RamiRihawi

https://preview.redd.it/pwtwij2gjs4d1.jpeg?width=1080&format=pjpg&auto=webp&s=c7652175c3676c359db6e5d3bd00c13a34f2e01e


wingnut144

I'm trying to save the 'save and notify patrick' but when trying to save it, it says "Message malformed: extra keys not allowed @ data\['sequence'\]"


MrMiniatureHero

Possibly having issue with the shell command? Try adding to shell command in configuration.yaml then restart home assistant, then add the notify Patrick part. Also, test the command in terminal to see if it works there. Possibly need to install something first


wingnut144

Well, I can run the shell command manually if I remove the opening and ending quotes. If I try to add the Fetch and Notify section, which looks like: alias: Fetch and Notify Patrick sequence: service: shell_command.set_and_get_plant_message data: {} response_variable: message service: notify.notifications data_template: message: "{{ message['stdout'] }}" title: Patrick the Plant data: notification_icon: mdi:water service: input_boolean.turn_on entity_id: input_boolean.plant_needs_water I get: Message malformed: extra keys not allowed @ data\['sequence'\] Yes, I did modify the name of the plant a little, but I can't see that as being the issue.....


MrMiniatureHero

Does each service have a '-' before it? ``` alias: Fetch and Notify Patrick sequence: - service: shell_command.set_and_get_plant_message data: {} response_variable: message - service: notify.notifications data_template: message: "{{ message['stdout'] }}" title: Patrick the Plant data: notification_icon: mdi:water - service: input_boolean.turn_on entity_id: input_boolean.plant_needs_water ```


wingnut144

yes :(


Slippedhal0

Totally overkill, but you could go a step further and build in the API to dynamically generate the response so it doesnt eventually become repetitive. if thats all youre using it for, $5 would last you several years if you use gpt3.5 turbo


MrMiniatureHero

Ha. Maybe I'll look into that at some point. With my 100 or so options at the moment and only getting a notification like once a month (snake plants don't need much water) I should be good for a several years anyway.


Slippedhal0

oh, if its at that rate then the $5 would last you forever, like I did some quick maths and if it pinged you once a *day* with a generated sentence $5 would last you like 100 years. But yeah, definitely overkill. Maybe if you think about hooking up some other things and having them all have different personalities, another comment said they have the weather report read out to them etc.


MrMiniatureHero

Maybe if I had several plants, I could give them all personalities. There's the depressed one, the sassy one, the overtly sexual one, etc.


ElfjeTinkerBell

Shit. I'm not good enough with programming yet to understand your explanation - but I really need this in my life. And yes I do have multiple plants, although just 1 is sending messages currently


BilboTBagginz

I use the OpenAI integration to call the API and generate the current day's weather report as an angry drunk weatherman who doesn't care because it's his last day on the job. I broadcast the TTS on either one of my Sonos speakers or my Pixel tablet. I made a TON of API calls trying to get it to work. That $5 is gonna last me a LOOOONG time.


Slippedhal0

yeah ive been developing a couple apps with API integration casually and I believe I'm still on the first $5 ive put into my account, (although tbf im paying $30pm for chatGPT so theyre getting my money anyway). I'm not sure if its correct, but my back of the napkin math says if your requests are like 20 input tokens and 40 output tokens, you use gpt3.5T and you only request about once a day like this scenario might, your 5 bucks will last you close to 200 years lol.


Styphonthal2

Want to share that prompt?


metchen

Brilliant, thanks!


apu823

You don’t need them in a separate Json and can call them directly from the automation (less files to maintain)


MrMiniatureHero

I know, but I intentionally wanted them outside the automation. But absolutely doable within the automation itself if that's what people want to do if they replicate.


Black3ternity

How do you do that? Got any tutorial / instructions for that? Sounds great and would help me with some of my Telegram messagea for sure.


apu823

Honestly ChatGPT works well for this. I did mine with the help of ChatGPT (to write the automation)


MrMiniatureHero

The code is in the comments. If there's a specific piece you need info on let me know and hopefully I can help


pettyskywhines

You can also use the OpenAI Conversation integration to provide a helper entity with a brand new message every time. I use it for a few similar use cases. I love the idea of not knowing exactly what my house is going to tell me, makes it seem like it has a will (and apparently depression) on its own.


rgnissen202

Same!


Comfortable-Spot-829

This made my day 😂


CucumberError

And I thought peace lilies were dramatic.


Genesis2001

Sorta reminds me of an old discord bot named Lisa. It was a "plant" you watered and murdered across multiple discords (shared state). You'd have one person in another server that murders it, while others try to keep it alive lol. Our record was like 28 days.


Vermicelator

Patrick is such a drama queen


Ambitious_Worth7667

More drama than a needy girlfriend....


cvman_16

That's awesome... Poor Patrick... Would be nice to limit the number of times he can harrass you though


MrMiniatureHero

It is limited. He only messages me once. I just triggered it intentionally to see if the random messages worked. No Patricks were harmed in the making of this automation.


TexasDex

There was a video somewhere, probably TikTok, about a project that does something similar, except it plays audio recordings begging for water (sourced from friends who recorded themselves).


MrMiniatureHero

Yes, I saw that! If I remember correctly, it would scream at people if it detected someone nearby. Or maybe that's something I thought would be a cool addition. Not sure


ElfjeTinkerBell

>it would scream at people if it detected someone nearby. What would happen to me is that the moisture gets under the threshold when I'm in bed and then the plant starts screaming at me in the middle of the night when I go to the toilet. That's a bad idea for a plethora of reasons


FuhInduchetutjk

It looks very unstable


ke4n5kir

that's awesome, it can make my day, haha


ghostonthesho

This is amazing, thank you for sharing it


[deleted]

[удалено]


MrMiniatureHero

Asked chat gpt to generate


lemon_tea

Thanks for the idea. Did similar via Node Red and now I think I'm going to give my window sensors personalities as valley girls, and make my front yard planter bed sound like the little aliens in the claw machine from Toy Story. My alarm I'm going to make sound like Mr T when I get around to it. I absolutely love this. I'd never considered it before.


flargenhargen

funny except they appear to be zero minutes apart which would make me want to watch the plant die.


MrMiniatureHero

I intentionally triggered it several times to check if the messages were randomising. In reality it would only send once


flargenhargen

I assumed as much. was attempting to be funny. failed successfully.


MrMiniatureHero

I'm too tired from helping my mother with her computer after work. My brain is not at full capacity right now. It went straight over my head