• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

Opening hours for stores/places thru Google API

Scheduled Pinned Locked Moved Unsolved Requests
16 Posts 7 Posters 6.6k Views 7 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    htilly
    last edited by htilly Feb 3, 2019, 7:54 PM Feb 3, 2019, 7:47 PM

    Hi!

    I would like to be able to enter a list of my favorite stores/places and get a simple list of current opening hours.

    I.e., if the list contains:
    McDonald “My localtion”, Library “My location”, Restaurant_name.

    An API call to google:
    https://developers.google.com/places/web-service/details#PlaceDetailsResults
    … and the result from:
    opening_hours

    The module would then present a list with the following results:

    Name - Status
    McDonald - “Open Now”
    Library - “Closes in 30 min”
    Restaurant_name - “Closed”

    Wouldn´t that be nice?! :-D

    Example of data pulled from a classic google search.

    0_1549223649197_MMMOpeninghours.png

    BR
    Tilly

    M 1 Reply Last reply Mar 20, 2019, 6:31 PM Reply Quote 1
    • M Offline
      Menturan @htilly
      last edited by Mar 20, 2019, 6:31 PM

      @htilly Here you go! MMM-OpeningHours :)
      What do you think?

      Check out my modules if you live in Sweden!
      https://github.com/Menturan/MMM-Namnsdag
      https://github.com/Menturan/MMM-Weather-SMHI-Hourly
      WIP
      https://github.com/Menturan/MMM-OpeningHours

      1 Reply Last reply Reply Quote 1
      • H Offline
        htilly
        last edited by Mar 26, 2019, 2:48 PM

        Awesome!!! :rocket:

        Installing today to try it out.
        Look really nice!

        :folded_hands:

        1 Reply Last reply Reply Quote 0
        • E Offline
          evroom
          last edited by Mar 26, 2019, 5:43 PM

          @Menturan said in Opening hours for stores/places thru Google API:

          What do you think?

          Hi,

          Wanted to give it a try.
          By coincidence went to a place that was closed and this module could have saved me the trip.

          My first thought was: really ?

          1. yarn install
          

          But I know it is under development and you do this voluntary, so I cannot really complain (never submitted a single module myself).
          I do like Mich’s General Advise.
          https://github.com/MichMich/MagicMirror/tree/master/modules

          Most if not all modules use git clone and an occasional npm install

          $ git clone https://github.com/Menturan/MMM-OpeningHours.git
          $ npm install
          

          I was so stubborn to install it this way, as I do not want to find out how yarn works.
          I got it running to the point where on the MM I see:
          Loading opening hours ...
          The pm2 logs does not give an error or warning or so.
          I see it converted my place id to a real address, so it means that my Google API key is okay.

          I will try it again with the debug parameter on, but can you tell me what I should see when the opening times are fetched (in pm2 logs) ?
          And perhaps really need yarn ?
          But then an explanation is needed; a plain yarn install won’t do.

          So, thanks for the module, but would be nice to get it working.

          MagicMirror version: 2.30.0
          Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
          Raspbian GNU/Linux 12 (bookworm)

          Test environment:
          MagicMirror version: v2.30.0
          Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
          Raspbian GNU/Linux 12 (bookworm)

          1 Reply Last reply Reply Quote 0
          • H Offline
            htilly
            last edited by Mar 29, 2019, 10:02 AM

            Hi,

            Regarding yarn or npm is just a matter of package managers. As far as I understand you could probably happily do what you described using npm if that feels better.

            now, for the data. I installed it and had the same problem as you describe. First of, make sure that you do have a Google API registered and working. Assuming that you have this, my installation started to work after a reboot of the Raspberry Pi.
            I guess that it will not initiate a new API call after changing the config for MagicMirror.

            And to be clear, I have not coded this. I’m the one that requested the feature, and I simply love the delivery. Exactly what I wanted!!

            BR
            Tilly

            1 Reply Last reply Reply Quote 0
            • E Offline
              evroom
              last edited by Mar 29, 2019, 4:28 PM

              Rebooted.
              No change.

              I do get this error:

              0|mm  | [5:13:03 PM] - MMM-OpeningHours : Starting helper:  MMM-OpeningHours
              0|mm  | Sockets connected & modules started ...
              0|mm  | Launching application.
              0|mm  | (node:2342) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'refs' of undefined
              0|mm  | (node:2342) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
              

              I suppose the API key is right, as it finds the (street)name.
              And it increases the usage counter for Google Places for my account.

              But no opening times.
              On Google Maps opening times are visible for this ID.

              0|mm  |   json:
              0|mm  |    { html_attributions: [],
              0|mm  |      result: { name: 'Laufamholzstraße 76' },
              0|mm  |      status: 'OK' },
              0|mm  |   requestUrl: 'https://maps.googleapis.com/maps/api/place/details/json?fields=name%2Copening_hours&language=en&placeid=ChIJ9SpsbxZYn0cRhBEv4PE_Tvs&key=<key>',
              0|mm  |   query:
              0|mm  |    { fields: 'name,opening_hours',
              0|mm  |      language: 'en',
              0|mm  |      placeid: 'ChIJ9SpsbxZYn0cRhBEv4PE_Tvs',
              0|mm  |      key: '<key>' } }
              

              And I do not see a mapping between place id, street name and the name of the place.

              MagicMirror version: 2.30.0
              Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
              Raspbian GNU/Linux 12 (bookworm)

              Test environment:
              MagicMirror version: v2.30.0
              Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
              Raspbian GNU/Linux 12 (bookworm)

              1 Reply Last reply Reply Quote 0
              • H Offline
                htilly
                last edited by Mar 29, 2019, 7:26 PM

                I tried it and it seems to be something strange with the PlaceID.
                Try this ID instead:
                ChIJl7ycbxZYn0cRqZwkVTJ3Rzw

                Should be the same place.

                /Tilly

                1 Reply Last reply Reply Quote 0
                • E Offline
                  evroom
                  last edited by Mar 29, 2019, 9:10 PM

                  @htilly said in Opening hours for stores/places thru Google API:

                  Try this ID instead:

                  Thanks for spending time on it.

                  Strange, but it works.
                  The Place finder really says “ChIJ9SpsbxZYn0cRhBEv4PE_Tvs”, how did you find “ChIJl7ycbxZYn0cRqZwkVTJ3Rzw” ??

                  0_1553893557312_Screenshot 2019-03-29 at 22.04.51.png

                  MagicMirror version: 2.30.0
                  Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                  Raspbian GNU/Linux 12 (bookworm)

                  Test environment:
                  MagicMirror version: v2.30.0
                  Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                  Raspbian GNU/Linux 12 (bookworm)

                  1 Reply Last reply Reply Quote 0
                  • E Offline
                    evroom
                    last edited by evroom Mar 29, 2019, 10:01 PM Mar 29, 2019, 9:50 PM

                    Just FYI
                    Simple test if both API key and place ID are okay using curl.

                    This returns both name & opening_hours (as it should be):

                    $ curl "https://maps.googleapis.com/maps/api/place/details/json?fields=name,opening_hours&language=en&placeid=ChIJl7ycbxZYn0cRqZwkVTJ3Rzw&key="API_KEY"
                    

                    In my case, it returned only the name:

                    $ curl "https://maps.googleapis.com/maps/api/place/details/json?fields=name,opening_hours&language=en&placeid=ChIJ9SpsbxZYn0cRhBEv4PE_Tvs&key="API_KEY"
                    

                    Still confused why the place ID from Place Finder seems a bit off.

                    MagicMirror version: 2.30.0
                    Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                    Raspbian GNU/Linux 12 (bookworm)

                    Test environment:
                    MagicMirror version: v2.30.0
                    Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                    Raspbian GNU/Linux 12 (bookworm)

                    1 Reply Last reply Reply Quote 0
                    • B Offline
                      Bloham
                      last edited by Bloham May 12, 2019, 10:09 PM May 12, 2019, 9:35 PM

                      Hi Guys,
                      (This is my first post :P but I have problems with this amazing module so I hope you could help)
                      I have basically the same problem as evroom. My API is working (I do get the requested information at least with the link: "https://maps.googleapis.com/maps/api/place/details/json?fields=name,opening_hours&language=en&placeid=....
                      I installed it with npm install and the module is just saying “Loading Opening Hours”.
                      I just set debug: "true", but i don’t know where to find the debug file ^^ (I’m pretty new to all of this)
                      Any idea for a fix? And this module is amazing (when it works) We always struggle to know if a certain shop is still open xD
                      Best, Ben

                      PROBLEM SOLVED:
                      At least for me, I just had to wait until after midnight and the data got fetched again and is showing now everything properly. So for everyone with the same problem, maybe just wait until the next day :)

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 1 / 2
                      • First post
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy