Seeking an Expert

Hello all, my name is Elias.

I just stumbled across this forum as I am looking to grow my knowledge in automating hardware/software. I am working on fully automating a Golf Simulator Facility, its a start up business and so far I have booking>access control completed. I use various wifi plugs, cameras and smart lights to run the place remotely.

If there is anyone here that can take a phone call and/or start communicating directly via email, I think I could really benefit from your knowledge. After lurking here for a day, I can tell I am over my head in this forum. However I want to accelerate my learning curve and have some questions that aren’t covered using the search function.

What I want to do is pretty basic. Integrate booking times to automate power to components, and possibly a sensor to turn hardware on when someone walks into the room. Hardware consists of projector, lights, Windows PC, golf launch monitor, and TV’s.

If you think you can help me, I would be very grateful. Please DM me. The business is starting to pick up, and the busier it gets the more automation I need.

Thanks for your time,

Elias

Try posting the questions.

If you can subscribe to appointments created via the booking software via CalDav, you can simply use the corresponding integration to trigger automations:

yeah, it sounds like the only possible complication is getting the bookings into a place that HA can access them. Everything else should be very straight-forward.

What is the software you use to set the bookings?

Finity, I use a booking software specifically dedicated to golf simulator / golf course bookings, I reached out any they won’t allow any sort of API access. The real draw with their software is they integrate with an access control software to control a smart lock, and they send an SMS text to the customer 15 min prior to a reservation with a random pin to unlock the door.

I do get an email from them as soon as a reservation happens, with time/date. Is there a way to pull the date/time from a specific email and add it to google calendar, to then use for automation?

you can use the IMAP integration to pull the data directly from the email with no need of using the calendar.

here is an example of using an IMAP event in an automation. It sets a “delivered” status (which then sends me a notification) when I get an email from Amazon with the word “Delivered” in the subject. And then turns off the status when I open the door to retrieve the package.

  - alias: AS Set Amazon Package Delivered Status
    id: as_set_amazon_package_delivered_status
    trigger:
      - platform: event
        event_type: imap_content
        event_data:
          sender: [email protected]
        id: delivered_event
      - platform: state
        entity_id: binary_sensor.sunroom_door_sensor
        to: 'on'
        id: door_open
    action:
      choose:
        - conditions:
            - "{{ 'Delivered' in trigger.event.data['subject'] }}"
            - condition: trigger
              id: delivered_event
          sequence:
            - service: input_boolean.turn_on
              entity_id: input_boolean.as_amazon_delivery
        - conditions:
            - condition: trigger
              id: door_open
          sequence:
            - service: input_boolean.turn_off
              entity_id: input_boolean.as_amazon_delivery

  - alias: AS Amazon Package Delivered Notification
    id: as_amazon_package_delivered_notification
    trigger:
      - platform: state
        entity_id: input_boolean.as_amazon_delivery
        to: 'on'
    action:
      - service: notify.pushbullet
        data: 
          message: "Amazon just delivered a package."
      - service: notify.alexa_media
        data:
          target: 
            - media_player.computer_room_dot
            - media_player.kitchen_dot
          data:
            type: announce 
          message: "Amazon just delivered a package."
1 Like

It also sounds as if it would be possible to read the start and end times of the bookings from the e-mails via regex.
Have a look at this article: Displaying a card based on dates and times in an email