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.

    MagicMirror Pimatic (Home Automation) Dashboard

    Scheduled Pinned Locked Moved Show your Mirror
    35 Posts 10 Posters 39.4k Views 10 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.
    • Mr.SpontiM Offline
      Mr.Sponti
      last edited by

      First of all a big, very big thank you to Michael Teeuw!!!

      MagicMirror is really one of the greatest Raspberry projects followed by ‘pimatic - home automation controller’, another amazing Raspberry project. So far as I know both are developments from Dutchmen.
      After studying the documentation and several MM-moduls, I decided to use MagicMirror to setup a central dashboard for my family. Beside customizing of the standard moduls I used the modul ‘MMM-DWD-WarnWeather by LukeSkywalker92’ as a base to create a new modul for retrieving data from my pimatic home controller.
      I’m a complete novice to nodejs and all this web stuff, but my programming skill were sufficient to modify the Warnweather module and to integrate the the pimatic socket API.

      And voila, here is my dashboard providing now actual information from the internet plus status information from my IoT devices controlled by pimatic.

      alt text

      Special thanks, to those people taken time to document and to publish there solutions.
      (As soon as I’ve learned to use git, I will also publish the pimatic modul)

      Best regards and a happy new year!

      cowboysdudeC binderthB 2 Replies Last reply Reply Quote 3
      • cowboysdudeC Offline
        cowboysdude Module Developer @Mr.Sponti
        last edited by

        @Mr.Sponti Very nice! :) It’s where I’m headed…

        1 Reply Last reply Reply Quote 0
        • binderthB Offline
          binderth @Mr.Sponti
          last edited by

          @Mr.Sponti nice! just curious, why didn’t you use the “MMM-REST” module for your pimatic integration? I’m about to display some of the exact same Information (but from openHAB as a source for my home automation). So I wonder, if there were any impediments for using MMM-REST.

          Thanks,
          Thomas.

          S 1 Reply Last reply Reply Quote 1
          • S Offline
            sero @binderth
            last edited by

            @binderth
            When using REST you need to poll / ask pimatic for updated values in a regular interval. With WebSockets pimatic can push changed values. This is less overhead and minimizes delays.

            binderthB 1 Reply Last reply Reply Quote 1
            • Mr.SpontiM Offline
              Mr.Sponti
              last edited by

              @binderth
              as @sero mentioned, the Advantage over the socket-API is that you get live events, if something in pimatic changes.
              In addition I use the “MMM-REST” (push) module for displaying selected status messages in case a specific pimatic rule is fullfilled.

              1 Reply Last reply Reply Quote 0
              • binderthB Offline
                binderth @sero
                last edited by

                @sero said in MagicMirror Pimatic (Home Automation) Dashboard:

                @binderth
                When using REST you need to poll / ask pimatic for updated values in a regular interval. With WebSockets pimatic can push changed values. This is less overhead and minimizes delays.

                @Mr.Sponti said in MagicMirror Pimatic (Home Automation) Dashboard:

                @binderth
                as @sero mentioned, the Advantage over the socket-API is that you get live events, if something in pimatic changes.
                In addition I use the “MMM-REST” (push) module for displaying selected status messages in case a specific pimatic rule is fullfilled.

                Thanks for the update. So, I think, I’ll do the same for my openHAB items, as openHAB can also push item changes through an API to MM. oh, I love challenges, since I never had done something in node.js! ;)

                1 Reply Last reply Reply Quote 0
                • S Offline
                  shgmongohh
                  last edited by

                  Hi,

                  Nice mirror. Could you please provide your Module? I want to use it for my own pimatic controller.

                  Thank you in advance.

                  Sebastian.

                  1 Reply Last reply Reply Quote 0
                  • Mr.SpontiM Offline
                    Mr.Sponti
                    last edited by

                    @shgmongohh - Unfortunately I’m neither familiar with git nor with javascript or web style sheets. Based on my old school programming skills from the early eighties I studied several moduls and created 2 new moduls.

                    The first one connect to pimatic via the WebSocket API and receives on device attribute changes all new values which I compare to device attribute definitions placed in the magic mirror config.js. If a device mach the new attribute, it is shown in the notification board (similar and based on modul MMM-DWD-WarnWeather by LukeSkywalker92). My modul also consist on 3 files:

                    Pimatic Notification Borad:

                    • MMM-Pimatic.js
                    • node_helper.js
                    • MMM-Pimatic.css
                    • icons/icons-pimatic.png

                    The second modul displays temperature devices and consists of 2 files and requires that the first modul is running, as it receives the pimatic attribute changes from the node-helper of the first modul by waiting on “notificationReceived”.

                    Pimatic Temperature Devices:

                    • MMM-M2-Pimatic.css
                    • MMM-M2-Pimatic.js

                    If someone could create the git repository and crosscheck the code I can provide the files by sending a zip.archiv.

                    I would be glad to see additional ideas/moduls dealing with pimatic.

                    1 Reply Last reply Reply Quote 0
                    • Z Offline
                      Zinkeler
                      last edited by

                      Hello,
                      please can someone tell me how i can install MagicMirror and Pimatic together.
                      If i install MagicMirror then i can´t install pimatic (needs a lower version of node).
                      If i install pimatic then i cant´t install MagicMirror (needs a higher version of node).
                      :-(
                      For MagicMirror i used the latest version.
                      For Pimatic is used the latest version.
                      For Raspberry i installed Raspberry stretch

                      1 Reply Last reply Reply Quote 0
                      • Mr.SpontiM Offline
                        Mr.Sponti
                        last edited by

                        @Zinkeler - Sorry, but I can’t help here. I’m running 2 pi’s with separate installations of pimatic and MagicMirror. The first Raspberry hosts pimatic including several interfaces (Homeduino, MySensors, arexx temperature logger) and the second is mounted behind a HDMI Monitor hanging at the wall of my diningroom.

                        Z 1 Reply Last reply Reply Quote 0
                        • Z Offline
                          Zinkeler @Mr.Sponti
                          last edited by yawns

                          @Mr.Sponti - thank you for your answer.
                          I now setup a second PI and installed Pimatic.
                          On both PI´s i installd socket.io and socket.io-Client.
                          My second pi works fine with pimatic and my first Pi works with MagicMirror.
                          I installed your modul as you described.

                          If i run a test on my MagicMirror-PI:

                          pi@raspberrypi3:~ $ node testpim.js
                          connected
                          [ { id: 'temperatur',
                              name: 'Temperatur',
                              template: 'device',
                              attributes: [ [Object], [Object] ],
                              actions: [],
                              config:
                               { class: 'HomeduinoRFWeatherStation',
                                 protocols: [Object],
                                 values: [Object],
                                 processingTemp: '$value',
                                 processingHum: '$value',
                                 xAttributeOptions: [],
                                 id: 'temperatur',
                                 name: 'Temperatur' },
                          ...```
                          i see, that socket works too.
                          But on my MagicMirror is only get the message "Connecting to pimatic ..." 
                           config.js:
                          *{
                                      module: 'MMM-M1-Pimatic',
                                      position: 'bottom_center',
                                      header: 'PIMATIC',
                                      host : 'xxx.xxx.xxx.xx',
                                      port : 80,
                                      user : 'user',
                                      passwd : 'passwort',
                                      config: {
                                          device: [
                                              { 
                                                  name: 'Schrankschalter',
                                                  icon: 'icon-Default',
                                                  attributeName: 'schrankschalter.state',
                                                  defaultValue: false,
                                                  notification : 'Eingeschaltet'
                                              },
                                          ],
                                      },
                                  },*
                          What am i doing wrong??
                          Thanks
                          P.S. are you german, because than it´s easier to talk about :-)
                          1 Reply Last reply Reply Quote 0
                          • yawnsY Offline
                            yawns Moderator
                            last edited by

                            Ich weiß, dass github in der Readme genau das zeigt, was du probierst, aber meiner Meinung nach ist das falsch.

                            {
                                        module: 'MMM-M1-Pimatic',
                                        position: 'bottom_center',
                                        header: 'PIMATIC',
                                        config: {
                                            host : 'xxx.xxx.xxx.xx',
                                            port : 80,
                                            user : 'user',
                                            passwd : 'passwort',
                                            device: [
                                                { 
                                                    name: 'Schrankschalter',
                                                    icon: 'icon-Default',
                                                    attributeName: 'schrankschalter.state',
                                                    defaultValue: false,
                                                    notification : 'Eingeschaltet'
                                                },
                                            ],
                                        },
                                    }
                            

                            Meiner Meinung nach müssen host, port, user und passwd in den config Bereich.

                            Z 1 Reply Last reply Reply Quote 0
                            • Z Offline
                              Zinkeler @yawns
                              last edited by

                              @yawns
                              Vielen Dank !!
                              Genau das war das Problem, jetzt klappte es :-)

                              1 Reply Last reply Reply Quote 0
                              • P Offline
                                Peter
                                last edited by

                                Who can help me with this?
                                I am running MM on one RPI and Pimatic on another one.
                                But I have no idea how to get the information of Pimatic on the MM screen.
                                If somebody can tell me what to install where …
                                Thanks in advance!
                                Peter

                                1 Reply Last reply Reply Quote 0
                                • Mr.SpontiM Offline
                                  Mr.Sponti
                                  last edited by

                                  @Peter
                                  I’ve reworked my MMM-Pimatic modul but need now to adjust the description on gihub. The modul connects to a pimatic server to listen on device attribute changes and displays changes as notifications on the MagicMirror screen. Temperature values can be displayed in a separate table. As soon as I’ve completed the Readme, I will send you a message.

                                  P 1 Reply Last reply Reply Quote 0
                                  • P Offline
                                    Peter @Mr.Sponti
                                    last edited by

                                    @Mr.Sponti thanks!
                                    Would be great!
                                    Peter

                                    1 Reply Last reply Reply Quote 0
                                    • Mr.SpontiM Offline
                                      Mr.Sponti
                                      last edited by

                                      @Peter Here you can find the latest version of my MMM-Pimatic module. The README isn’t yet covering all features but should be sufficient for the installation and basic configuration of the module.
                                      Please feel free to contact me if you need help to get it running.

                                      P 1 Reply Last reply Reply Quote 0
                                      • P Offline
                                        Peter @Mr.Sponti
                                        last edited by

                                        @Mr.Sponti thanks!
                                        I will try it as soon as possible.
                                        I will let you know the results!
                                        Peter

                                        1 Reply Last reply Reply Quote 0
                                        • P Offline
                                          Peter
                                          last edited by

                                          pi@magicrpi:~/MagicMirror/modules/MMM-Pimatic $ npm install
                                          npm WARN enoent ENOENT: no such file or directory, open '/home/pi/MagicMirror/modules/package.json'
                                          npm WARN enoent ENOENT: no such file or directory, open '/home/pi/MagicMirror/modules/node_modules/node_helper/package.json'
                                          npm WARN modules No description
                                          npm WARN modules No repository field.
                                          npm WARN modules No README data
                                          npm WARN modules No license field.
                                          
                                          

                                          And I have no idea what to do (how to install) socket.io-client.
                                          Peter

                                          Mr.SpontiM 1 Reply Last reply Reply Quote 0
                                          • Mr.SpontiM Offline
                                            Mr.Sponti @Peter
                                            last edited by

                                            @Peter , you can ignore these Warnings, but you need to install the socket.io-client modul:

                                            cd  ~/MagicMirror/modules/MMM-Pimatic
                                            npm install socket.io-client
                                            
                                            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
                                            • 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