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-xiaomi - Temperature and Humidity from your smarthome

    Scheduled Pinned Locked Moved Utilities
    141 Posts 27 Posters 195.8k Views 27 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.
    • cowboysdudeC Offline
      cowboysdude Module Developer @mirko3000
      last edited by cowboysdude

      @mirko3000 Thank you for this!! Exactly what I have been looking for… this is truly awesome!

      I would like about 9 of these sensors… do I also need the gateway as well?

      B 1 Reply Last reply Reply Quote 0
      • B Offline
        barnosch @cowboysdude
        last edited by

        @cowboysdude : As i read, the Gateway is mandatory.
        But as always Xiaomi is really cheap. GW is about 25$ i guess.

        I ordered some temp sensors. Can’t wait to test the stuff.

        cowboysdudeC 1 Reply Last reply Reply Quote 1
        • C Offline
          cxlwill @mirko3000
          last edited by

          @mirko3000 Well, I have temp&hum sensor and it works well with Home Assistant and Homebridge. So I think the API itself is OK. I will check the log. Nice plugin anyway. Maybe we can extend it to more Xiaomi devices.

          1 Reply Last reply Reply Quote 0
          • cowboysdudeC Offline
            cowboysdude Module Developer @barnosch
            last edited by

            @barnosch said in MMM-xiaomi - Temperature and Humidity from your smarthome:

            @cowboysdude : As i read, the Gateway is mandatory.
            But as always Xiaomi is really cheap. GW is about 25$ i guess.

            I ordered some temp sensors. Can’t wait to test the stuff.

            I saw the gateway was inexpensive so if I can find a US plug adapter for this I will be ordering the gateway and about 9 of the temp sensors :)

            1 Reply Last reply Reply Quote 0
            • A Offline
              Albert2002
              last edited by

              How to figure out the id of the sensor?

              1 Reply Last reply Reply Quote 0
              • M Offline
                mirko3000
                last edited by

                Well the IDs show up in your magic mirror - the problem is to identify which ID belongs to which sensor. I guessed them by checking the temperature, still I agree that this is not very convenient so far. Looking out for a better solution…

                1 Reply Last reply Reply Quote 0
                • A Offline
                  Albert2002
                  last edited by

                  Thank you for your replay!

                  When I do so I get a “Connecting to XIAOMI gatway…”
                  Connecting to XIAOMI gatway..

                  As far as I understand "ENETUNREACH " means Network unreachable. I can successfully ping the Gatway at 192.168.2.107 via VNC & LX Terminal.
                  Do I have to set up something on my Gateway first?
                  Any idea what to do?

                  This is what my error log says:

                  ERROR! Could not find main module js file for RepositoryForRC
                  ERROR! Could not find main module js file for async
                  { Error: send ENETUNREACH 192.168.2.107:54321
                      at Object.exports._errnoException (util.js:1050:11)
                      at exports._exceptionWithHostPort (util.js:1073:20)
                      at SendWrap.afterSend [as oncomplete] (dgram.js:402:11)
                    code: 'ENETUNREACH',
                    errno: 'ENETUNREACH',
                    syscall: 'send',
                    address: '192.168.2.107',
                    port: 54321 }
                  

                  My mm out:

                  Starting MagicMirror: v2.1.3
                  Loading config ...
                  Loading module helpers ...
                  No helper found for module: alert.
                  No helper found for module: clock.
                  Initializing new module helper ...
                  Module helper loaded: MMM-Remote-Control
                  Initializing new module helper ...
                  Module helper loaded: MMM-xiaomi
                  All module helpers loaded.
                  Starting server on port 8080 ... 
                  Server started ...
                  Connecting socket for: MMM-Remote-Control
                  Starting node helper for: MMM-Remote-Control
                  Connecting socket for: MMM-xiaomi
                  Starting xiaomi helper
                  Sockets connected & modules started ...
                  Launching application.
                  Triggering Xiaomi Gateway upate
                  
                  1 Reply Last reply Reply Quote 0
                  • A Offline
                    Albert2002
                    last edited by

                    I’ve made a completely new Raspian & MM installation. No other modules installed. the default modules disabled in the config.js.

                    I Still get no connection. Im running the Home Gatewy V3 in Dev mode. Do I have to change any settings on my router or somewhere else?

                    Right now I get different error messages. Maybe it helps. I would love to see this module running!

                    mm-out:

                    > magicmirror@2.1.3 start /home/pi/MagicMirror
                    > sh run-start.sh
                    
                    Starting MagicMirror: v2.1.3
                    Loading config ...
                    Loading module helpers ...
                    Initializing new module helper ...
                    Module helper loaded: MMM-xiaomi
                    All module helpers loaded.
                    Starting server on port 8080 ... 
                    You're using a full whitelist configuration to allow for all IPs
                    Server started ...
                    Connecting socket for: MMM-xiaomi
                    Starting xiaomi helper
                    Sockets connected & modules started ...
                    Whoops! There was an uncaught exception...
                    MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
                    If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
                    Launching application.
                    

                    MagicMirror error log:

                    Error: Token could not be auto-discovered
                        at Device._tokenResolve (/home/pi/MagicMirror/modules/MMM-xiaomi/node_modules/miio/lib/device.js:141:13)
                        at Device._onMessage (/home/pi/MagicMirror/modules/MMM-xiaomi/node_modules/miio/lib/device.js:80:9)
                        at emitTwo (events.js:106:13)
                        at Socket.emit (events.js:194:7)
                        at UDP.onMessage [as onmessage] (dgram.js:545:8)
                    

                    MagicMirror out:

                     magicmirror@2.1.3 start /home/pi/MagicMirror
                    > sh run-start.sh
                    
                    Starting MagicMirror: v2.1.3
                    Loading config ...
                    Loading module helpers ...
                    Initializing new module helper ...
                    Module helper loaded: MMM-xiaomi
                    All module helpers loaded.
                    Starting server on port 8080 ... 
                    You're using a full whitelist configuration to allow for all IPs
                    Server started ...
                    Connecting socket for: MMM-xiaomi
                    Starting xiaomi helper
                    Sockets connected & modules started ...
                    Launching application.
                    Triggering Xiaomi Gateway upate
                    Triggering Xiaomi Gateway upate
                    

                    mm error log:

                    { Error: listen EADDRINUSE 127.0.0.1:8080
                        at Object.exports._errnoException (util.js:1050:11)
                        at exports._exceptionWithHostPort (util.js:1073:20)
                        at Server.setupListenHandle [as _listen2] (net.js:1263:14)
                        at listenInCluster (net.js:1304:12)
                        at doListen (net.js:1428:7)
                        at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
                        at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:10)
                      code: 'EADDRINUSE',
                      errno: 'EADDRINUSE',
                      syscall: 'listen',
                      address: '127.0.0.1',
                      port: 8080 }
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      mirko3000
                      last edited by

                      Hey Albert,

                      I think I have solved your issue: not all gateways seem to allow auto-discovery without authentification via a security token. I have added an additional configuration parameter now where you can provide your token:
                      https://github.com/mirko3000/MMM-xiaomi

                      Update the module and follow the description at the bottom:
                      https://github.com/mirko3000/MMM-xiaomi#authentification

                      Hope that works.

                      Best regards.

                      1 Reply Last reply Reply Quote 1
                      • A Offline
                        Albert2002
                        last edited by

                        Hi Mirko,

                        thank you for your work! I really appreciate this!

                        I’ve updated the module and installed the miio command line tools (with sudo)in the same directory. Or do I Have to install the miio command line tools in a different directory?
                        How ever, when am running miio command line tools i get

                        pi@raspberrypi:~/MagicMirror/modules/MMM-xiaomi $ miio --discover
                         INFO  Discovering devices. Press Ctrl+C to stop.
                        
                        Device ID: 52238776
                        Model info: Unknown 
                        Address: 192.168.2.107 
                        Token: ???
                        Support: Unknown
                        
                        

                        My id I’ve discovered seams to be a different style then the one in your example.
                        After this I added the device id to my config:

                        devices: [{ id: '52238776', name: 'Wohnzimmer' }]
                        
                        

                        I still see the same as before.

                        mm error:

                        Error: Token could not be auto-discovered
                            at Device._tokenResolve (/home/pi/MagicMirror/modules/MMM-xiaomi/node_modules/miio/lib/device.js:141:13)
                            at Device._onMessage (/home/pi/MagicMirror/modules/MMM-xiaomi/node_modules/miio/lib/device.js:80:9)
                            at emitTwo (events.js:106:13)
                            at Socket.emit (events.js:194:7)
                            at UDP.onMessage [as onmessage] (dgram.js:545:8)
                        

                        mm-out:

                        
                        > magicmirror@2.1.3 start /home/pi/MagicMirror
                        > sh run-start.sh
                        
                        Starting MagicMirror: v2.1.3
                        Loading config ...
                        Loading module helpers ...
                        Initializing new module helper ...
                        Module helper loaded: MMM-xiaomi
                        All module helpers loaded.
                        Starting server on port 8080 ... 
                        You're using a full whitelist configuration to allow for all IPs
                        Server started ...
                        Connecting socket for: MMM-xiaomi
                        Starting xiaomi helper
                        Sockets connected & modules started ...
                        Launching application.
                        Triggering Xiaomi Gateway upate
                        Triggering Xiaomi Gateway upate
                        
                        

                        MagicMirror error:

                        { Error: listen EADDRINUSE 127.0.0.1:8080
                            at Object.exports._errnoException (util.js:1050:11)
                            at exports._exceptionWithHostPort (util.js:1073:20)
                            at Server.setupListenHandle [as _listen2] (net.js:1263:14)
                            at listenInCluster (net.js:1304:12)
                            at doListen (net.js:1428:7)
                            at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
                            at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:10)
                          code: 'EADDRINUSE',
                          errno: 'EADDRINUSE',
                          syscall: 'listen',
                          address: '127.0.0.1',
                          port: 8080 }
                        

                        MagicMirror out:

                        
                        > magicmirror@2.1.3 start /home/pi/MagicMirror
                        > sh run-start.sh
                        
                        Starting MagicMirror: v2.1.3
                        Loading config ...
                        Loading module helpers ...
                        Initializing new module helper ...
                        Module helper loaded: MMM-xiaomi
                        All module helpers loaded.
                        Starting server on port 8080 ... 
                        You're using a full whitelist configuration to allow for all IPs
                        Server started ...
                        Connecting socket for: MMM-xiaomi
                        Starting xiaomi helper
                        Sockets connected & modules started ...
                        Whoops! There was an uncaught exception...
                        MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
                        If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
                        Launching application.
                        
                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 14
                        • 15
                        • 2 / 15
                        • 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