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.

    MMM-Fitbit2

    Scheduled Pinned Locked Moved Health
    fitbithealthfitnesshealthywaterfoodtrackingactivity tracker
    98 Posts 21 Posters 156.3k Views 19 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.
    • L Offline
      Layton @Vizulize
      last edited by

      @Vizulize That worked! Thank you :)

      1 Reply Last reply Reply Quote 1
      • R Offline
        richmp95 @Vizulize
        last edited by

        @Vizulize i am still having issues with this module. all it says is loading. any help with this i would appreciate it

        V 1 Reply Last reply Reply Quote 0
        • V Offline
          Vizulize Module Developer @richmp95
          last edited by

          @richmp95 I’m afraid I can’t do much to help without error logs.

          1 Reply Last reply Reply Quote 0
          • MeidlmarkusM Offline
            Meidlmarkus
            last edited by

            Hi, updated MM and now Google-Fit can no longer be installed, so I gave MMM-Fitbit2 a go.
            Thanks @Vizulize for your work, I’d really like to get it running.
            I have the same error that is reported in the github:

            npm ERR! must provide string spec
            

            To reproduce, just try to install it on an updated MM system.
            It happens when calling ./init.sh as per your instructions on github

            Have you/has anybody figured out a way to initialize the module?
            Thanks
            Markus

            S 1 Reply Last reply Reply Quote 0
            • S Do not disturb
              sdetweil @Meidlmarkus
              last edited by

              @Meidlmarkus said in MMM-Fitbit2:

              MMM-Fitbit2

              remove these lines from package.json

                  "//": [
                    "Requires this version to work",
                    "https://github.com/SVendittelli/MMM-fitbit/issues/23#issuecomment-464319931"
                  ]
              

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • MeidlmarkusM Offline
                Meidlmarkus
                last edited by Meidlmarkus

                Thanks, Sam!
                Had it googled in the meantime, had renamed the package-lock.json und run npm init
                It braught no further error, I called auth.sh and that’s where I’m stuck now.
                After entering the credentials, no browser dialog opens and I’m not quite sure where to search it.
                Am logged in over ssh and in addition have a browser open to :8080
                Neither on the mirror, nor on the pc, there is any dialog appearing.

                I guess I’ll start from scratch, remove the module folder, clone new from git, and try your suggested method with the original package.json?

                Thanks again
                Markus

                S 1 Reply Last reply Reply Quote 0
                • S Do not disturb
                  sdetweil @Meidlmarkus
                  last edited by

                  @Meidlmarkus yeh, can’t help on the auth part

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  MeidlmarkusM 1 Reply Last reply Reply Quote 0
                  • MeidlmarkusM Offline
                    Meidlmarkus @sdetweil
                    last edited by

                    @sdetweil yeah, so I renamed MMM-Fitbit2, cloned fresh.
                    In the package.json there is no such a line that you mentioned (I guess @Vizulize must have fixed it already)
                    Did npm init, then ./init seemingly went through.
                    With ./auth.sh same thing as before - no dialog showing up.

                    I hope @Vizulize sees it and helps out :-)

                    Thanks
                    Markus

                    S 1 Reply Last reply Reply Quote 0
                    • S Do not disturb
                      sdetweil @Meidlmarkus
                      last edited by

                      @Meidlmarkus I just checked again
                      https://github.com/m-roberts/MMM-Fitbit2

                      still has those lines

                      don’t see another author choice in google search

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      1 Reply Last reply Reply Quote 0
                      • MeidlmarkusM Offline
                        Meidlmarkus
                        last edited by

                        Yes, right.
                        Must have looked into the package.json after doing the npm init - my bad. Did another git clone and it is as you said.

                        Meanwhile it turned out I had pip not installed. After installing pip and running ./init.sh again (after npm init) libraries were installed, and also auth.sh was able to start (only saw it when I called the python script directly rather than from auth.sh)

                        So auth.sh was now able to “Open a Web browser” (at least according to its logs), I just don’t see any dialog.

                        Anyway, will now try init with the modified package.json and see if it makes a difference - will report back.
                        Thanks so far
                        Markus

                        1 Reply Last reply Reply Quote 0
                        • MeidlmarkusM Offline
                          Meidlmarkus
                          last edited by

                          So, quick update:
                          I tried inist.sh with the modified package.json
                          The result was just the same - I don’t see any input dialog open.

                          I believe the module is installed properly and the dependencies are ok.
                          Thanks
                          Markus

                          V 1 Reply Last reply Reply Quote 0
                          • V Offline
                            Vizulize Module Developer @Meidlmarkus
                            last edited by

                            @Meidlmarkus It’s been a while since I worked on this. From memory, doing this over SSH has extra complexity (probably to do with the DISPLAY environment variable). Honestly, I’ve wanted to rework this to be headless for a while but haven’t had the capacity to do so.

                            My advice would be to try and run it locally if possible.

                            Also if anyone can verify that the modification to package.json is a fix, then I will merge this in: https://github.com/m-roberts/MMM-Fitbit2/pull/10/files

                            1 Reply Last reply Reply Quote 0
                            • MeidlmarkusM Offline
                              Meidlmarkus
                              last edited by Meidlmarkus

                              @Vizulize thanks a lot!
                              In the meantime I came a little further.

                              So about the package.json: Yes, can confirm, @sdetweil 's solution works perfectly.
                              I did go the other route: after the git clone, I did an npm init, this resolved the prob in the package.json and package-lock.json - this worked, too.
                              My next problem was when calling the init.sh, I found out I had no pip installed, so the required libraries could not be installed.
                              So I installed pip, then init.sh ran fine and installed what was required.

                              I also came to the conclusion that the oauth authentification would probably work better locally rather than over ssh.
                              So I ran auth.sh, was told that server was now listening on http://127.0.01/8888 - which was also what I entered when registering the app at fitbit. Looked good so far.

                              No browser was opened though. So restarted MM with an invalid config.js, hooked up a keyboard/mouse on the mirror-raspberry locally and opened electron from a local terminal like so:
                              /home/pi/MagicMirror/node_modules/electron/dist/electron http://localhost:8888
                              That’s when the serverside reported

                              127.0.0.1 - - [04/Dec/2023:20:19:56] "GET / HTTP/1.1" 404 2019 "" "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.228 Electron/26.6.2 Safari/537.36"
                              

                              So, 404.
                              On the electron window, this was shown:

                              Traceback (most recent call last):
                                File "C:\ProgramData\Anaconda3\lib\site-packages\cherrypy\_cpdispatch.py", line 54, in __call__
                                  return self.callable(*self.args, **self.kwargs)
                              TypeError: index() missing 1 required positional argument: 'state'
                              
                              During handling of the above exception, another exception occurred:
                              
                              Traceback (most recent call last):
                                File "C:\ProgramData\Anaconda3\lib\site-packages\cherrypy\_cprequest.py", line 628, in respond
                                  self._do_respond(path_info)
                                File "C:\ProgramData\Anaconda3\lib\site-packages\cherrypy\_cprequest.py", line 687, in _do_respond
                                  response.body = self.handler()
                                File "C:\ProgramData\Anaconda3\lib\site-packages\cherrypy\lib\encoding.py", line 219, in __call__
                                  self.body = self.oldhandler(*args, **kwargs)
                                File "C:\ProgramData\Anaconda3\lib\site-packages\cherrypy\_cpdispatch.py", line 60, in __call__
                                  raise sys.exc_info()[1]
                                File "C:\ProgramData\Anaconda3\lib\site-packages\cherrypy\_cpdispatch.py", line 58, in __call__
                                  test_callable_spec(self.callable, self.args, self.kwargs)
                                File "C:\ProgramData\Anaconda3\lib\site-packages\cherrypy\_cpdispatch.py", line 157, in test_callable_spec
                                  raise cherrypy.HTTPError(404, message=message)
                              cherrypy._cperror.HTTPError: (404, 'Missing parameters: state')
                              
                              

                              Pls note: this is not exactly my error, looks like this is coming from a windows machine:
                              This came up as the first result when entering “missing parameters state” in the google search. But it is close enough to my error (just replace C:\ProgramData… with home/pi/.local/lib/python3.7… - I could not be bothered to type it all off of my mirror :-D )
                              There was no solution given, though, so that is where I am stuck now…

                              Thanks again for your help,
                              Markus

                              1 Reply Last reply Reply Quote 0
                              • MeidlmarkusM Offline
                                Meidlmarkus
                                last edited by

                                Plus: I learned that the callback page needs to be called exactly as specified, so I tried also with http://127.0.0.1:8888/

                                with ending slash, without, even with https - all to no avail.

                                Thanks again
                                Markus

                                1 Reply Last reply Reply Quote 0

                                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                With your input, this post could be even better 💗

                                Register Login
                                • 1
                                • 2
                                • 3
                                • 4
                                • 5
                                • 5 / 5
                                • 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