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. Announcements
  3. 2.0 Discussion: Units, sensor types and protocol

2.0 Discussion: Units, sensor types and protocol

Scheduled Pinned Locked Moved Announcements
170 Posts 23 Posters 83.8k Views 7 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.
  • Z Offline
    Z Offline
    Zeph
    Hero Member
    wrote on last edited by Zeph
    #74

    @hek said:

    S_RGBW - RGBW Light
    V_STATUS - 1 - turn on, 0 = turn off
    V_R_PERCENTAGE - Red component % <int>
    V_G_PERCENTAGE - Green component % <int>
    V_B_PERCENTAGE - Blue component % <int>
    V_W_PERCENTAGE - White component % <int>
    V_WATT - Watt <int>
    V_WATT_MAX - Max watt value
    V_WATT_MIN - Min watt value
    V_WATT_AVERAGE - Min watt value
    V_WATT_RESET - Reset max/min values

    One of the areas where the spec is very unclear is when a variable is writable and where it's only reportable (read only).

    For example, can I set the watts to 20 above (or for S_DIMMABLE) in order to tell the light how much power I want it to use? Seems like a valuable option. How am I supposed to know?

    What if we made the write/report/trigger function explicit:

    S_RGBW - RGBW Light

    W_STATUS - 1 - turn on (100%), 0 = turn off (0%)
    W_R_PERCENTAGE - Red component % <int>
    W_G_PERCENTAGE - Green component % <int>
    W_B_PERCENTAGE - Blue component % <int>
    W_W_PERCENTAGE - White component % <int>
    R_WATT - Watt <int> - current instantaneous or short term average value
    R_WATT_MAX - Max watt value since last reset
    R_WATT_MIN - Min watt value since last reset
    R_WATT_AVERAGE - Min watt value since last reset
    T_WATT_RESET - Reset max/min/avg value
    

    W variables can be written to; the current value can also be queried
    R variables can only be reported (automatically or by query)
    T variables are triggers, writing to them triggers some action

    This gives guidance to both the sketch writer for the node, as well the controller adapter writer in knowing what they can do with each variable a node presents.

    The actual numeric values for R, W and T codes could be interspersed or non-overlapping ranges could be reserved for each (eg: 1-100 for R, 101-200 for W and 201-255 for T)

    DammeD 1 Reply Last reply
    0
    • Z Zeph

      @hek said:

      S_RGBW - RGBW Light
      V_STATUS - 1 - turn on, 0 = turn off
      V_R_PERCENTAGE - Red component % <int>
      V_G_PERCENTAGE - Green component % <int>
      V_B_PERCENTAGE - Blue component % <int>
      V_W_PERCENTAGE - White component % <int>
      V_WATT - Watt <int>
      V_WATT_MAX - Max watt value
      V_WATT_MIN - Min watt value
      V_WATT_AVERAGE - Min watt value
      V_WATT_RESET - Reset max/min values

      One of the areas where the spec is very unclear is when a variable is writable and where it's only reportable (read only).

      For example, can I set the watts to 20 above (or for S_DIMMABLE) in order to tell the light how much power I want it to use? Seems like a valuable option. How am I supposed to know?

      What if we made the write/report/trigger function explicit:

      S_RGBW - RGBW Light

      W_STATUS - 1 - turn on (100%), 0 = turn off (0%)
      W_R_PERCENTAGE - Red component % <int>
      W_G_PERCENTAGE - Green component % <int>
      W_B_PERCENTAGE - Blue component % <int>
      W_W_PERCENTAGE - White component % <int>
      R_WATT - Watt <int> - current instantaneous or short term average value
      R_WATT_MAX - Max watt value since last reset
      R_WATT_MIN - Min watt value since last reset
      R_WATT_AVERAGE - Min watt value since last reset
      T_WATT_RESET - Reset max/min/avg value
      

      W variables can be written to; the current value can also be queried
      R variables can only be reported (automatically or by query)
      T variables are triggers, writing to them triggers some action

      This gives guidance to both the sketch writer for the node, as well the controller adapter writer in knowing what they can do with each variable a node presents.

      The actual numeric values for R, W and T codes could be interspersed or non-overlapping ranges could be reserved for each (eg: 1-100 for R, 101-200 for W and 201-255 for T)

      DammeD Offline
      DammeD Offline
      Damme
      Code Contributor
      wrote on last edited by
      #75

      @Zeph it all depends on how skilled programmer and how nerdy you are. if you want to set a lamp power with V_WATT great, thats nerdy! but in not, just dont read any thing from v_watt. .. there is no such thing as a read only variable, all depends on if you listen to incoming messages of that type or not.... I think you over-think this a bit. The atmega328 is a rather small mcu and wont be able to magically do tons of stuff. how to know what is what, well every home automation system should have a manual :) Write it down.

      Z 1 Reply Last reply
      0
      • JohnJ John

        @hek

        It depends, if the HSB scale is purely in integers you will have about 3.600.000 options (including brightness steps) which is much less then 16 bit 0,0,0 - 255,255,255 scale. But this scale ain't specific in int's it is an implementation chosen scale. If choosing for ints, yeah keep the RGB, if going to floats, add it next to the RGB.

        probably missing something?

        The main difference is that with pure 16 bit you will have whole bit numbers and with degrees there is more then just go from 359 to 360/0. you could use 359,00 to 359,99 which gives an extra 990.000 extra red combinations (including saturation and brightness) with absolute 16 bit you stick with whole ints/bytes limiting the possible fixtures light high "resolution" capabilities.

        Also because of the nature of HSB with higher color resolution possibilities you will always have the possibility to find the closest 16 bit neighbor or even the exact bit value because of higher to lower "spectrum" resolution.

        With the above if you would leave out the brightness you would have a higher color resolution 255,254,255 is one step lower green form maximum, you can't go to 254.9 right? in degrees i think green is 120, you could go to 119.99999. because the degrees are not fixed to a whole as a byte is.

        Because of more steps calibrating un-calibrated fixtures/leds (for example with the green mentioned earlier) can be more precise. Also HSB is more human perspective then fixed bits.

        Maybe the above shines a light on the difference?

        RGB is just a brightness setting of a specific color, HSB is pure color selection, intensity setting, and the brightness of these.

        Personally:
        HSB is nice to have, but from personal needs i have enough convertion functions (hsb->rgb and vice, hsb -> kelvin, etc...) to convert.

        Should it be done on the Arduino side or controller?

        I would let the controller do the actual conversions and let the device spec it's capabilities.

        Z Offline
        Z Offline
        Zeph
        Hero Member
        wrote on last edited by Zeph
        #76

        @John

        I can see a case for making HSB the norm.

        Think of light types like a class heirarchy, with added functionality

        S_BINARY

        V_STATUS (1=100%, 0 =0%)
        

        S_DIMMABLE

        V_STATUS (1=100%, 0 =0%)
        V_PERCENTAGE (0.0% - 100.0%)
        

        S_HSB

        V_STATUS (1=100%, 0 =0%)
        V_PERCENTAGE (0.0% - 100.0%)
        V_HUE (0.0 - 360.0)
        V_SATURATION (0.0% - 100.0%)
        

        If you set V_STATUS to 0, or V_PERCENTAGE to 0%, any of these lights turn fully off.
        If you set V_PERCENTAGE to 100%, S_DIMMABLE will go to 100% (V_STATUS=1)
        and S_HSV will go to 100%, in the current hue and saturation
        If you set V_PERCENTAGE to 50%, likewise.

        I think one could make the case that it's more human compatible to go to "yellow, 25%" than to figure out what the RGB values would be. (The user interface could translate yellow to a hue number)

        One aspect HSB is that there are a couple of ways of associating colors with angles, so we would need to specify which is our standard, so 40 degrees is the same hue for all nodes. I like the rainbow style.


        @hek
        I do also get the point that HSB -> RGB conversions could be done on the controller, passing the lower level RGB values to the node. There is an attraction to that as well.

        This cannot be fully resolved without also considering the question of light curves or gamma factors, which has been raised. The controller needs to know whether or not the node implements light curves for RGB channels, so it can avoid doing that twice; and also it in the changes how the controller should convert HSB to RGB (the stock conversions assume RGB are linear).

        1 Reply Last reply
        0
        • DammeD Damme

          @Zeph it all depends on how skilled programmer and how nerdy you are. if you want to set a lamp power with V_WATT great, thats nerdy! but in not, just dont read any thing from v_watt. .. there is no such thing as a read only variable, all depends on if you listen to incoming messages of that type or not.... I think you over-think this a bit. The atmega328 is a rather small mcu and wont be able to magically do tons of stuff. how to know what is what, well every home automation system should have a manual :) Write it down.

          Z Offline
          Z Offline
          Zeph
          Hero Member
          wrote on last edited by
          #77

          @Damme said:

          Write it down

          That's what I'm trying to do.

          We could CLEARLY write down that V_WATT is intended only to report values and cannot be set, while V_RESET is a trigger, and V_R_PERCENTAGE is settable - so different implementors don't make different and incompatible guesses about what these mean.

          We do not want the situation where one sketch writer interprets V_WATT to be a way to control how much power the lamp will use and another sketch write interprets it as reporting only. And then controller interface writers also guess differently about what it means. That's chaos.

          One step in that direction would be naming them according to the intention - writable, reportable, or trigger.

          I've done a LOT of implementing from specifications, as many others have. Having a clear specification that avoids huge ambiguities (is this something you set or something that reports is huge) is not over-thinking - it pays off big time.

          1 Reply Last reply
          0
          • hekH hek

            I actually have RGBW led strips mounted around our house. W is indeed its own component (Warm White in my case). So it will stick ;)

            (Warm White using the special W-component)
            20130825_211259.jpg

            Cold white (RGB activated)
            20130825_211337.jpg

            Crazy
            20130825_211203.jpg

            YveauxY Offline
            YveauxY Offline
            Yveaux
            Mod
            wrote on last edited by
            #78

            @hek said:

            Crazy

            You didn't dare posting a red version, did you? :dancer:

            http://yveaux.blogspot.nl

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

              @Zeph

              I can see a case for making HSB the norm.

              I'm not ;). it is just a possible addition of possible value types to the S_RGBW type and if not possible like you stated a S_HSB and to keep clarity V_PERCENTAGE should then be V_BRIGHTNESS. Or both percentages (not possible) or both naming as it is.

              One aspect HSB is that there are a couple of ways of associating colors with angles

              Off topic, which ones? i only know one, are you sure your not mixing HSB with HSL?

              On topic:
              I'm fine with only sending RGB if HSB ain't possible to be combined with S_RGBW or added with S_HSB/S_HSV if it is thought of as a logical addition.

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

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

                @John
                You are probably way ahead of me in terms of formal color spaces. I'm just a color user.

                I like using a modified Hue, such the the "rainbow" described here:

                https://github.com/FastLED/FastLED/wiki/FastLED-HSV-Colors

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

                  @zeph said

                  You are probably way ahead of me in terms of formal color spaces

                  Not really, i'm no color expert, But did a lot with colors lately because i use this to influence our living environment

                  Ok got it, Hue with rainbow style is variable due to the amount of colors (real life circumstance like angel etc) on that page an almost perfect rainbow angle and lighting situation is used.

                  I agree with you, but that's user implementation on the hardware, and something mysensors can not control. You would still need the HSB parameters ;) The implementation of rainbow or spectrum should be done on the controller<->end device side and the end user should know about it (or at least the developer of that specific controller/hardware implementation), not protocol based, because the parameters are still the same.

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

                  1 Reply Last reply
                  0
                  • epierreE Offline
                    epierreE Offline
                    epierre
                    Hero Member
                    wrote on last edited by
                    #82

                    @Hek globally I don't understand the min/max/average, are they managed by the sensor or the controller ? if it is the sensor in case of reboot it should get it back from the gateway/controller and should be resettable maybe to have a year/month/week/day min/max. For me that should be controller side to handle this logic...

                    Now for my favorite playground ;-) it needs the calibration value clearly first, then for the discussion some projects (AirPi) avoid the calibration pitfall by sending back the voltage... If we want to have a concentration value from the sensor that is ok.

                     S_AIR_QUALITY - Air Quality Sensor
                     V_LEVEL - ? We need to describe this better
                     V_LEVEL_RESET - Reset max/min value
                    
                    @hek Hmm.. Soil Moisture.. I have no idea how to represent this. Help me! The ebay sensors we're using isn't super accurate and comes uncalibrated.
                    
                    @damme   Hmm... V_Moisture, (relative) 0-255 / 0-100% / True | False
                    

                    On both I agree, I have some imaginatronix and yes you need a margin of error... but when it rains it rains... this is where a calibration value will be usefull at least to have several sensors showing the same value at the same environment time... I you want a logic then the true false can be good but not enough... on my imagitronix I have an empty value of 20% and a watered value of 100%, sometimes after the rain it is 80%..., where would be the limit ?

                    Also, I am thinking of a leaf wetness (we had a lot here this year... and diseases that goes with it) that could be mapped to soil sensors [Article on values(http://www.decagon.com/education/do-you-measure-leaf-wetness/)

                    z-wave - Vera -&gt; Domoticz
                    rfx - Domoticz &lt;- MyDomoAtHome &lt;- Imperihome
                    mysensors -&gt; mysensors-gw -&gt; Domoticz

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

                      @epierre said:

                      globally I don't understand the min/max/average, are they managed by the sensor or the controller ? if it is the sensor in case of reboot it should get it back from the gateway/controller and should be resettable maybe to have a year/month/week/day min/max. For me that should be controller side to handle this logic...

                      The MAX/MIN/AVERAGE are optional to use. My idea was that sensors would manage them. They can choose to store it in eeprom or throw away values when reboot occurs.
                      The idea originates from GUST for wind which really is a max value over a certain time. This is just a generalization.
                      Usecase: Sensor might not report every wind value to controller but just every 10 minute. But internally it can calculate average/max/min for every 10 seconds without pushing this.

                      epierreE 1 Reply Last reply
                      0
                      • R Offline
                        R Offline
                        Rasmus Eneman
                        wrote on last edited by
                        #84

                        Please leave HSV/HSL to the controller. Why complicate the node more that necessary?
                        Using LEVEL would be good, 8 bit per color is good, it's also super easy for the node to scale down if only supporting 7 or 6 bits and it's perfect for those digital LED strips.

                        Please have a pure RGB without W, most strips and RGB leds don't have a W diode so that would need to be simulated with different result in different nodes.

                        JohnJ 1 Reply Last reply
                        0
                        • R Rasmus Eneman

                          Please leave HSV/HSL to the controller. Why complicate the node more that necessary?
                          Using LEVEL would be good, 8 bit per color is good, it's also super easy for the node to scale down if only supporting 7 or 6 bits and it's perfect for those digital LED strips.

                          Please have a pure RGB without W, most strips and RGB leds don't have a W diode so that would need to be simulated with different result in different nodes.

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

                          @Rasmus-Eneman

                          Please leave HSV/HSL to the controller. Why complicate the node more that necessary?

                          That's why i asked for an addition if it would over complicate stuff (and if there is room for it) ;). And well, yeah you're right, S_RGBW with HSB would be complicating things more mixing capabilities with the node naming. There is always S_CUSTOM with V_VAR_1,V_VAR_2,V_VAR_3 combination.

                          I agree with leaving out the W. But could be a nice addition for those non calibrated fixtures where you have to supply calibrated values in the node to get "proper" white levels.

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

                          Z 1 Reply Last reply
                          0
                          • hekH hek

                            @epierre said:

                            globally I don't understand the min/max/average, are they managed by the sensor or the controller ? if it is the sensor in case of reboot it should get it back from the gateway/controller and should be resettable maybe to have a year/month/week/day min/max. For me that should be controller side to handle this logic...

                            The MAX/MIN/AVERAGE are optional to use. My idea was that sensors would manage them. They can choose to store it in eeprom or throw away values when reboot occurs.
                            The idea originates from GUST for wind which really is a max value over a certain time. This is just a generalization.
                            Usecase: Sensor might not report every wind value to controller but just every 10 minute. But internally it can calculate average/max/min for every 10 seconds without pushing this.

                            epierreE Offline
                            epierreE Offline
                            epierre
                            Hero Member
                            wrote on last edited by
                            #86

                            @hek ok I agree. Can we have too an alert that could be sent back to the gateway, or like an armed mode for the air sensors ?

                            Today, one of my daughter broke a bottle of perfume, saturating the air and making the sensor go to its max. Even if the sensor is not calibrated, on some kind that (IMHO) must raise an alert for I cannot say infinite or over the maximum value...

                            z-wave - Vera -&gt; Domoticz
                            rfx - Domoticz &lt;- MyDomoAtHome &lt;- Imperihome
                            mysensors -&gt; mysensors-gw -&gt; Domoticz

                            YveauxY Z hekH 3 Replies Last reply
                            0
                            • epierreE epierre

                              @hek ok I agree. Can we have too an alert that could be sent back to the gateway, or like an armed mode for the air sensors ?

                              Today, one of my daughter broke a bottle of perfume, saturating the air and making the sensor go to its max. Even if the sensor is not calibrated, on some kind that (IMHO) must raise an alert for I cannot say infinite or over the maximum value...

                              YveauxY Offline
                              YveauxY Offline
                              Yveaux
                              Mod
                              wrote on last edited by
                              #87

                              @epierre In 1.4 a binary represetation of a float value can be exchanged with the library. This allows to report e.g. + or - infinite where normally floating point values are sent. Maybe this will serve your purpose?

                              http://yveaux.blogspot.nl

                              1 Reply Last reply
                              0
                              • JohnJ John

                                @Rasmus-Eneman

                                Please leave HSV/HSL to the controller. Why complicate the node more that necessary?

                                That's why i asked for an addition if it would over complicate stuff (and if there is room for it) ;). And well, yeah you're right, S_RGBW with HSB would be complicating things more mixing capabilities with the node naming. There is always S_CUSTOM with V_VAR_1,V_VAR_2,V_VAR_3 combination.

                                I agree with leaving out the W. But could be a nice addition for those non calibrated fixtures where you have to supply calibrated values in the node to get "proper" white levels.

                                Z Offline
                                Z Offline
                                Zeph
                                Hero Member
                                wrote on last edited by Zeph
                                #88

                                If you do have a strip with RGB and W LEDs (rare), this can be handled as an RGB light and a DIMMER.


                                A lot of our discussions really hinge on how much smarts to put where in the architecture. My overall philosophy would be to keep the node simple and move functionality to it only when the same thing cannot be easily done centrally. Reasons to move smarts into a node could include:

                                • Uses local calibration that central doesn't have
                                • Needs updating more often than reports go to central (eg: wind max)
                                • Timing, eg: safety features that need to act fast
                                • Reliability of data links, eg: safety features that should not depend on RF robustness
                                • Providing some logically consistent interface available to all controllers
                                • Providing some functionality which cannot be as easily implemented in a controller (eg: closed source)

                                The latter two would be one-off custom coding at this time, tho @hek has mentioned the idea of pushing some rules down to the node level in a more automated way someday.


                                This probably argues more for using RGB rather than HSV at the node level. What I liked about the HSB was the unification of on/off, dimmable, and HSB functionality as a nested set of expanding functionality. So a script or rule that sets the brightness could work on a DIMMABLE or a HSB light by setting the V_PERCENTAGE value (or V_BRIGHTNESS as someone suggested). But that could be done at the central level.


                                I've used the term "central" because I still have the vision that a "hub" or "gateway" could implement some features, rather than having the smarts only in the controller or in the sensactuator nodes. So for example, it could be possible for the gateway to convert HSB to RGB such that the controller doesn't have to implement it. I know that approach is not currently popular so you don't need to register general disapproval. This will either come to seem a worthwhile additional open in coming years or not.

                                1 Reply Last reply
                                0
                                • epierreE epierre

                                  @hek ok I agree. Can we have too an alert that could be sent back to the gateway, or like an armed mode for the air sensors ?

                                  Today, one of my daughter broke a bottle of perfume, saturating the air and making the sensor go to its max. Even if the sensor is not calibrated, on some kind that (IMHO) must raise an alert for I cannot say infinite or over the maximum value...

                                  Z Offline
                                  Z Offline
                                  Zeph
                                  Hero Member
                                  wrote on last edited by Zeph
                                  #89

                                  @epierre said:

                                  Can we have too an alert that could be sent back to the gateway, or like an armed mode for the air sensors ?

                                  Today, one of my daughter broke a bottle of perfume, saturating the air and making the sensor go to its max. Even if the sensor is not calibrated, on some kind that (IMHO) must raise an alert for I cannot say infinite or over the maximum value...

                                  Let's not bring infinity into this...

                                  How about just returning "the maximum reportable value" (finite). If the node is capable of detecting "above measurable" conditions, have it define the "maximum reportable" as 1 higher than it's internal "maximum measurable".

                                  The idea is to keep a simple scale of results, where for example we can consistently compute "max/min over 24 hours", or set a trigger on "value >= threshold" without needing to deal with infinity math. Some controller software may not have any concept of infinity, so using it brings in unnecessary incompatibilities.

                                  This allows the controller to define the alert as it wishes. For example, suppose a sensor reports uncalibrated values of 25 to 173, and the node uses 174 for a detected "over-range". The controller can implement a trigger or event at "value > 160" to test for high values (without having to test for infinite values too). Or it could test for "value >=174" if it specifically wants to test for overrange (which could be way over the max measured value or just barely above it).

                                  epierreE 1 Reply Last reply
                                  0
                                  • epierreE epierre

                                    @hek ok I agree. Can we have too an alert that could be sent back to the gateway, or like an armed mode for the air sensors ?

                                    Today, one of my daughter broke a bottle of perfume, saturating the air and making the sensor go to its max. Even if the sensor is not calibrated, on some kind that (IMHO) must raise an alert for I cannot say infinite or over the maximum value...

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

                                    @epierre said:

                                    Today, one of my daughter broke a bottle of perfume, saturating the air and making the sensor go to its max. Even if the sensor is not calibrated, on some kind that (IMHO) must raise an alert for I cannot say infinite or over the maximum value...

                                    LOL

                                    1 Reply Last reply
                                    0
                                    • Z Zeph

                                      @epierre said:

                                      Can we have too an alert that could be sent back to the gateway, or like an armed mode for the air sensors ?

                                      Today, one of my daughter broke a bottle of perfume, saturating the air and making the sensor go to its max. Even if the sensor is not calibrated, on some kind that (IMHO) must raise an alert for I cannot say infinite or over the maximum value...

                                      Let's not bring infinity into this...

                                      How about just returning "the maximum reportable value" (finite). If the node is capable of detecting "above measurable" conditions, have it define the "maximum reportable" as 1 higher than it's internal "maximum measurable".

                                      The idea is to keep a simple scale of results, where for example we can consistently compute "max/min over 24 hours", or set a trigger on "value >= threshold" without needing to deal with infinity math. Some controller software may not have any concept of infinity, so using it brings in unnecessary incompatibilities.

                                      This allows the controller to define the alert as it wishes. For example, suppose a sensor reports uncalibrated values of 25 to 173, and the node uses 174 for a detected "over-range". The controller can implement a trigger or event at "value > 160" to test for high values (without having to test for infinite values too). Or it could test for "value >=174" if it specifically wants to test for overrange (which could be way over the max measured value or just barely above it).

                                      epierreE Offline
                                      epierreE Offline
                                      epierre
                                      Hero Member
                                      wrote on last edited by
                                      #91

                                      @Zeph I don't share the same view, since we allow logic in the sensor for min/max interval, why not doing it too for the gas level ? all the more that the limit of the sensor is not a "business logic" but an internal logic linked by the physical capacity of the sensor itself (and which varies with each sensor type...).

                                      My point was more that if you monitor LPG NO2 / NO3 or smoke that could be really harmfull we should provide safeguards anyway... not a big deal, more a safety net...

                                      z-wave - Vera -&gt; Domoticz
                                      rfx - Domoticz &lt;- MyDomoAtHome &lt;- Imperihome
                                      mysensors -&gt; mysensors-gw -&gt; Domoticz

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

                                        Ok,

                                        I will change create two device-types S_RGB and S_RGBW and use a level instead of percentage for each color component (0-255).

                                        1 Reply Last reply
                                        0
                                        • DammeD Damme

                                          I dont know why we have to limit some S_type to a number of V_types. Why not just let a S_type have 'all' V_types... User can be more flexible

                                          If I wanted node could send
                                          S_MOTION V_TRIPPED 1 (motion tripped)
                                          S_MOTION V_ARMED 0 (no longer armed)
                                          S_MOTION V_LEVEL 24 (motion quality 24 of 255) (probobly animal)

                                          controller decides S_MOTION V_RESET 1

                                          (order not thought of at all, needs to be fixed)

                                           #DEFINE S_DOOR	1
                                           #DEFINE S_MOTION	2
                                           #DEFINE S_SMOKE	3
                                           #DEFINE S_BINARY	4
                                           #DEFINE S_DIMMABLE	5
                                           #DEFINE S_WINDOW_COVER	6
                                           #DEFINE S_THERMOMETER	7
                                           #DEFINE S_HUMIDITY	8
                                           #DEFINE S_BAROMETER	9
                                           #DEFINE S_WIND	10
                                           #DEFINE S_RAIN	11
                                           #DEFINE S_UV	12
                                           #DEFINE S_WEIGHT_SCALE	13
                                           #DEFINE S_POWER	14
                                           #DEFINE S_HEATER	15
                                           #DEFINE S_DISTANCE	16
                                           #DEFINE S_LIGHT_SENSOR	17
                                           #DEFINE S_NODE	18
                                           #DEFINE S_LOCK	19
                                           #DEFINE S_IR	20
                                           #DEFINE S_WATER_METER	21
                                           #DEFINE S_AIR_QUALITY	22
                                           #DEFINE S_CUSTOM	23
                                           #DEFINE S_DUST	24
                                           #DEFINE S_PH	25
                                           #DEFINE S_SCENE_CONTROLLER	26
                                           #DEFINE S_NODE	255
                                           
                                           #DEFINE V_CONFIG1	1
                                           #DEFINE V_CONFIG2	2
                                           #DEFINE V_CONFIG3	3
                                           #DEFINE V_CONFIG4	4
                                           #DEFINE V_CONFIG5	5
                                           #DEFINE V_VAR1	6
                                           #DEFINE V_VAR2	7
                                           #DEFINE V_VAR3	8
                                           #DEFINE V_VAR4	9
                                           #DEFINE V_VAR5	10
                                           #DEFINE V_ARMED	11
                                           #DEFINE V_STATUS	12
                                           #DEFINE V_WATT	13
                                           #DEFINE V_PERCENTAGE	14
                                           #DEFINE V_STOP	15
                                           #DEFINE V_LEVEL	16
                                           #DEFINE V_MAX	17
                                           #DEFINE V_MIN	18
                                           #DEFINE V_RESET	19
                                           #DEFINE V_DEW_POINT	20
                                           #DEFINE V_MODE	21
                                           #DEFINE V_ANGLE	22
                                           #DEFINE V_RATE	23
                                           #DEFINE V_VOLTS	24
                                           #DEFINE V_AMPS	25
                                           #DEFINE V_PRESENTATION	26
                                           #DEFINE V_BATTERY_LEVEL	27
                                           #DEFINE V_RESET	28
                                           #DEFINE V_TIME	29
                                           #DEFINE V_ID	30
                                           #DEFINE V_LOG_MESSAGE	31
                                           #DEFINE V_SKETCH_NAME	32
                                           #DEFINE V_SKETCH_VERSION	33
                                           #DEFINE V_FIND_PARENT	34
                                           #DEFINE V_CHILDREN	35
                                           #DEFINE V_VERSION	36
                                           #DEFINE V_INCLUSION_MODE	37
                                           #DEFINE V_GATEWAY_READY	38
                                           #DEFINE V_STATUS	39
                                           #DEFINE V_IR_SEND	40
                                           #DEFINE V_IR_RECEIVE	41
                                          
                                          epierreE Offline
                                          epierreE Offline
                                          epierre
                                          Hero Member
                                          wrote on last edited by epierre
                                          #93

                                          For my sound sketch :

                                          S_SOUND - Sound sensor

                                          V_LEVEL - sound level in db
                                          V_LEVEL_MAX - Max sound level
                                          V_LEVEL_MIN - Min sound level
                                          V_LEVEL_AVERAGE - Average sound level
                                          V_LEVEL_RESET - Reset max/min value

                                          z-wave - Vera -&gt; Domoticz
                                          rfx - Domoticz &lt;- MyDomoAtHome &lt;- Imperihome
                                          mysensors -&gt; mysensors-gw -&gt; Domoticz

                                          epierreE hekH 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          14

                                          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