I find this a nice topic to revisit after another successful addition (Nest thermostat) into Hubitat... The only thing left is to unsubscribe to the ST server/maintenance/downtime updates.
Buy a lottery ticket... youβre on a roll
Learn groovy and help develop apps and drivers. This will keep you plenty busy.
Yeah, that has occurred to me in the past. I used to edit apps and drivers fairly frequently on ST for my own purposes/use, but what I did was limited to tweaking existing capabilities, rather than adding new features or significantly changing existing ones. I did "publish" an updated version of a driver once (just posted updated code in a thread) and that felt cool. Definitely something to think about...
It's definitely saving me money since I don't have time to browse the web and look for new gadgets to buy and still feeds my addiction for the need to be doing something. The first day or so I was completely lost. The last time I programmed anything was using Borland C and C++. It's way easier now that I understand what's going on. There's a little bit of structure to learn and then you just make up stuff to do what you want as you go along.
Any recommended resources for this? I have a couple of apps that I'd like to rewrite/modify but I don't know Javascript or Groovy.
Likewise. I understand the basics of coding but it has been many years.
Take a look at these examples. They'll give you an idea of how things are structured to get started.
Aps can be broken down into 4 main sections. You have the app page that is displayed when you launch the app. This is typically primarily inputs which are later used in the logic of the app to do something.
Then there is the install/initialize/update parts that subscribe to device events, initialize variables, or other various tasks as the app is in one of those states.
Next is usually device handlers. Handlers listen for events from subscriptions to do something.
Last is usually the methods that apply some type of logic to perform various actions depending on conditions to bring it all together.
Examples are great but where is the definitive documentation?
i.e. where can I lookup the 'capability' of a contact sensor and when I want to sendEvent, how do I know what 'name' to use? This must be documented somewhere?
Check these out:
https://docs.hubitat.com/index.php?title=Driver_Capability_List
https://docs.hubitat.com/index.php?title=Developer_Documentation
Beyond that, I've found searching this forum for existing threads on specific use cases or starting a new one can get you the rest of the way through a problem.
I will sometimes start with an existing driver/app that has some similar function that I want then strip it down and use that structure to build out my driver/app.
Thank you. I also just recalled someone telling me previously that the SmartThings docs are predominately compatible:
https://docs.smartthings.com/en/latest/capabilities-reference.html
Last time I programmed anything it was in FORTRAN.
Which version, my first was Fortran IV with WATFIV....
COBOL is the way, the truth, and the light...
That was, I think my 3rd or 4th computer language... one of the easiest to debug, but wordy as #$*@ - loved it when we got enough memory that I could remove the overlays
It would have been in the 80's on a DEC MINC-11 and an LSI-11. I believe that version was a DEC product based on FORTRAN IV.
I started programming in FORTRAN in 1968 on a GE225 mainframe using decks of punch cards. I was in high school at the time. Our neighbor taught computers to the cadets at West Point and taught me and a few other kids in the neighborhood how to program in BASIC on a PDP-8 in his basement and eventually FORTRAN on the West Point mainframe.
Thinking about it just now I realize that experience influenced my future more than either one of us could have imagined.
your dating yourself.. basic on a commodore pet.. still have one in basement that boots.
first real course at michigan tech while still in high school fortran on cards..
Well when I started programming, punch cards were made of wood, and computers were powered by water wheels!
is your name babbage.
You can call me Chuck.
Of course I can't really talk my first calculator looked like this: