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. Home Assistant
  4. Any plan to implement Ethernet GW?

Any plan to implement Ethernet GW?

Scheduled Pinned Locked Moved Home Assistant
69 Posts 5 Posters 18.3k Views 6 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.
  • martinhjelmareM Offline
    martinhjelmareM Offline
    martinhjelmare
    Plugin Developer
    wrote on last edited by martinhjelmare
    #17

    I've updated the branch at my fork of pymysensors. If you have installed the ethernet branch of my fork of home-assistant, you should uninstall/reinstall that, or just make a new virtual environment and install again. You should remove the lib directory in your home assistant config directory as well.

    Eg:

    rm -r ~/.homeassistant/lib
    mkvirtualenv -p /usr/bin/python3 hasstest2
    cd ~/dev/home-assistant
    git branch -D mysensors-tcp-gateway
    git fetch origin mysensors-tcp-gateway
    git checkout mysensors-tcp-gateway
    pip3 install -e .
    pip3 install colorlog
    pip3 install python-Levenshtein
    
    martinhjelmareM 1 Reply Last reply
    0
    • D Offline
      D Offline
      drock1985
      wrote on last edited by
      #18

      @martinhjelmare

      Hi,

      This is the error I am getting when starting up HASS.

      (hasstest) pi@pitest:~/dev/home-assistant $ hass
      Config directory: /home/pi/.homeassistant
      16-03-05 20:07:56 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=turn_off, domain=homeassistant>
      16-03-05 20:07:57 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=turn_on, domain=homeassistant>
      16-03-05 20:07:57 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=toggle, domain=homeassistant>
      16-03-05 20:07:57 INFO (MainThread) [homeassistant.bootstrap] Home Assistant core initialized
      16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded history from homeassistant.components.history
      16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded recorder from homeassistant.components.recorder
      16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded http from homeassistant.components.http
      16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded introduction from homeassistant.components.introduction
      16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded updater from homeassistant.components.updater
      16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded conversation from homeassistant.components.conversation
      16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded mysensors from homeassistant.components.mysensors
      16-03-05 20:07:59 INFO (MainThread) [homeassistant.loader] Loaded logbook from homeassistant.components.logbook
      16-03-05 20:07:59 INFO (MainThread) [homeassistant.loader] Loaded sun from homeassistant.components.sun
      16-03-05 20:07:59 INFO (MainThread) [homeassistant.loader] Loaded discovery from homeassistant.components.discovery
      16-03-05 20:07:59 INFO (MainThread) [homeassistant.loader] Loaded frontend from homeassistant.components.frontend
      16-03-05 20:07:59 INFO (MainThread) [homeassistant.loader] Loaded api from homeassistant.components.api
      16-03-05 20:07:59 INFO (MainThread) [homeassistant.components.introduction]
      
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
              Hello, and welcome to Home Assistant!
      
              We'll hope that we can make all your dreams come true.
      
              Here are some resources to get started:
      
               - Configuring Home Assistant:
                 https://home-assistant.io/getting-started/configuration/
      
               - Available components:
                 https://home-assistant.io/components/
      
               - Troubleshooting your configuration:
                 https://home-assistant.io/getting-started/troubleshooting-configuration/
      
               - Getting help:
                 https://home-assistant.io/help/
      
              This message is generated by the introduction component. You can
              disable it in configuration.yaml.
      
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      16-03-05 20:07:59 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=introduction>
      16-03-05 20:07:59 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=recorder>
      16-03-05 20:07:59 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=http>
      16-03-05 20:07:59 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=history>
      16-03-05 20:07:59 INFO (MainThread) [requests.packages.urllib3.connectionpool] Starting new HTTPS connection (1): pypi.python.org
      16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: old_state=None, new_state=<state updater.updater=0.14.2; friendly_name=Update Available @ 20:08:00 05-03-2016>, entity_id=updater.updater>
      16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=updater>
      16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=process, domain=conversation>
      16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=conversation>
      16-03-05 20:08:00 ERROR (MainThread) [homeassistant.components.mysensors] Missing required configuration items in mysensors: port
      16-03-05 20:08:00 ERROR (MainThread) [homeassistant.bootstrap] component mysensors failed to initialize
      16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=log, domain=logbook>
      16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=logbook>
      16-03-05 20:08:00 INFO (MainThread) [requests.packages.urllib3.connectionpool] Starting new HTTP connection (1): maps.googleapis.com
      16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: old_state=None, new_state=<state sun.sun=below_horizon; next_setting=22:12:29 06-03-2016, elevation=-21.55, next_rising=10:44:01 06-03-2016, friendly_name=Sun @ 20:08:01 05-03-2016>, entity_id=sun.sun>
      16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=sun>
      16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=discovery>
      16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=api>
      16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=frontend>
      16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Starting Home Assistant (13 threads)
      16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event homeassistant_start[L]>
      16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=stop, domain=homeassistant>
      16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=restart, domain=homeassistant>
      16-03-05 20:08:01 INFO (Thread-17) [homeassistant.components.http] Starting web interface at http://0.0.0.0:8123
      16-03-05 20:08:01 INFO (Thread-15) [homeassistant.core] Timer:starting
      16-03-05 20:08:01 INFO (Thread-18) [homeassistant.components.http] "GET /api/stream?api_password=no_password_set&restrict=state_changed,component_loaded,service_registered HTTP/1.1" 200 -
      16-03-05 20:08:01 INFO (Thread-19) [homeassistant.components.http] "GET /api/bootstrap HTTP/1.1" 200 -^C16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Stopping
      16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event homeassistant_stop[L]>
      16-03-05 20:08:02 INFO (Thread-16) [netdisco.service] Scanning
      ^CProcess Process-1:
      Traceback (most recent call last):
      Traceback (most recent call last):
        File "/home/pi/.virtualenvs/hasstest/bin/hass", line 9, in <module>
          load_entry_point('homeassistant', 'console_scripts', 'hass')()
        File "/home/pi/dev/home-assistant/homeassistant/__main__.py", line 330, in main
          keep_running, exit_code = run_hass_process(hass_proc)
        File "/usr/lib/python3.4/multiprocessing/process.py", line 254, in _bootstrap
          self.run()
        File "/usr/lib/python3.4/multiprocessing/process.py", line 93, in run
          self._target(*self._args, **self._kwargs)
        File "/home/pi/dev/home-assistant/homeassistant/__main__.py", line 248, in setup_and_run_hass
          exit_code = int(hass.block_till_stopped())
      TypeError: 'bool' object is not iterable
        File "/home/pi/dev/home-assistant/homeassistant/core.py", line 100, in block_till_stopped
          self.stop()
        File "/home/pi/dev/home-assistant/homeassistant/core.py", line 107, in stop
          self.pool.stop()
        File "/home/pi/dev/home-assistant/homeassistant/util/__init__.py", line 364, in stop
          self.block_till_done()
        File "/home/pi/dev/home-assistant/homeassistant/util/__init__.py", line 358, in block_till_done
          self._work_queue.join()
        File "/usr/lib/python3.4/queue.py", line 86, in join
          self.all_tasks_done.wait()
        File "/usr/lib/python3.4/threading.py", line 290, in wait
          waiter.acquire()
      KeyboardInterrupt
      
       mysensors:
         gateways:
           - device: '192.168.1.10'
             persistence_file: '~/.homeassistant/mysensors3.json'
             tcp_port: 5003
         debug: true
         persistence: true
         version: '1.5'
      

      My Projects
      2 Door Chime Sensor
      Washing Machine Monitor

      martinhjelmareM 1 Reply Last reply
      0
      • D drock1985

        @martinhjelmare

        Hi,

        This is the error I am getting when starting up HASS.

        (hasstest) pi@pitest:~/dev/home-assistant $ hass
        Config directory: /home/pi/.homeassistant
        16-03-05 20:07:56 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=turn_off, domain=homeassistant>
        16-03-05 20:07:57 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=turn_on, domain=homeassistant>
        16-03-05 20:07:57 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=toggle, domain=homeassistant>
        16-03-05 20:07:57 INFO (MainThread) [homeassistant.bootstrap] Home Assistant core initialized
        16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded history from homeassistant.components.history
        16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded recorder from homeassistant.components.recorder
        16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded http from homeassistant.components.http
        16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded introduction from homeassistant.components.introduction
        16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded updater from homeassistant.components.updater
        16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded conversation from homeassistant.components.conversation
        16-03-05 20:07:57 INFO (MainThread) [homeassistant.loader] Loaded mysensors from homeassistant.components.mysensors
        16-03-05 20:07:59 INFO (MainThread) [homeassistant.loader] Loaded logbook from homeassistant.components.logbook
        16-03-05 20:07:59 INFO (MainThread) [homeassistant.loader] Loaded sun from homeassistant.components.sun
        16-03-05 20:07:59 INFO (MainThread) [homeassistant.loader] Loaded discovery from homeassistant.components.discovery
        16-03-05 20:07:59 INFO (MainThread) [homeassistant.loader] Loaded frontend from homeassistant.components.frontend
        16-03-05 20:07:59 INFO (MainThread) [homeassistant.loader] Loaded api from homeassistant.components.api
        16-03-05 20:07:59 INFO (MainThread) [homeassistant.components.introduction]
        
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
                Hello, and welcome to Home Assistant!
        
                We'll hope that we can make all your dreams come true.
        
                Here are some resources to get started:
        
                 - Configuring Home Assistant:
                   https://home-assistant.io/getting-started/configuration/
        
                 - Available components:
                   https://home-assistant.io/components/
        
                 - Troubleshooting your configuration:
                   https://home-assistant.io/getting-started/troubleshooting-configuration/
        
                 - Getting help:
                   https://home-assistant.io/help/
        
                This message is generated by the introduction component. You can
                disable it in configuration.yaml.
        
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        16-03-05 20:07:59 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=introduction>
        16-03-05 20:07:59 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=recorder>
        16-03-05 20:07:59 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=http>
        16-03-05 20:07:59 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=history>
        16-03-05 20:07:59 INFO (MainThread) [requests.packages.urllib3.connectionpool] Starting new HTTPS connection (1): pypi.python.org
        16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: old_state=None, new_state=<state updater.updater=0.14.2; friendly_name=Update Available @ 20:08:00 05-03-2016>, entity_id=updater.updater>
        16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=updater>
        16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=process, domain=conversation>
        16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=conversation>
        16-03-05 20:08:00 ERROR (MainThread) [homeassistant.components.mysensors] Missing required configuration items in mysensors: port
        16-03-05 20:08:00 ERROR (MainThread) [homeassistant.bootstrap] component mysensors failed to initialize
        16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=log, domain=logbook>
        16-03-05 20:08:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=logbook>
        16-03-05 20:08:00 INFO (MainThread) [requests.packages.urllib3.connectionpool] Starting new HTTP connection (1): maps.googleapis.com
        16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: old_state=None, new_state=<state sun.sun=below_horizon; next_setting=22:12:29 06-03-2016, elevation=-21.55, next_rising=10:44:01 06-03-2016, friendly_name=Sun @ 20:08:01 05-03-2016>, entity_id=sun.sun>
        16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=sun>
        16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=discovery>
        16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=api>
        16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=frontend>
        16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Starting Home Assistant (13 threads)
        16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event homeassistant_start[L]>
        16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=stop, domain=homeassistant>
        16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=restart, domain=homeassistant>
        16-03-05 20:08:01 INFO (Thread-17) [homeassistant.components.http] Starting web interface at http://0.0.0.0:8123
        16-03-05 20:08:01 INFO (Thread-15) [homeassistant.core] Timer:starting
        16-03-05 20:08:01 INFO (Thread-18) [homeassistant.components.http] "GET /api/stream?api_password=no_password_set&restrict=state_changed,component_loaded,service_registered HTTP/1.1" 200 -
        16-03-05 20:08:01 INFO (Thread-19) [homeassistant.components.http] "GET /api/bootstrap HTTP/1.1" 200 -^C16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Stopping
        16-03-05 20:08:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event homeassistant_stop[L]>
        16-03-05 20:08:02 INFO (Thread-16) [netdisco.service] Scanning
        ^CProcess Process-1:
        Traceback (most recent call last):
        Traceback (most recent call last):
          File "/home/pi/.virtualenvs/hasstest/bin/hass", line 9, in <module>
            load_entry_point('homeassistant', 'console_scripts', 'hass')()
          File "/home/pi/dev/home-assistant/homeassistant/__main__.py", line 330, in main
            keep_running, exit_code = run_hass_process(hass_proc)
          File "/usr/lib/python3.4/multiprocessing/process.py", line 254, in _bootstrap
            self.run()
          File "/usr/lib/python3.4/multiprocessing/process.py", line 93, in run
            self._target(*self._args, **self._kwargs)
          File "/home/pi/dev/home-assistant/homeassistant/__main__.py", line 248, in setup_and_run_hass
            exit_code = int(hass.block_till_stopped())
        TypeError: 'bool' object is not iterable
          File "/home/pi/dev/home-assistant/homeassistant/core.py", line 100, in block_till_stopped
            self.stop()
          File "/home/pi/dev/home-assistant/homeassistant/core.py", line 107, in stop
            self.pool.stop()
          File "/home/pi/dev/home-assistant/homeassistant/util/__init__.py", line 364, in stop
            self.block_till_done()
          File "/home/pi/dev/home-assistant/homeassistant/util/__init__.py", line 358, in block_till_done
            self._work_queue.join()
          File "/usr/lib/python3.4/queue.py", line 86, in join
            self.all_tasks_done.wait()
          File "/usr/lib/python3.4/threading.py", line 290, in wait
            waiter.acquire()
        KeyboardInterrupt
        
         mysensors:
           gateways:
             - device: '192.168.1.10'
               persistence_file: '~/.homeassistant/mysensors3.json'
               tcp_port: 5003
           debug: true
           persistence: true
           version: '1.5'
        
        martinhjelmareM Offline
        martinhjelmareM Offline
        martinhjelmare
        Plugin Developer
        wrote on last edited by
        #19

        @drock1985

        Did you checkout correct branch?

        git fetch origin mysensors-tcp-gateway
        git checkout mysensors-tcp-gateway
        

        You should remove the lib directory in ~/.homeassistant/ before you start hass again after the git checkout also.

        rm -r ~/.homeassistant/lib
        
        1 Reply Last reply
        0
        • D Offline
          D Offline
          drock1985
          wrote on last edited by
          #20

          Ugh, forgot to run the checkout command. palm smacks head

          Booting now, will report back in a minute if it is working or not.

          My Projects
          2 Door Chime Sensor
          Washing Machine Monitor

          martinhjelmareM 1 Reply Last reply
          0
          • D drock1985

            Ugh, forgot to run the checkout command. palm smacks head

            Booting now, will report back in a minute if it is working or not.

            martinhjelmareM Offline
            martinhjelmareM Offline
            martinhjelmare
            Plugin Developer
            wrote on last edited by
            #21

            @drock1985

            Don't forget to use the correct ip address of your gateway in your network.

            1 Reply Last reply
            0
            • D Offline
              D Offline
              drock1985
              wrote on last edited by drock1985
              #22

              @martinhjelmare

              It works! Found my motion sensor with ease. Will start adding lights now shortly

              Thanks again, loving this.

              EDIT: Quick question: To autostart this, would I just use the normal Home-Assistant instructions in the virtualenv, or is there another method to do it?

              My Projects
              2 Door Chime Sensor
              Washing Machine Monitor

              martinhjelmareM 1 Reply Last reply
              0
              • D drock1985

                @martinhjelmare

                It works! Found my motion sensor with ease. Will start adding lights now shortly

                Thanks again, loving this.

                EDIT: Quick question: To autostart this, would I just use the normal Home-Assistant instructions in the virtualenv, or is there another method to do it?

                martinhjelmareM Offline
                martinhjelmareM Offline
                martinhjelmare
                Plugin Developer
                wrote on last edited by martinhjelmare
                #23

                @drock1985

                :thumbsup:

                When you have time, can you run git log and tell me the top commit message, so I know which version you are using.

                Regarding autostart, no I don't think you can use the normal instructions together with the virtualenv. You could write a script, that changes to the virtualenv and starts hass, and run that script at login or similar.

                If you don't have another production install of home assistant on the computer, you can skip the virtualenv alltogether and just do:

                pip3 install --user "https://github.com/MartinHjelmare/home-assistant/archive/mysensors-tcp-gateway.zip"
                

                or if you want to install as root:

                sudo pip3 install "https://github.com/MartinHjelmare/home-assistant/archive/mysensors-tcp-gateway.zip"
                

                This way you should be able to autostart the usual way, per instructions on the web.

                But then if you want to test an update from me, you have to make sure you uninstall everything correctly and manually remove ~/.homeassistant/lib before you install again.

                Dave DanD 1 Reply Last reply
                0
                • D Offline
                  D Offline
                  drock1985
                  wrote on last edited by
                  #24

                  @martinhjelmare

                  Here is the info you requested:

                  commit d07f8097a6186611371b8bc918fcb0d436bb39ba
                  Author: MartinHjelmare <marhje52@kth.se>
                  Date:   Sat Feb 27 04:55:38 2016 +0100
                  
                      Add mysensors tcp ethernet gateway
                  
                      * Replace CONF_PORT with CONF_DEVICE and ATTR_PORT with ATTR_DEVICE.
                      * Add tcp_port in config.
                      * Use fork pymysensors repo, temporarily.
                      * Try to guess if tcp or serial gateway is configured, by validating
                          device name as an ip address. If successful setup tcp gateway, if it
                          fails, setup serial gateway.
                      * Update device_state_attributes to show correct device, ethernet or
                          serial.
                  
                  commit 278fdc0983a8528945e13cf912da82f3bc5fe14c
                  Merge: 6dc49df 8ffa368
                  Author: Daniel Høyer Iversen <daniel.h.iversen@ntnu.no>
                  Date:   Fri Feb 26 10:49:10 2016 +0100
                  
                      Merge pull request #1385 from balloob/rfxtrx
                  
                      improve rfxtrx sensor
                  :
                  

                  My Projects
                  2 Door Chime Sensor
                  Washing Machine Monitor

                  martinhjelmareM 1 Reply Last reply
                  0
                  • D drock1985

                    @martinhjelmare

                    Here is the info you requested:

                    commit d07f8097a6186611371b8bc918fcb0d436bb39ba
                    Author: MartinHjelmare <marhje52@kth.se>
                    Date:   Sat Feb 27 04:55:38 2016 +0100
                    
                        Add mysensors tcp ethernet gateway
                    
                        * Replace CONF_PORT with CONF_DEVICE and ATTR_PORT with ATTR_DEVICE.
                        * Add tcp_port in config.
                        * Use fork pymysensors repo, temporarily.
                        * Try to guess if tcp or serial gateway is configured, by validating
                            device name as an ip address. If successful setup tcp gateway, if it
                            fails, setup serial gateway.
                        * Update device_state_attributes to show correct device, ethernet or
                            serial.
                    
                    commit 278fdc0983a8528945e13cf912da82f3bc5fe14c
                    Merge: 6dc49df 8ffa368
                    Author: Daniel Høyer Iversen <daniel.h.iversen@ntnu.no>
                    Date:   Fri Feb 26 10:49:10 2016 +0100
                    
                        Merge pull request #1385 from balloob/rfxtrx
                    
                        improve rfxtrx sensor
                    :
                    
                    martinhjelmareM Offline
                    martinhjelmareM Offline
                    martinhjelmare
                    Plugin Developer
                    wrote on last edited by martinhjelmare
                    #25

                    @drock1985

                    Sorry, I forgot I've only updated the pymysensors project, so you checking the home-assistant git log is no use. Well, I think your're running the lastest version anyway, since you got it working just now. Everything should be ok.

                    Let me know if you experience any problems.

                    If everything seems ok for you after some time of testing, I don't see why we can't release this very soon. My limited testing after the lastest update, show no problems.

                    1 Reply Last reply
                    0
                    • Dave DanD Offline
                      Dave DanD Offline
                      Dave Dan
                      wrote on last edited by
                      #26

                      Hey @martinhjelmare,

                      I finally got this working.

                      I'm doing tests with a couple of multi-sensors (Temp, Hum, Light & motion). The discovery worked very well, no issue at all after following all the above steps.

                      What I'm not seeing wotking are the updates. I always see the same values. I'm checking messages with MYSController and I see the GW is receiving the events and updates but I can't see new values showing in the portal.

                      Still testing ...

                      martinhjelmareM 1 Reply Last reply
                      0
                      • Dave DanD Dave Dan

                        Hey @martinhjelmare,

                        I finally got this working.

                        I'm doing tests with a couple of multi-sensors (Temp, Hum, Light & motion). The discovery worked very well, no issue at all after following all the above steps.

                        What I'm not seeing wotking are the updates. I always see the same values. I'm checking messages with MYSController and I see the GW is receiving the events and updates but I can't see new values showing in the portal.

                        Still testing ...

                        martinhjelmareM Offline
                        martinhjelmareM Offline
                        martinhjelmare
                        Plugin Developer
                        wrote on last edited by
                        #27

                        @Dave-Dan

                        Do you mean that the sensors are not showing the latest values in the gui?

                        If the last value from a sensor is the same as the previous value, a state change won't happen. So the value will be reported as being as old as the previous value. Could this explain what you see?

                        1 Reply Last reply
                        0
                        • Dave DanD Offline
                          Dave DanD Offline
                          Dave Dan
                          wrote on last edited by
                          #28

                          actually, I just got it working ...

                          yes, I was referrring to that. The way I have built the sensor is that everytime a movement is detected is sending all sensors statuses to the GW. This sensors are designed to be plugged (no battery powered) so no concern on power consumption.

                          I restarted the server and now updates are working.

                          What I'm seeing in the log is constantly this message:
                          16-03-14 10:39:53 INFO (Thread-9) [mysensors.mysensors] Permission denied when writing to /home/pi/dev/home-assistant/path/mysensors3.json

                          If I'm not wrong this is the persistence.

                          Apart of this I now see updates coming in ...

                          1 Reply Last reply
                          0
                          • martinhjelmareM Offline
                            martinhjelmareM Offline
                            martinhjelmare
                            Plugin Developer
                            wrote on last edited by
                            #29

                            Good!

                            The path to the persistence file must exist, not the file itself, but the directory tree above, and hass should have write permission to it.

                            I usually put the file in the same directory as configuration.yml.

                            1 Reply Last reply
                            0
                            • Dave DanD Offline
                              Dave DanD Offline
                              Dave Dan
                              wrote on last edited by
                              #30

                              Ok, couple of things that I'm seeing now.

                              1. Everytime I restart the server the MySensor nodes are no longer in the system. I have to restart them to get them in again. All of them are in the persistence file.

                              2. Now i can only have 1 node added.
                                While in the persistence file I see multiple nodes, once I add one of them I can't add anymore. No error if fired (at least not that I've seen).

                              martinhjelmareM 1 Reply Last reply
                              0
                              • Dave DanD Dave Dan

                                Ok, couple of things that I'm seeing now.

                                1. Everytime I restart the server the MySensor nodes are no longer in the system. I have to restart them to get them in again. All of them are in the persistence file.

                                2. Now i can only have 1 node added.
                                  While in the persistence file I see multiple nodes, once I add one of them I can't add anymore. No error if fired (at least not that I've seen).

                                martinhjelmareM Offline
                                martinhjelmareM Offline
                                martinhjelmare
                                Plugin Developer
                                wrote on last edited by
                                #31

                                @Dave-Dan

                                Can you attach the persistence file here and post your config, and I'll take a look?

                                1 Reply Last reply
                                0
                                • Dave DanD Offline
                                  Dave DanD Offline
                                  Dave Dan
                                  wrote on last edited by Dave Dan
                                  #32

                                  Sure!

                                  Consistence file:

                                  {"156": {"sketch_version": null, "children": {}, "battery_level": 0, "sketch_name": null, "type": 17, "sensor_id": 156}, "102": {"sketch_version": null, "children": {}, "battery_level": 0, "sketch_name": null, "type": 17, "sensor_id": 102}}
                                  

                                  the Configuration is very light. Actually is the by default config and i just added this to test MySensors:

                                  mysensors:
                                    gateways:
                                      - device: 192.168.1.X
                                        persistence_file: '/home/pi/.homeassistant/MSPersistence.json'
                                        tcp_port: 5003
                                    debug: true
                                    persistence: true
                                    version: '1.5'
                                  

                                  let me know if you need anything else.

                                  1 Reply Last reply
                                  0
                                  • martinhjelmareM Offline
                                    martinhjelmareM Offline
                                    martinhjelmare
                                    Plugin Developer
                                    wrote on last edited by
                                    #33

                                    In the persistence file I can see two issues.

                                    Sketch name is null for both nodes.
                                    Both nodes don't have any children.

                                    Are you using a non default example sketch, if so can you post it?

                                    1 Reply Last reply
                                    0
                                    • Dave DanD Offline
                                      Dave DanD Offline
                                      Dave Dan
                                      wrote on last edited by
                                      #34

                                      hey Martin,

                                      that's correct, those are the 2 items I saw that was little curious about.

                                      The sketch I'm using, while custom, is a mix of different sketches that can be found in the MySensors page.

                                      As you'll see below, each node (which are identical) have all the information (Sketch name, version, etc). And all of them have 4 childs:
                                      - Ambient Humidity
                                      - Ambient Temperature
                                      - Ambient Light
                                      - Movement (Motion Sensor Trip).

                                      But I might have something wrong so ... happy to learn! :)

                                      #include <SPI.h>
                                      #include <MySensor.h>  
                                      #include <DHT.h>  
                                      
                                      #define NODE_ID 102
                                      
                                      #define SKETCH_NAME "dyaSensor (HTLM) v1.2"
                                      #define SKETCH_VERSION "1.2"
                                      
                                      #define CHILD_ID_HUM 0
                                      #define CHILD_ID_TEMP 1
                                      #define CHILD_ID_LIGHT 2
                                      #define CHILD_ID_MOV 3
                                      
                                      #define HUMIDITY_SENSOR_DIGITAL_PIN 4
                                      #define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
                                      #define INTERRUPT DIGITAL_INPUT_SENSOR-2 // Usually the interrupt = pin -2 (on uno/nano anyway)
                                      #define LIGHT_SENSOR_ANALOG_PIN 0
                                      
                                      #defin TEMP_CORRECTION 2
                                      
                                      unsigned long SLEEP_TIME = 1000; // Sleep time between reads (in milliseconds)
                                      
                                      MySensor gw;
                                      DHT dht;
                                      float lastTemp;
                                      float lastHum;
                                      int lastLightLevel;
                                      boolean metric = true; 
                                      
                                      //Building Messages
                                      MyMessage msgHum(CHILD_ID_HUM, V_HUM);            // Initialize humidity message
                                      MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);         // Initialize temperature message
                                      MyMessage msgLum(CHILD_ID_LIGHT, V_LIGHT_LEVEL);  // Initialize Light message
                                      MyMessage msgMov(CHILD_ID_MOV, V_TRIPPED);        // Initialize motion message
                                      
                                      void setup()  
                                      { 
                                      
                                        gw.begin(NULL, NODE_ID, false);
                                        dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN); 
                                      
                                        // Send the Sketch Version Information to the Gateway
                                        gw.sendSketchInfo(SKETCH_NAME, SKETCH_VERSION);
                                      
                                        pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
                                      
                                        // Register all sensors to gw (they will be created as child devices)
                                        Serial.println("Presenting Humidity Sensor");
                                        gw.present(CHILD_ID_HUM, S_HUM, "Humidity Sensor");
                                        
                                        Serial.println("Presenting Temperature Sensor");
                                        gw.present(CHILD_ID_TEMP, S_TEMP, "Temperature Sensor");
                                        
                                        Serial.println("Light Level Sensor");
                                        gw.present(CHILD_ID_LIGHT, S_LIGHT_LEVEL, "Light Level Sensor");
                                        
                                        Serial.println("Presenting Motion Sensor");
                                        gw.present(CHILD_ID_MOV, S_MOTION, "Motion Sensor");
                                        
                                        metric = gw.getConfig().isMetric;
                                      }
                                      
                                      void loop()      
                                      {  
                                      
                                        // By calling process() you route messages in the background
                                        gw.process();
                                        
                                        delay(dht.getMinimumSamplingPeriod());
                                      
                                        float temperature = dht.getTemperature()-TEMP_CORRECTION;
                                        if (isnan(temperature)) {
                                            Serial.println("Failed reading temperature from DHT");
                                        } else if (temperature != lastTemp) {
                                          lastTemp = temperature;
                                          if (!metric) {
                                            temperature = dht.toFahrenheit(temperature);
                                          }
                                          gw.send(msgTemp.set(temperature, 1));
                                          Serial.print("- T: ");
                                          Serial.println(temperature);
                                        }
                                        
                                        float humidity = dht.getHumidity();
                                        if (isnan(humidity)) {
                                            Serial.println("Failed reading humidity from DHT");
                                        } else if (humidity != lastHum) {
                                            lastHum = humidity;
                                            gw.send(msgHum.set(humidity, 1));
                                            Serial.print("- H: ");
                                            Serial.println(humidity);
                                        }
                                      
                                        int lightLevel = (1023-analogRead(LIGHT_SENSOR_ANALOG_PIN))/10.23; 
                                        if (lightLevel != lastLightLevel) {
                                          lastLightLevel = lightLevel;
                                          gw.send(msgLum.set(lightLevel));
                                          Serial.print("- L: ");
                                          Serial.println(lightLevel);    
                                        }
                                      
                                        // Read digital motion value
                                        boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; 
                                        gw.send(msgMov.set(tripped?"1":"0"));  // Send tripped value to gw 
                                        Serial.println(tripped?"- Movement Detected":"- No Movement Detected");
                                      
                                        gw.sleep(INTERRUPT,CHANGE, SLEEP_TIME);
                                      }
                                      
                                      
                                      1 Reply Last reply
                                      0
                                      • martinhjelmareM martinhjelmare

                                        @drock1985

                                        :thumbsup:

                                        When you have time, can you run git log and tell me the top commit message, so I know which version you are using.

                                        Regarding autostart, no I don't think you can use the normal instructions together with the virtualenv. You could write a script, that changes to the virtualenv and starts hass, and run that script at login or similar.

                                        If you don't have another production install of home assistant on the computer, you can skip the virtualenv alltogether and just do:

                                        pip3 install --user "https://github.com/MartinHjelmare/home-assistant/archive/mysensors-tcp-gateway.zip"
                                        

                                        or if you want to install as root:

                                        sudo pip3 install "https://github.com/MartinHjelmare/home-assistant/archive/mysensors-tcp-gateway.zip"
                                        

                                        This way you should be able to autostart the usual way, per instructions on the web.

                                        But then if you want to test an update from me, you have to make sure you uninstall everything correctly and manually remove ~/.homeassistant/lib before you install again.

                                        Dave DanD Offline
                                        Dave DanD Offline
                                        Dave Dan
                                        wrote on last edited by Dave Dan
                                        #35

                                        Hey @martinhjelmare

                                        Does the above reply to @drock1985 means that I can do a basic installation as per https://home-assistant.io/

                                        pip3 install homeassistant
                                        hass --open-ui
                                        

                                        followed by

                                        sudo pip3 install "https://github.com/MartinHjelmare/home-assistant/archive/mysensors-tcp-gateway.zip"
                                        

                                        and will have a valid testing env without going into all the above steps of creating a virtualenv??

                                        If so I'd rather more this avenue because I can clean up everything with a new installation, install the zip and have a new testing env in minutes :)

                                        martinhjelmareM 2 Replies Last reply
                                        0
                                        • Dave DanD Dave Dan

                                          Hey @martinhjelmare

                                          Does the above reply to @drock1985 means that I can do a basic installation as per https://home-assistant.io/

                                          pip3 install homeassistant
                                          hass --open-ui
                                          

                                          followed by

                                          sudo pip3 install "https://github.com/MartinHjelmare/home-assistant/archive/mysensors-tcp-gateway.zip"
                                          

                                          and will have a valid testing env without going into all the above steps of creating a virtualenv??

                                          If so I'd rather more this avenue because I can clean up everything with a new installation, install the zip and have a new testing env in minutes :)

                                          martinhjelmareM Offline
                                          martinhjelmareM Offline
                                          martinhjelmare
                                          Plugin Developer
                                          wrote on last edited by
                                          #36

                                          @Dave-Dan

                                          I can't see any big issues with your sketch, just one small:

                                          I guess this is a typo:

                                          #defin TEMP_CORRECTION 2
                                          

                                          Since your sketch looks ok, I think something must have gone wrong with the communication between node and gateway. Have you been monitoring the comm, with a serial monitor, on the node side for example, to make sure all messages are sent ok?

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


                                          22

                                          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