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. My Project
  3. Sensor for Vallox DigitSE RS485 ventilation system with integration into FHEM.

Sensor for Vallox DigitSE RS485 ventilation system with integration into FHEM.

Scheduled Pinned Locked Moved My Project
rs485valloxfhem
36 Posts 12 Posters 22.8k Views 12 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.
  • SkjallS Skjall

    No, the Windows PC was only for testing and verifying that the RS485 Connection workes well.

    My preferred solution would be this stick at the Raspberry Pi which is running the FHEM. Therefor I'd need a module to read the stream and interpret it in the FHEM format. Problem: I've never written a module. It would be possible somehow.. in some month. ;)

    The alternate solution would be your mysensor system. Especially because its running and tested. Problem: The Hardware. I have no experience in arduino and absolutly no idea how to build such a board. Thats why I thought I could plug the stick to an arduino and make it magicly work. ;)

    EDIT: Ok. It is easier than I thought to write this module. I'm working on it and the main functions should be finished this week. I'll publish it, if it is ready for testing.

    HeinzH Offline
    HeinzH Offline
    Heinz
    Hero Member
    wrote on last edited by
    #22

    Ah ok I see. Probably you can get some help in the fhem forum. I also thought about doing this using a raspi... you could use the library to write a standalone exe which reads the serial stuff from usb and sets the values in fhem using the webinterface.

    1 Reply Last reply
    0
    • B Offline
      B Offline
      boehrian
      wrote on last edited by
      #23

      Hello, Thank you for this Tool. I have rebuild it but I get no Data in Fhem and the serial Monitor from Arduino. Can every one help me?
      0_1488198457149_upload-35f8091f-da2a-4c43-ab73-7574f41a77b4
      This is the output from serial Monitor.

      1 Reply Last reply
      0
      • HeinzH Offline
        HeinzH Offline
        Heinz
        Hero Member
        wrote on last edited by
        #24

        Hi,
        here is my output:

        Opening port
        Port open
        Starting repeater (RNNRA-, 2.0.0)
        TSM:INIT
        TSM:RADIO:OK
        TSP:ASSIGNID:OK (ID=100)
        TSM:FPAR
        TSP:MSG:SEND 100-100-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
        TSP:MSG:READ 1-1-100 s=255,c=3,t=8,pt=1,l=1,sg=0:1
        TSP:MSG:FPAR RES (ID=1, dist=1)
        TSP:MSG:PAR OK (ID=1, dist=2)
        TSP:MSG:READ 0-0-100 s=255,c=3,t=8,pt=1,l=1,sg=0:0
        TSP:MSG:FPAR RES (ID=0, dist=0)
        TSP:MSG:PAR OK (ID=0, dist=1)
        TSP:MSG:READ 104-104-100 s=255,c=3,t=8,pt=1,l=1,sg=0:1
        TSP:MSG:FPAR RES (ID=104, dist=1)
        TSP:MSG:READ 1-1-100 s=255,c=3,t=8,pt=1,l=1,sg=0:1
        TSP:MSG:FPAR RES (ID=1, dist=1)
        TSM:FPAR:OK
        TSM:ID
        TSM:CHKID:OK (ID=100)
        TSM:UPL
        TSP:PING:SEND (dest=0)
        TSP:MSG:SEND 100-100-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1
        TSP:MSG:READ 0-0-100 s=255,c=3,t=25,pt=1,l=1,sg=0:1
        TSP:MSG:PONG RECV (hops=1)
        TSP:CHKUPL:OK
        TSM:UPL:OK
        TSM:READY
        TSP:MSG:SEND 100-100-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100
        !TSP:MSG:SEND 100-100-0-0 s=255,c=0,t=18,pt=0,l=5,sg=0,ft=0,st=fail:2.0.0
        TSP:MSG:SEND 100-100-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=1,st=ok:0
        TSP:MSG:READ 0-0-100 s=255,c=3,t=6,pt=0,l=1,sg=0:M
        TSP:MSG:SEND 100-100-0-0 s=255,c=3,t=11,pt=0,l=15,sg=0,ft=0,st=ok:Vallox Digit SE
        TSP:MSG:SEND 100-100-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=ok:2.5
        TSP:MSG:SEND 100-100-0-0 s=0,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=1,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=2,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=3,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=4,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=5,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=6,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=7,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=8,c=0,t=3,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=9,c=0,t=3,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=10,c=0,t=3,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=11,c=0,t=3,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=12,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=13,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=14,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=15,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=24,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=25,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=26,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=27,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=28,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=29,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=30,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=31,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=32,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=33,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=34,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=35,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=36,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=37,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=38,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=39,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=40,c=0,t=4,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=41,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=42,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=43,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=44,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=45,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=46,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=47,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=48,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        TSP:MSG:SEND 100-100-0-0 s=49,c=0,t=23,pt=0,l=0,sg=0,ft=0,st=ok:
        Started cyclic update timer.
        Request registration...
        TSP:MSG:SEND 100-100-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2
        TSP:MSG:READ 0-0-100 s=255,c=3,t=27,pt=1,l=1,sg=0:1
        Node registration=1
        Init complete, id=100, parent=0, distance=1, registration=1
        Dropped 0
        Received telegram from 21->11 command=0 arg=A3
        Received telegram from 11->21 command=A3 arg=29
        Property 200 changed 41
        Power state 1
        TSP:MSG:SEND 100-100-0-0 s=8,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:1
        CO2 adjust state 0
        TSP:MSG:SEND 100-100-0-0 s=9,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:0
        Humidity adjust state 0
        TSP:MSG:SEND 100-100-0-0 s=10,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:0
        Heating state 1
        TSP:MSG:SEND 100-100-0-0 s=11,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=ok:1
        Filter guard indicator 0
        TSP:MSG:SEND 100-100-0-0 s=12,c=1,t=24,pt=2,l=2,sg=0,ft=0,st=ok:0
        Heating indicator 1
        TSP:MSG:SEND 100-100-0-0 s=13,c=1,t=24,pt=2,l=2,sg=0,ft=0,st=ok:1
        Fault indicator 0
        TSP:MSG:SEND 100-100-0-0 s=14,c=1,t=24,pt=2,l=2,sg=0,ft=0,st=ok:0
        Serivce reminder indicator 0
        TSP:MSG:SEND 100-100-0-0 s=15,c=1,t=24,pt=2,l=2,sg=0,ft=0,st=ok:0
        Received telegram from 21->11 command=0 arg=29
        Received telegram from 11->21 command=29 arg=1
        Received telegram from 21->11 command=0 arg=35
        Received telegram from 11->21 command=35 arg=9D
        Temp incomming 19
        TSP:MSG:SEND 100-100-0-0 s=4,c=1,t=0,pt=2,l=2,sg=0,ft=0,st=ok:19
        Received telegram from 21->11 command=0 arg=71
        Received telegram from 11->21 command=71 arg=0
        Received telegram from 21->11 command=0 arg=A3
        Received telegram from 11->21 command=A3 arg=29
        
        

        This is the output of the mysensors 2.0 version which can be downloaded from
        https://github.com/windkh/mysensors/tree/master/ValloxSensor

        I wonder why your node has id=0.

        1 Reply Last reply
        0
        • B Offline
          B Offline
          boehrian
          wrote on last edited by
          #25

          Hi, my output ist now:

          0 MCO:BGN:INIT REPEATER,CP=RNNRA--,VER=2.1.1
          3 TSM:INIT
          4 TSF:WUR:MS=0
          12 TSM:INIT:TSP OK
          13 TSF:SID:OK,ID=42
          15 TSM:FPAR
          52 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          2059 !TSM:FPAR:NO REPLY
          2061 TSM:FPAR
          2098 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          4105 !TSM:FPAR:NO REPLY
          4107 TSM:FPAR
          4143 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          6151 !TSM:FPAR:NO REPLY
          6153 TSM:FPAR
          6189 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          8197 !TSM:FPAR:FAIL
          8198 TSM:FAIL:CNT=1
          8200 TSM:FAIL:PDT
          18203 TSM:FAIL:RE-INIT
          18205 TSM:INIT
          18212 TSM:INIT:TSP OK
          18214 TSF:SID:OK,ID=42
          18216 TSM:FPAR
          18253 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          20261 !TSM:FPAR:NO REPLY
          20263 TSM:FPAR
          20300 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          22307 !TSM:FPAR:NO REPLY
          22309 TSM:FPAR
          22346 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          24353 !TSM:FPAR:NO REPLY
          24355 TSM:FPAR
          24392 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:

          I get no reply from the Vallox.
          Is your original Vallox controller online

          1 Reply Last reply
          0
          • HeinzH Offline
            HeinzH Offline
            Heinz
            Hero Member
            wrote on last edited by Heinz
            #26

            The "no reply" message is from the mysensors library, but I don't know what it means.
            The line "started cyclic update timer" indicates that the sensor initialized successfully, but it is missing in your output.

            My latest code is online at
            https://github.com/windkh/valloxserial/blob/master/examples/mysensors/ValloxSensor.ino

            1 Reply Last reply
            0
            • hekH Online
              hekH Online
              hek
              Admin
              wrote on last edited by
              #27

              Use the log parser to help you interpret the log.

              1 Reply Last reply
              1
              • HeinzH Heinz

                For those who want to have the FHEM files here they are:
                _MYSENSOR_Vallox.cfg
                simply place the file in FHEM's subfolder FHEM and include it your fhem.cfg:

                include ./FHEM/_MYSENSOR_Vallox.cfg
                

                And here are the plot files which have to be placed in the subfolder www\gplot
                SVG_FileLog_Vallox_6.gplot
                SVG_FileLog_Vallox_5.gplot
                SVG_FileLog_Vallox_4.gplot
                SVG_FileLog_Vallox_3.gplot
                SVG_FileLog_Vallox_2.gplot
                SVG_FileLog_Vallox_1.gplot

                You will likely have to adapt the room and group names, and of course the german names, sorry for that.

                ausbremenA Offline
                ausbremenA Offline
                ausbremen
                wrote on last edited by
                #28

                @heinz
                Hi Heinz, the SVG_FileLog_Vallox_#.gplot files are empty ...probably the link is dead...could you reup them? Or could you send them tio me?

                Thanks, Holger

                1 Reply Last reply
                0
                • HeinzH Heinz

                  For those who want to have the FHEM files here they are:
                  _MYSENSOR_Vallox.cfg
                  simply place the file in FHEM's subfolder FHEM and include it your fhem.cfg:

                  include ./FHEM/_MYSENSOR_Vallox.cfg
                  

                  And here are the plot files which have to be placed in the subfolder www\gplot
                  SVG_FileLog_Vallox_6.gplot
                  SVG_FileLog_Vallox_5.gplot
                  SVG_FileLog_Vallox_4.gplot
                  SVG_FileLog_Vallox_3.gplot
                  SVG_FileLog_Vallox_2.gplot
                  SVG_FileLog_Vallox_1.gplot

                  You will likely have to adapt the room and group names, and of course the german names, sorry for that.

                  ausbremenA Offline
                  ausbremenA Offline
                  ausbremen
                  wrote on last edited by
                  #29

                  @heinz
                  Sorry...everything is fine with the gplot files...it was my fault trying to look at them with the crimpson editor...instead of FHEM gplot

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    captaindork
                    wrote on last edited by
                    #30

                    Hello Heinz, all,
                    first of all thank you for sharing your work in this thread!
                    I have not to much skills around programming and arduino, but was however able to build this and integrate my Vallox 90 SE into ioBroker. Absolutely Great!
                    You mentioned the bypass damper above and I see you have visualized it in fhem. I found the Value to set the Threshold temp for this (31), however I wonder where you got the actual bypass position from. Which Value shows if its open or closed?
                    I do not want to control it, i just would like to log the Position Status to see when it happens.

                    Thanks a lot i feel blind :)

                    HeinzH 1 Reply Last reply
                    0
                    • C captaindork

                      Hello Heinz, all,
                      first of all thank you for sharing your work in this thread!
                      I have not to much skills around programming and arduino, but was however able to build this and integrate my Vallox 90 SE into ioBroker. Absolutely Great!
                      You mentioned the bypass damper above and I see you have visualized it in fhem. I found the Value to set the Threshold temp for this (31), however I wonder where you got the actual bypass position from. Which Value shows if its open or closed?
                      I do not want to control it, i just would like to log the Position Status to see when it happens.

                      Thanks a lot i feel blind :)

                      HeinzH Offline
                      HeinzH Offline
                      Heinz
                      Hero Member
                      wrote on last edited by
                      #31

                      Hi @captaindork
                      sorry for delay,.... the position of the damper (which is the bypass) is indicated through a single bit of the multi purpose IO-Port 2. The library defines that as property 38 DamperMotorPositionProperty.
                      In the mysensors example it is published as
                      const uint8_t DAMPER_MOTOR_POSITION = 42;
                      The value is either 1 or 0.

                      I mapped it in FHEM as follows

                      attr MYSENSOR_Vallox mapReading_DamperMotorPosition 42 value1
                      
                      define MYSENSOR_Vallox_DamperMotorPosition dummy
                      attr MYSENSOR_Vallox_DamperMotorPosition alias WRG-Bypass
                      attr MYSENSOR_Vallox_DamperMotorPosition devStateIcon 1:rc_GREEN 0:rc_BLANK
                      attr MYSENSOR_Vallox_DamperMotorPosition event-on-update-reading state
                      attr MYSENSOR_Vallox_DamperMotorPosition group Status
                      attr MYSENSOR_Vallox_DamperMotorPosition icon vent_bypass
                      attr MYSENSOR_Vallox_DamperMotorPosition room Lüftung
                      attr MYSENSOR_Vallox_DamperMotorPosition sortby 3
                      define MYSENSOR_Vallox_DamperMotorPosition_Notify notify MYSENSOR_Vallox:DamperMotorPosition:.* { my $d = sprintf ("%.0f", ReadingsVal("MYSENSOR_Vallox","DamperMotorPosition", 0));; fhem("set MYSENSOR_Vallox_DamperMotorPosition $d");;}
                      define MYSENSOR_Vallox_DamperMotorPosition_Notify2 at +*00:01:00 { my $d = sprintf "%.0f", ReadingsVal("MYSENSOR_Vallox","DamperMotorPosition", 0);; fhem("set MYSENSOR_Vallox_DamperMotorPosition $d");;}
                      
                      
                      1 Reply Last reply
                      0
                      • R Offline
                        R Offline
                        RHead
                        wrote on last edited by
                        #32

                        Hi.

                        Can you make exact parts list for this setup.

                        1 Reply Last reply
                        0
                        • HeinzH Offline
                          HeinzH Offline
                          Heinz
                          Hero Member
                          wrote on last edited by
                          #33

                          Ok ... after my holidays.

                          1 Reply Last reply
                          0
                          • HeinzH Offline
                            HeinzH Offline
                            Heinz
                            Hero Member
                            wrote on last edited by
                            #34

                            Well basically the part list is very simple

                            1x Arduino Mega 2560
                            1x NRF24L01+
                            1x Pushbutton
                            2x MAX485 Module TTL Switch Module (one for sender, one for receiver)
                            (e.g. https://protosupplies.com/product/max485-ttl-to-rs-485-interface-module/)

                            The 1x Resistor 120Ohms is only neccessary if not already mounted on the MAX485 Module. It depends on what module
                            you bought. So have a look at the layout and check if there is a 120Ohms resistor mounted between pins A and B.
                            The module (https://protosupplies.com/product/max485-ttl-to-rs-485-interface-module/) already contains that resistor.

                            Optionally you can add a capacitor between + and - to stabilize the voltage level if your power supply is a weak one.
                            Anyone will do like 10uF, 100uF...

                            1 Reply Last reply
                            0
                            • HeinzH Offline
                              HeinzH Offline
                              Heinz
                              Hero Member
                              wrote on last edited by
                              #35

                              Note that you can make use of any MAX485 module that is suitable for the arduino (5V). Basically they are all the same except for a few minor tweaks like LEDs or other non relevant stuff.

                              1 Reply Last reply
                              0
                              • MasMatM Offline
                                MasMatM Offline
                                MasMat
                                wrote on last edited by
                                #36

                                I found this old thread and since I have a Vallox machine it's interesting. RS485 is new to me but MySensors isn't.

                                Can I have a node like this described by Heinz parallel with the "mickey mouse"-display? Using the display's connector? Or is it one or the other?

                                I'd feel better having both (manual display&buttons and connection to MySensors=>Domoticz, in my case).

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


                                15

                                Online

                                11.7k

                                Users

                                11.2k

                                Topics

                                113.1k

                                Posts


                                Copyright 2025 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