Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Controllers
  3. Open Source Home Automation (Raspberry)

Open Source Home Automation (Raspberry)

Scheduled Pinned Locked Moved Controllers
automationopen sourceraspberrycontroller
111 Posts 30 Posters 155.0k Views 15 Watching
  • 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.
  • JohnJ John

    Hi I'm John and i'm developing PiDome together with a friend of mine.

    The project is in an early stage and we just a couple of days ago are starting to support existing devices (Philips Hue was the first) and are going to include native MySensors support. When it will be included exactly i can not tell but it will be between now and some weeks. The main reason for this is that i'm doing the software and this friend of mine the hardware. So we are just two developers.

    The project is aimed at the raspberry pi but being based on java, it will not prevent it will also run on other systems (windows services are in test fase for example). The project also exists of multiple sub projects. Like the server, Desktop OS like/small application and an Android app.
    It supports websockets, raw sockets and webservice json-rpc entrypoint all these have secure and non secure ports, visual trigger editor (if this then that (else is on it's way)), floor planner (multiple floors).

    It is an ambitious but in very early stage project with currently only quick follow up alpha releases and a lot, lot of testing. Maybe at some point it will be interesting when the MySensors support is built in and people are willing to test it.

    [edit]
    A little video about the project is posted here: http://pidome.wordpress.com/2014/05/28/pidome-explained-in-a-video-clip-with-web-interface-demo/

    hekH Offline
    hekH Offline
    hek
    Admin
    wrote on last edited by
    #56

    @John-Sirach

    :thumbsup:

    Nice project you got going! Let me know if you need help interpreting the protocol while developing the MySensors plugin.

    JohnJ 1 Reply Last reply
    0
    • hekH hek

      @John-Sirach

      :thumbsup:

      Nice project you got going! Let me know if you need help interpreting the protocol while developing the MySensors plugin.

      JohnJ Offline
      JohnJ Offline
      John
      Plugin Developer
      wrote on last edited by
      #57

      @hek Thnx! We're doing the best we can. If i have any questions i will drop you a line. When i take a look at the devices it's all fairly simple. The only thing i notice is that there are variable types, but no data types. Is this correct?

      My Domotica project: http://www.pidome.org

      hekH 1 Reply Last reply
      0
      • daulagariD Offline
        daulagariD Offline
        daulagari
        Hero Member
        wrote on last edited by
        #58

        Instead of every project reinventing the wheel I would hope we would come to a common MQTT gateway so at least part of the code to support MySensors can be reused and ... you can have multiple Domotica solutions in parallel working with MySensors.

        Every Domotica project can then focus on how to handle the different devices the best but at least the interface talking to the MySensor network is standardized.

        @Yveaux has already posted a script above not 100% sure how far this is off for a complete solution.

        JohnJ 1 Reply Last reply
        0
        • JohnJ John

          @hek Thnx! We're doing the best we can. If i have any questions i will drop you a line. When i take a look at the devices it's all fairly simple. The only thing i notice is that there are variable types, but no data types. Is this correct?

          hekH Offline
          hekH Offline
          hek
          Admin
          wrote on last edited by
          #59

          @John-Sirach

          Yes, that is correct. There are both device- and variable types. You can report multiple variables on one device.

          When to use a specific variable type for a device is really a silent agreement between sensor and controller. Today you could actually report a temperature variable to a humidity device. It would not make any sense, but noting prohibits this. A good example where multiple variables is reported for one device is POWER-device where you usually report both KWH and WATT.

          If we can find a more general way of handling this in the future (and not over complex from the sensors point of view) it would be good. We had an discussion going about this but the thread disappeared in an crash.

          - I might split this into a new topic -

          JohnJ 1 Reply Last reply
          0
          • daulagariD daulagari

            Instead of every project reinventing the wheel I would hope we would come to a common MQTT gateway so at least part of the code to support MySensors can be reused and ... you can have multiple Domotica solutions in parallel working with MySensors.

            Every Domotica project can then focus on how to handle the different devices the best but at least the interface talking to the MySensor network is standardized.

            @Yveaux has already posted a script above not 100% sure how far this is off for a complete solution.

            JohnJ Offline
            JohnJ Offline
            John
            Plugin Developer
            wrote on last edited by
            #60

            @daulagari One of the features of PiDome is the json-rpc api which is standardized for every device added. Every device is being reported in the same manner (data, structure, etc...). One of the features on our todo list is MQTT and not only for device communication, but next to the json-rpc api and to be used between multiple PiDome server instances. This would also of course make it possible to chain different type of domotica solutions. We are not yet done with defining the MQTT structure, but it will eventually certainly be done.

            My Domotica project: http://www.pidome.org

            1 Reply Last reply
            0
            • hekH hek

              @John-Sirach

              Yes, that is correct. There are both device- and variable types. You can report multiple variables on one device.

              When to use a specific variable type for a device is really a silent agreement between sensor and controller. Today you could actually report a temperature variable to a humidity device. It would not make any sense, but noting prohibits this. A good example where multiple variables is reported for one device is POWER-device where you usually report both KWH and WATT.

              If we can find a more general way of handling this in the future (and not over complex from the sensors point of view) it would be good. We had an discussion going about this but the thread disappeared in an crash.

              - I might split this into a new topic -

              JohnJ Offline
              JohnJ Offline
              John
              Plugin Developer
              wrote on last edited by
              #61

              @hek Having multiple kind variables posted to a single device is no problem, it's more about the datatype handling because of possible automatic graph creations. It would be nice of there was a table somewhere telling what kind of data a variable is for the internal mappings used. But this would an other topic.

              My Domotica project: http://www.pidome.org

              marceltrapmanM 1 Reply Last reply
              0
              • daulagariD Offline
                daulagariD Offline
                daulagari
                Hero Member
                wrote on last edited by
                #62

                @John-Sirach said:

                It would be nice of there was a table somewhere telling what kind of data a variable is for the internal mappings used.

                Yes, agree, and it would be even nicer if that table was in a machine readable format so that again not everybody has to reinvent the wheel.

                1 Reply Last reply
                0
                • JohnJ John

                  @hek Having multiple kind variables posted to a single device is no problem, it's more about the datatype handling because of possible automatic graph creations. It would be nice of there was a table somewhere telling what kind of data a variable is for the internal mappings used. But this would an other topic.

                  marceltrapmanM Offline
                  marceltrapmanM Offline
                  marceltrapman
                  Mod
                  wrote on last edited by marceltrapman
                  #63

                  @John-Sirach said:

                  It would be nice of there was a table somewhere telling what kind of data a variable is for the internal mappings used. But this would an other topic.

                  You can start the yourself topic and publish the table :)
                  It is in the Vera files on Github...

                  Fulltime Servoy Developer
                  Parttime Moderator MySensors board

                  I use Domoticz as controller for Z-Wave and MySensors (previously Indigo and OpenHAB).
                  I have a FABtotum to print cases.

                  JohnJ 1 Reply Last reply
                  0
                  • marceltrapmanM marceltrapman

                    @John-Sirach said:

                    It would be nice of there was a table somewhere telling what kind of data a variable is for the internal mappings used. But this would an other topic.

                    You can start the yourself topic and publish the table :)
                    It is in the Vera files on Github...

                    JohnJ Offline
                    JohnJ Offline
                    John
                    Plugin Developer
                    wrote on last edited by
                    #64

                    @marceltrapman The internal mappings was meant for my project ;). When i take a look at the github code they all seem to be handled as strings? I meant in the case of a variable to be intepreted as a string,boolean,int,float,etc..

                    My Domotica project: http://www.pidome.org

                    1 Reply Last reply
                    0
                    • daulagariD Offline
                      daulagariD Offline
                      daulagari
                      Hero Member
                      wrote on last edited by
                      #65

                      @marceltrapman said:

                      You can start the yourself topic and publish the table
                      It is in the Vera files on Github...

                      I checked out the Vera repository and do not really see a table, what comes most close are the tDeviceTypes and the tVarTypes definitions in L_Arduino.lua.

                      Any better definition/source?

                      marceltrapmanM 1 Reply Last reply
                      0
                      • daulagariD daulagari

                        @marceltrapman said:

                        You can start the yourself topic and publish the table
                        It is in the Vera files on Github...

                        I checked out the Vera repository and do not really see a table, what comes most close are the tDeviceTypes and the tVarTypes definitions in L_Arduino.lua.

                        Any better definition/source?

                        marceltrapmanM Offline
                        marceltrapmanM Offline
                        marceltrapman
                        Mod
                        wrote on last edited by
                        #66

                        @John-Sirach said:

                        I meant in the case of a variable to be intepreted as a string,boolean,int,float,etc..

                        @daulagari said:

                        I do not really see a table...

                        OK, now I understand :)

                        What I was trying to say is that many rely on @hek to do this work but we can contribute ourselves as well.
                        In case you think a table is what helps you to do the job it might be a good exercise to assemble that table yourself.
                        Apologies for not being more clear on that.

                        Fulltime Servoy Developer
                        Parttime Moderator MySensors board

                        I use Domoticz as controller for Z-Wave and MySensors (previously Indigo and OpenHAB).
                        I have a FABtotum to print cases.

                        1 Reply Last reply
                        0
                        • hekH Offline
                          hekH Offline
                          hek
                          Admin
                          wrote on last edited by
                          #67

                          The table is also represented here.
                          http://www.mysensors.org/build/sensor_api#the-serial-protocol

                          (an updated table will be created for 1.4 once we decide to make it official)

                          If your using the serial protocol to communicate with the sensor network everything coming to the controller is represented as a string. Some values might might have decimals where applicable like temperature. But this is really up to the sensor to decide.

                          Boolean values is represented by 1/0.
                          Some sensor values is represented with percentage 0-100 (e.g. DIMMER, LIGHT_LEVEL, BATTERY_LEVEL).
                          Yet is some values (or modes) is represented by a string (like for HEATER). But is uncommon and mostly a legacy from Vera.

                          JohnJ 1 Reply Last reply
                          0
                          • hekH hek

                            The table is also represented here.
                            http://www.mysensors.org/build/sensor_api#the-serial-protocol

                            (an updated table will be created for 1.4 once we decide to make it official)

                            If your using the serial protocol to communicate with the sensor network everything coming to the controller is represented as a string. Some values might might have decimals where applicable like temperature. But this is really up to the sensor to decide.

                            Boolean values is represented by 1/0.
                            Some sensor values is represented with percentage 0-100 (e.g. DIMMER, LIGHT_LEVEL, BATTERY_LEVEL).
                            Yet is some values (or modes) is represented by a string (like for HEATER). But is uncommon and mostly a legacy from Vera.

                            JohnJ Offline
                            JohnJ Offline
                            John
                            Plugin Developer
                            wrote on last edited by
                            #68

                            @hek said:

                            If your using the serial protocol to communicate with the sensor network everything coming to the controller is represented as a string. Some values might might have decimals where applicable like temperature. But this is really up to the sensor to decide.

                            Ok, this is making things more clear, i will let the datatype the be decided by the user creating a device.
                            Thnx.

                            My Domotica project: http://www.pidome.org

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              sensorsusr
                              wrote on last edited by
                              #69

                              @bjornhallberg
                              I'm currently using OpenHAB with a couple Arduino sensor nodes. It works great. It does everything you've put in your required list and then some: rules engine, slick android app and browser interface, email / push notifications, data collection and charts. The only missing piece is the GUI for scene creation, but it's in the works. Also, great active community.

                              Here's some videos and tutorial of what I've got working:

                              http://goo.gl/je6LzU

                              I was in the same boat as you. All these "Home Automation" platforms take a lot of digging into to find out where their shortcomings are, what they're capable of. Although I did not do an exhaustive survey of everything out there, I did look at a few on your list, and ended up with OpenHAB.

                              1 Reply Last reply
                              0
                              • Z Offline
                                Z Offline
                                Zeph
                                Hero Member
                                wrote on last edited by Zeph
                                #70

                                See thread http://forum.mysensors.org/topic/248/generalizing-mysensors for some very related thoughts about making MySensors more easily and cleanly adaptable to different controllers, cloud storage, MQTT, radio networks, etc.

                                (For once, I had the self discipline to start another thread rather than embed that discussion in this related one, yay!)

                                1 Reply Last reply
                                0
                                • bjornhallbergB Offline
                                  bjornhallbergB Offline
                                  bjornhallberg
                                  Hero Member
                                  wrote on last edited by bjornhallberg
                                  #71

                                  Here are some benchmarks that also happen to include certain ARM platforms, like the Cubieboard, Raspberry as well as x86 Atom and NUC solutions. It also has the N40L Microserver that I run as a storage server (but am reluctant to run 24/7).

                                  https://s1.hoffart.de/7zip-bench/
                                  http://www.7-cpu.com/

                                  Perhaps not entirely applicable to JAVA or node.js or whatever but nevertheless a good guide.

                                  I bought my N40L for about €100 a while back (has since been deprecated by the N54L, don't know if it's still around?). Still stands up as pretty much the cheapest x86 board you can get, especially if you get the 4GB model and consider the performance which is better than a lot of fusion and atom platforms. Not super energy efficient though, even with the picoPSU mod and Dell powerbrick, and a bunch of 4TB drives obviously makes it even less so.

                                  If this whole Raspberry thing doesn't work out I'd definitely look into Intel's NUC line-up. The newer i5 Haswell model (D54250WYK) can allegedly run as lean as 3.7-4.6W idle. I figure they might get pretty cheap once the next generation comes out.

                                  1 Reply Last reply
                                  0
                                  • JohnJ Offline
                                    JohnJ Offline
                                    John
                                    Plugin Developer
                                    wrote on last edited by
                                    #72

                                    I have put some support for mysensors in the software i'm using/creating. It is in early stage and there is some manual labor needed.
                                    Still need to add:

                                    • Automatic node addresses
                                    • Automatic create node devices based on node presentations
                                    • And other stuff that can be added, etc...

                                    A penny for your thoughts:
                                    http://pidome.wordpress.com/2014/08/10/added-partly-mysensors-org-wireless-devices-support-api-1-4-beta/

                                    My Domotica project: http://www.pidome.org

                                    bjornhallbergB 1 Reply Last reply
                                    0
                                    • JohnJ John

                                      I have put some support for mysensors in the software i'm using/creating. It is in early stage and there is some manual labor needed.
                                      Still need to add:

                                      • Automatic node addresses
                                      • Automatic create node devices based on node presentations
                                      • And other stuff that can be added, etc...

                                      A penny for your thoughts:
                                      http://pidome.wordpress.com/2014/08/10/added-partly-mysensors-org-wireless-devices-support-api-1-4-beta/

                                      bjornhallbergB Offline
                                      bjornhallbergB Offline
                                      bjornhallberg
                                      Hero Member
                                      wrote on last edited by
                                      #73

                                      @John I did a quick install on my RPi to see how it would work out. I must say I'm impressed. Server web interface was up and running in under 40 seconds or so (openhab = 4 minutes). Very snappy and the interface seems like a good basis for a powerful controller. Shows real promise! Renewed faith in Java ;-)

                                      1 Reply Last reply
                                      0
                                      • JohnJ Offline
                                        JohnJ Offline
                                        John
                                        Plugin Developer
                                        wrote on last edited by
                                        #74

                                        @bjornhallberg
                                        Disable the ssl in config/system.default.properties or copy and paste the below line in config.properties (default has precedence)

                                        server.enablessl = false
                                        

                                        And it will be even faster, it then disables the certificate generation(at least 5 seconds), ssl websocket, http and raw socket instances (couple seconds per instance type).

                                        I'm glad you got it up and running quite quickly if i understood correct because the downloads are still in alpha state (snapshots). I wish i already had some example sensors in the DB so it could by tried out without having to create XML definition files yourself.

                                        My Domotica project: http://www.pidome.org

                                        1 Reply Last reply
                                        0
                                        • B Offline
                                          B Offline
                                          Bandra
                                          wrote on last edited by
                                          #75

                                          @John
                                          Your project looks great! I'm looking around for an home automation controller and was tossing between domoticz, openhab and FHEM.

                                          My criteria are:

                                          • MySensors support (whether directly or through a gateway)
                                          • Z-Wave support
                                          • Visual floor plan
                                          • Runnable on a Pi

                                          May have to add yours to the mix to trial.

                                          How difficult would it be to compile openzwave and integrate it by some mechanism to PiDome, do you think?

                                          JohnJ 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          21

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular