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. 💬 Building a Raspberry Pi Gateway

💬 Building a Raspberry Pi Gateway

Scheduled Pinned Locked Moved Announcements
1.1k Posts 173 Posters 428.7k Views 131 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.
  • pepsonP Offline
    pepsonP Offline
    pepson
    wrote on last edited by
    #707
    Dec 27 21:12:27 domoticz kernel: [    2.675918] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    Dec 27 21:12:27 domoticz kernel: [    3.109172] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
    Dec 27 21:12:27 domoticz kernel: [    3.407342] brcmfmac: F1 signature read @0x18000000=0x1541a9a6
    Dec 27 21:12:27 domoticz kernel: [    3.413382] usbcore: registered new interface driver brcmfmac
    Dec 27 21:12:27 domoticz kernel: [    3.601930] brcmfmac: Firmware version = wl0: Aug  7 2017 00:46:29 version 7.45.41.46 (r666254 CY) FWID 01-f8a78378
    Dec 27 21:12:27 domoticz kernel: [    3.602685] brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 7.11.15 Compiler: 1.24.2 ClmImport: 1.24.1 Creation: 2014-05-26 10:53:55 Inc Data: 9.10.41 Inc Compiler: 1.29.4 Inc ClmImport: 1.36.3 Creation: 2017-08-07 00:37:47 
    Dec 27 21:12:27 domoticz avahi-daemon[327]: Successfully called chroot().
    Dec 27 21:12:27 domoticz avahi-daemon[327]: Successfully dropped remaining capabilities.
    Dec 27 21:12:27 domoticz avahi-daemon[327]: No service file found in /etc/avahi/services.
    Dec 27 21:12:27 domoticz systemd[1]: Started Avahi mDNS/DNS-SD Stack.
    Dec 27 21:12:27 domoticz systemd[1]: Reached target System Time Synchronized.
    Dec 27 21:12:27 domoticz avahi-daemon[327]: Network interface enumeration completed.
    Dec 27 21:12:27 domoticz avahi-daemon[327]: Server startup complete. Host name is domoticz.local. Local service cookie is 87145466.
    Dec 27 21:12:27 domoticz systemd[1]: apt-daily.timer: Adding 5h 31min 57.980339s random time.
    Dec 27 21:12:27 domoticz systemd[1]: Started Daily apt download activities.
    Dec 27 21:12:27 domoticz systemd[1]: apt-daily-upgrade.timer: Adding 2min 40.737204s random time.
    Dec 27 21:12:27 domoticz systemd[1]: Started Daily apt upgrade and clean activities.
    Dec 27 21:12:27 domoticz systemd[1]: Reached target Timers.
    Dec 27 21:12:27 domoticz systemd[1]: Started triggerhappy global hotkey daemon.
    Dec 27 21:12:27 domoticz systemd[1]: Started System Logging Service.
    Dec 27 21:12:27 domoticz systemd[1]: Started Save/Restore Sound Card State.
    Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: starting wpa_supplicant
    Dec 27 21:12:27 domoticz dhcpcd-run-hooks[374]: wlan0: starting wpa_supplicant
    Dec 27 21:12:27 domoticz systemd[1]: Started Login Service.
    Dec 27 21:12:27 domoticz dphys-swapfile[329]: Starting dphys-swapfile swapfile setup ...
    Dec 27 21:12:27 domoticz raspi-config[330]: Checking if shift key is held down:Error opening '/dev/input/event*': No such file or directory
    Dec 27 21:12:27 domoticz raspi-config[330]:  No. Switching to ondemand scaling governor.
    Dec 27 21:12:27 domoticz systemd[1]: Started LSB: Switch to ondemand cpu governor (unless shift key is pressed).
    Dec 27 21:12:27 domoticz OWFS[375]: DEFAULT: owlib.c:(208) Cannot open USB bus master
    Dec 27 21:12:27 domoticz OWFS[375]: DEFAULT: owlib.c:(52) No valid 1-wire buses found
    Dec 27 21:12:27 domoticz systemd[1]: start1wire.service: Control process exited, code=exited status=1
    Dec 27 21:12:27 domoticz systemd[1]: Failed to start LSB: Start OWFS at boot time.
    Dec 27 21:12:27 domoticz systemd[1]: start1wire.service: Unit entered failed state.
    Dec 27 21:12:27 domoticz systemd[1]: start1wire.service: Failed with result 'exit-code'.
    Dec 27 21:12:27 domoticz dphys-swapfile[329]: want /var/swap=100MByte, checking existing: keeping it
    Dec 27 21:12:27 domoticz kernel: [    4.979888] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
    Dec 27 21:12:27 domoticz kernel: [    4.979897] brcmfmac: power management disabled
    Dec 27 21:12:27 domoticz kernel: [    4.987898] Adding 102396k swap on /var/swap.  Priority:-1 extents:1 across:102396k SSFS
    Dec 27 21:12:27 domoticz dphys-swapfile[329]: done.
    Dec 27 21:12:27 domoticz systemd[1]: Started LSB: Autogenerate and use a swap file.
    Dec 27 21:12:27 domoticz dhcpcd[339]: eth0: waiting for carrier
    Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: waiting for carrier
    Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: carrier acquired
    Dec 27 21:12:27 domoticz kernel: [    5.321930] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
    Dec 27 21:12:27 domoticz kernel: [    5.322223] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    Dec 27 21:12:27 domoticz dhcpcd[339]: DUID 00:01:00:01:21:b0:d9:d9:b8:27:eb:81:d4:7f
    Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: IAID eb:81:d4:7f
    Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: adding address fe80::6bd:3cc7:2b64:c842
    Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: carrier lost
    Dec 27 21:12:28 domoticz dhcpcd[339]: wlan0: deleting address fe80::6bd:3cc7:2b64:c842
    Dec 27 21:12:29 domoticz dhcpcd[339]: eth0: carrier acquired
    Dec 27 21:12:29 domoticz kernel: [    6.725223] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    Dec 27 21:12:29 domoticz kernel: [    6.726375] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
    Dec 27 21:12:29 domoticz dhcpcd[339]: eth0: IAID eb:d4:81:2a
    Dec 27 21:12:29 domoticz dhcpcd[339]: eth0: adding address fe80::7a80:6e8f:27f0:4005
    Dec 27 21:12:29 domoticz dhcpcd[339]: eth0: probing address 192.168.13.5/24
    Dec 27 21:12:29 domoticz dhcpcd[339]: eth0: soliciting an IPv6 router
    Dec 27 21:12:30 domoticz avahi-daemon[327]: Joining mDNS multicast group on interface eth0.IPv6 with address fe80::7a80:6e8f:27f0:4005.
    Dec 27 21:12:30 domoticz avahi-daemon[327]: New relevant interface eth0.IPv6 for mDNS.
    Dec 27 21:12:30 domoticz avahi-daemon[327]: Registering new address record for fe80::7a80:6e8f:27f0:4005 on eth0.*.
    Dec 27 21:12:34 domoticz dhcpcd[339]: eth0: using static address 192.168.13.5/24
    Dec 27 21:12:34 domoticz dhcpcd[339]: eth0: adding route to 192.168.13.0/24
    Dec 27 21:12:34 domoticz dhcpcd[339]: eth0: adding default route via 192.168.13.1
    Dec 27 21:12:34 domoticz avahi-daemon[327]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.13.5.
    Dec 27 21:12:34 domoticz avahi-daemon[327]: New relevant interface eth0.IPv4 for mDNS.
    Dec 27 21:12:34 domoticz avahi-daemon[327]: Registering new address record for 192.168.13.5 on eth0.IPv4.
    Dec 27 21:12:34 domoticz dhcpcd[339]: forked to background, child pid 470
    Dec 27 21:12:34 domoticz systemd[1]: Started dhcpcd on all interfaces.
    Dec 27 21:12:34 domoticz systemd[1]: Reached target Network.
    Dec 27 21:12:34 domoticz systemd[1]: Reached target Network is Online.
    Dec 27 21:12:34 domoticz systemd[1]: Starting LSB: Home Automation System...
    Dec 27 21:12:34 domoticz systemd[1]: Starting /etc/rc.local Compatibility...
    Dec 27 21:12:34 domoticz systemd[1]: Starting Permit User Sessions...
    Dec 27 21:12:34 domoticz systemd[1]: Starting OpenBSD Secure Shell server...
    Dec 27 21:12:34 domoticz systemd[1]: Started /etc/rc.local Compatibility.
    Dec 27 21:12:34 domoticz systemd[1]: Started Permit User Sessions.
    Dec 27 21:12:34 domoticz systemd[1]: Starting Hold until boot process finishes up...
    Dec 27 21:12:34 domoticz systemd[1]: Starting Terminate Plymouth Boot Screen...
    Dec 27 21:12:34 domoticz systemd[1]: Received SIGRTMIN+21 from PID 190 (plymouthd).
    Dec 27 21:12:34 domoticz systemd[1]: Started Hold until boot process finishes up.
    Dec 27 21:12:34 domoticz systemd[1]: Started Terminate Plymouth Boot Screen.
    Dec 27 21:12:34 domoticz systemd[1]: Started Getty on tty1.
    Dec 27 21:12:34 domoticz systemd[1]: Reached target Login Prompts.
    Dec 27 21:12:34 domoticz systemd[1]: Started OpenBSD Secure Shell server.
    Dec 27 21:12:35 domoticz domoticz.sh[471]: 2017-12-27 21:12:35.467  Domoticz V3.8796 (c)2012-2017 GizMoCuz
    Dec 27 21:12:35 domoticz domoticz.sh[471]: 2017-12-27 21:12:35.467  Build Hash: 2d99bbbc, Date: 2017-12-24 07:06:53
    Dec 27 21:12:35 domoticz domoticz.sh[471]: 2017-12-27 21:12:35.468  Startup Path: /home/pi/domoticz/
    Dec 27 21:12:35 domoticz domoticz.sh[471]: domoticz: Domoticz is starting up....
    Dec 27 21:12:35 domoticz domoticz: Domoticz is starting up....
    Dec 27 21:12:35 domoticz domoticz: Domoticz running...
    Dec 27 21:12:35 domoticz systemd[1]: Started LSB: Home Automation System.
    Dec 27 21:12:35 domoticz systemd[1]: Reached target Multi-User System.
    Dec 27 21:12:35 domoticz systemd[1]: Reached target Graphical Interface.
    Dec 27 21:12:35 domoticz systemd[1]: Starting Update UTMP about System Runlevel Changes...
    Dec 27 21:12:35 domoticz systemd[1]: Started Update UTMP about System Runlevel Changes.
    Dec 27 21:12:35 domoticz systemd[1]: Startup finished in 1.510s (kernel) + 11.498s (userspace) = 13.009s.
    Dec 27 21:12:38 domoticz kernel: [   15.710546] uart-pl011 3f201000.serial: no DMA platform data
    Dec 27 21:12:42 domoticz dhcpcd[470]: eth0: no IPv6 Routers available
    Dec 27 21:12:53 domoticz systemd[1]: Created slice User Slice of pi.
    Dec 27 21:12:53 domoticz systemd[1]: Starting User Manager for UID 1000...
    Dec 27 21:12:53 domoticz systemd[1]: Started Session c1 of user pi.
    Dec 27 21:12:53 domoticz systemd[535]: Listening on GnuPG cryptographic agent and passphrase cache (restricted).
    Dec 27 21:12:53 domoticz systemd[535]: Listening on GnuPG cryptographic agent and passphrase cache.
    Dec 27 21:12:53 domoticz systemd[535]: Listening on GnuPG cryptographic agent (access for web browsers).
    Dec 27 21:12:53 domoticz systemd[535]: Reached target Paths.
    Dec 27 21:12:53 domoticz systemd[535]: Listening on GnuPG cryptographic agent (ssh-agent emulation).
    Dec 27 21:12:53 domoticz systemd[535]: Reached target Sockets.
    Dec 27 21:12:53 domoticz systemd[535]: Reached target Timers.
    Dec 27 21:12:53 domoticz systemd[535]: Reached target Basic System.
    Dec 27 21:12:53 domoticz systemd[535]: Reached target Default.
    Dec 27 21:12:53 domoticz systemd[535]: Startup finished in 48ms.
    Dec 27 21:12:53 domoticz systemd[1]: Started User Manager for UID 1000.
    Dec 27 21:13:03 domoticz systemd[535]: Time has been changed
    Dec 27 21:13:03 domoticz systemd[1]: Time has been changed
    Dec 27 21:13:03 domoticz systemd-timesyncd[285]: Synchronized to time server 195.189.85.132:123 (2.debian.pool.ntp.org).
    Dec 27 21:13:03 domoticz systemd[1]: apt-daily.timer: Adding 8h 6min 59.681187s random time.
    Dec 27 21:13:03 domoticz systemd[1]: apt-daily-upgrade.timer: Adding 32min 42.364143s random time.```
    mfalkviddM 1 Reply Last reply
    0
    • pepsonP pepson
      Dec 27 21:12:27 domoticz kernel: [    2.675918] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
      Dec 27 21:12:27 domoticz kernel: [    3.109172] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
      Dec 27 21:12:27 domoticz kernel: [    3.407342] brcmfmac: F1 signature read @0x18000000=0x1541a9a6
      Dec 27 21:12:27 domoticz kernel: [    3.413382] usbcore: registered new interface driver brcmfmac
      Dec 27 21:12:27 domoticz kernel: [    3.601930] brcmfmac: Firmware version = wl0: Aug  7 2017 00:46:29 version 7.45.41.46 (r666254 CY) FWID 01-f8a78378
      Dec 27 21:12:27 domoticz kernel: [    3.602685] brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 7.11.15 Compiler: 1.24.2 ClmImport: 1.24.1 Creation: 2014-05-26 10:53:55 Inc Data: 9.10.41 Inc Compiler: 1.29.4 Inc ClmImport: 1.36.3 Creation: 2017-08-07 00:37:47 
      Dec 27 21:12:27 domoticz avahi-daemon[327]: Successfully called chroot().
      Dec 27 21:12:27 domoticz avahi-daemon[327]: Successfully dropped remaining capabilities.
      Dec 27 21:12:27 domoticz avahi-daemon[327]: No service file found in /etc/avahi/services.
      Dec 27 21:12:27 domoticz systemd[1]: Started Avahi mDNS/DNS-SD Stack.
      Dec 27 21:12:27 domoticz systemd[1]: Reached target System Time Synchronized.
      Dec 27 21:12:27 domoticz avahi-daemon[327]: Network interface enumeration completed.
      Dec 27 21:12:27 domoticz avahi-daemon[327]: Server startup complete. Host name is domoticz.local. Local service cookie is 87145466.
      Dec 27 21:12:27 domoticz systemd[1]: apt-daily.timer: Adding 5h 31min 57.980339s random time.
      Dec 27 21:12:27 domoticz systemd[1]: Started Daily apt download activities.
      Dec 27 21:12:27 domoticz systemd[1]: apt-daily-upgrade.timer: Adding 2min 40.737204s random time.
      Dec 27 21:12:27 domoticz systemd[1]: Started Daily apt upgrade and clean activities.
      Dec 27 21:12:27 domoticz systemd[1]: Reached target Timers.
      Dec 27 21:12:27 domoticz systemd[1]: Started triggerhappy global hotkey daemon.
      Dec 27 21:12:27 domoticz systemd[1]: Started System Logging Service.
      Dec 27 21:12:27 domoticz systemd[1]: Started Save/Restore Sound Card State.
      Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: starting wpa_supplicant
      Dec 27 21:12:27 domoticz dhcpcd-run-hooks[374]: wlan0: starting wpa_supplicant
      Dec 27 21:12:27 domoticz systemd[1]: Started Login Service.
      Dec 27 21:12:27 domoticz dphys-swapfile[329]: Starting dphys-swapfile swapfile setup ...
      Dec 27 21:12:27 domoticz raspi-config[330]: Checking if shift key is held down:Error opening '/dev/input/event*': No such file or directory
      Dec 27 21:12:27 domoticz raspi-config[330]:  No. Switching to ondemand scaling governor.
      Dec 27 21:12:27 domoticz systemd[1]: Started LSB: Switch to ondemand cpu governor (unless shift key is pressed).
      Dec 27 21:12:27 domoticz OWFS[375]: DEFAULT: owlib.c:(208) Cannot open USB bus master
      Dec 27 21:12:27 domoticz OWFS[375]: DEFAULT: owlib.c:(52) No valid 1-wire buses found
      Dec 27 21:12:27 domoticz systemd[1]: start1wire.service: Control process exited, code=exited status=1
      Dec 27 21:12:27 domoticz systemd[1]: Failed to start LSB: Start OWFS at boot time.
      Dec 27 21:12:27 domoticz systemd[1]: start1wire.service: Unit entered failed state.
      Dec 27 21:12:27 domoticz systemd[1]: start1wire.service: Failed with result 'exit-code'.
      Dec 27 21:12:27 domoticz dphys-swapfile[329]: want /var/swap=100MByte, checking existing: keeping it
      Dec 27 21:12:27 domoticz kernel: [    4.979888] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
      Dec 27 21:12:27 domoticz kernel: [    4.979897] brcmfmac: power management disabled
      Dec 27 21:12:27 domoticz kernel: [    4.987898] Adding 102396k swap on /var/swap.  Priority:-1 extents:1 across:102396k SSFS
      Dec 27 21:12:27 domoticz dphys-swapfile[329]: done.
      Dec 27 21:12:27 domoticz systemd[1]: Started LSB: Autogenerate and use a swap file.
      Dec 27 21:12:27 domoticz dhcpcd[339]: eth0: waiting for carrier
      Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: waiting for carrier
      Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: carrier acquired
      Dec 27 21:12:27 domoticz kernel: [    5.321930] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
      Dec 27 21:12:27 domoticz kernel: [    5.322223] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
      Dec 27 21:12:27 domoticz dhcpcd[339]: DUID 00:01:00:01:21:b0:d9:d9:b8:27:eb:81:d4:7f
      Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: IAID eb:81:d4:7f
      Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: adding address fe80::6bd:3cc7:2b64:c842
      Dec 27 21:12:27 domoticz dhcpcd[339]: wlan0: carrier lost
      Dec 27 21:12:28 domoticz dhcpcd[339]: wlan0: deleting address fe80::6bd:3cc7:2b64:c842
      Dec 27 21:12:29 domoticz dhcpcd[339]: eth0: carrier acquired
      Dec 27 21:12:29 domoticz kernel: [    6.725223] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
      Dec 27 21:12:29 domoticz kernel: [    6.726375] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
      Dec 27 21:12:29 domoticz dhcpcd[339]: eth0: IAID eb:d4:81:2a
      Dec 27 21:12:29 domoticz dhcpcd[339]: eth0: adding address fe80::7a80:6e8f:27f0:4005
      Dec 27 21:12:29 domoticz dhcpcd[339]: eth0: probing address 192.168.13.5/24
      Dec 27 21:12:29 domoticz dhcpcd[339]: eth0: soliciting an IPv6 router
      Dec 27 21:12:30 domoticz avahi-daemon[327]: Joining mDNS multicast group on interface eth0.IPv6 with address fe80::7a80:6e8f:27f0:4005.
      Dec 27 21:12:30 domoticz avahi-daemon[327]: New relevant interface eth0.IPv6 for mDNS.
      Dec 27 21:12:30 domoticz avahi-daemon[327]: Registering new address record for fe80::7a80:6e8f:27f0:4005 on eth0.*.
      Dec 27 21:12:34 domoticz dhcpcd[339]: eth0: using static address 192.168.13.5/24
      Dec 27 21:12:34 domoticz dhcpcd[339]: eth0: adding route to 192.168.13.0/24
      Dec 27 21:12:34 domoticz dhcpcd[339]: eth0: adding default route via 192.168.13.1
      Dec 27 21:12:34 domoticz avahi-daemon[327]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.13.5.
      Dec 27 21:12:34 domoticz avahi-daemon[327]: New relevant interface eth0.IPv4 for mDNS.
      Dec 27 21:12:34 domoticz avahi-daemon[327]: Registering new address record for 192.168.13.5 on eth0.IPv4.
      Dec 27 21:12:34 domoticz dhcpcd[339]: forked to background, child pid 470
      Dec 27 21:12:34 domoticz systemd[1]: Started dhcpcd on all interfaces.
      Dec 27 21:12:34 domoticz systemd[1]: Reached target Network.
      Dec 27 21:12:34 domoticz systemd[1]: Reached target Network is Online.
      Dec 27 21:12:34 domoticz systemd[1]: Starting LSB: Home Automation System...
      Dec 27 21:12:34 domoticz systemd[1]: Starting /etc/rc.local Compatibility...
      Dec 27 21:12:34 domoticz systemd[1]: Starting Permit User Sessions...
      Dec 27 21:12:34 domoticz systemd[1]: Starting OpenBSD Secure Shell server...
      Dec 27 21:12:34 domoticz systemd[1]: Started /etc/rc.local Compatibility.
      Dec 27 21:12:34 domoticz systemd[1]: Started Permit User Sessions.
      Dec 27 21:12:34 domoticz systemd[1]: Starting Hold until boot process finishes up...
      Dec 27 21:12:34 domoticz systemd[1]: Starting Terminate Plymouth Boot Screen...
      Dec 27 21:12:34 domoticz systemd[1]: Received SIGRTMIN+21 from PID 190 (plymouthd).
      Dec 27 21:12:34 domoticz systemd[1]: Started Hold until boot process finishes up.
      Dec 27 21:12:34 domoticz systemd[1]: Started Terminate Plymouth Boot Screen.
      Dec 27 21:12:34 domoticz systemd[1]: Started Getty on tty1.
      Dec 27 21:12:34 domoticz systemd[1]: Reached target Login Prompts.
      Dec 27 21:12:34 domoticz systemd[1]: Started OpenBSD Secure Shell server.
      Dec 27 21:12:35 domoticz domoticz.sh[471]: 2017-12-27 21:12:35.467  Domoticz V3.8796 (c)2012-2017 GizMoCuz
      Dec 27 21:12:35 domoticz domoticz.sh[471]: 2017-12-27 21:12:35.467  Build Hash: 2d99bbbc, Date: 2017-12-24 07:06:53
      Dec 27 21:12:35 domoticz domoticz.sh[471]: 2017-12-27 21:12:35.468  Startup Path: /home/pi/domoticz/
      Dec 27 21:12:35 domoticz domoticz.sh[471]: domoticz: Domoticz is starting up....
      Dec 27 21:12:35 domoticz domoticz: Domoticz is starting up....
      Dec 27 21:12:35 domoticz domoticz: Domoticz running...
      Dec 27 21:12:35 domoticz systemd[1]: Started LSB: Home Automation System.
      Dec 27 21:12:35 domoticz systemd[1]: Reached target Multi-User System.
      Dec 27 21:12:35 domoticz systemd[1]: Reached target Graphical Interface.
      Dec 27 21:12:35 domoticz systemd[1]: Starting Update UTMP about System Runlevel Changes...
      Dec 27 21:12:35 domoticz systemd[1]: Started Update UTMP about System Runlevel Changes.
      Dec 27 21:12:35 domoticz systemd[1]: Startup finished in 1.510s (kernel) + 11.498s (userspace) = 13.009s.
      Dec 27 21:12:38 domoticz kernel: [   15.710546] uart-pl011 3f201000.serial: no DMA platform data
      Dec 27 21:12:42 domoticz dhcpcd[470]: eth0: no IPv6 Routers available
      Dec 27 21:12:53 domoticz systemd[1]: Created slice User Slice of pi.
      Dec 27 21:12:53 domoticz systemd[1]: Starting User Manager for UID 1000...
      Dec 27 21:12:53 domoticz systemd[1]: Started Session c1 of user pi.
      Dec 27 21:12:53 domoticz systemd[535]: Listening on GnuPG cryptographic agent and passphrase cache (restricted).
      Dec 27 21:12:53 domoticz systemd[535]: Listening on GnuPG cryptographic agent and passphrase cache.
      Dec 27 21:12:53 domoticz systemd[535]: Listening on GnuPG cryptographic agent (access for web browsers).
      Dec 27 21:12:53 domoticz systemd[535]: Reached target Paths.
      Dec 27 21:12:53 domoticz systemd[535]: Listening on GnuPG cryptographic agent (ssh-agent emulation).
      Dec 27 21:12:53 domoticz systemd[535]: Reached target Sockets.
      Dec 27 21:12:53 domoticz systemd[535]: Reached target Timers.
      Dec 27 21:12:53 domoticz systemd[535]: Reached target Basic System.
      Dec 27 21:12:53 domoticz systemd[535]: Reached target Default.
      Dec 27 21:12:53 domoticz systemd[535]: Startup finished in 48ms.
      Dec 27 21:12:53 domoticz systemd[1]: Started User Manager for UID 1000.
      Dec 27 21:13:03 domoticz systemd[535]: Time has been changed
      Dec 27 21:13:03 domoticz systemd[1]: Time has been changed
      Dec 27 21:13:03 domoticz systemd-timesyncd[285]: Synchronized to time server 195.189.85.132:123 (2.debian.pool.ntp.org).
      Dec 27 21:13:03 domoticz systemd[1]: apt-daily.timer: Adding 8h 6min 59.681187s random time.
      Dec 27 21:13:03 domoticz systemd[1]: apt-daily-upgrade.timer: Adding 32min 42.364143s random time.```
      mfalkviddM Offline
      mfalkviddM Offline
      mfalkvidd
      Mod
      wrote on last edited by
      #708

      @pepson ok, so mysgw does at least log to syslog, as seen here

      Dec 27 21:12:27 domoticz mysgw: Starting gateway...
      Dec 27 21:12:27 domoticz mysgw: Protocol version - 2.2.0-rc.2
      

      but nothing else. I expected there to be more information, but maybe I'm just not familiar enough with the raspberry pi gateway.

      1 Reply Last reply
      0
      • pepsonP Offline
        pepsonP Offline
        pepson
        wrote on last edited by
        #709

        Yes but only one time read and then start the problem.

        1 Reply Last reply
        0
        • gohanG Offline
          gohanG Offline
          gohan
          Mod
          wrote on last edited by
          #710

          Can you try building the ethernet gateway instead?

          1 Reply Last reply
          0
          • pepsonP Offline
            pepsonP Offline
            pepson
            wrote on last edited by
            #711

            Ethernet work ok. But i better want serial and found bug and solution why not working serial...

            1 Reply Last reply
            0
            • gohanG Offline
              gohanG Offline
              gohan
              Mod
              wrote on last edited by
              #712

              I just wanted to make sure at least it was working OK as ethernet.

              1 Reply Last reply
              0
              • pepsonP Offline
                pepsonP Offline
                pepson
                wrote on last edited by
                #713

                Problem is only on serial...

                1 Reply Last reply
                0
                • pepsonP Offline
                  pepsonP Offline
                  pepson
                  wrote on last edited by
                  #714

                  Please help...

                  zboblamontZ 1 Reply Last reply
                  0
                  • pepsonP pepson

                    Please help...

                    zboblamontZ Offline
                    zboblamontZ Offline
                    zboblamont
                    wrote on last edited by
                    #715

                    @pepson Just a suggestion, but are you sure the Pi3 is looking at ttyUSB1, ie have you confirmed this is the Gateway serial connection ?
                    I am using direct serial connection to the pi3 GPIO as ttySO with Domoticz, but when I tried a USB Gateway at one point, the connection was NOT working using the expected ttyUSB quoted. I had to check the tty connections via Putty to establish the actual link...

                    1 Reply Last reply
                    1
                    • pepsonP Offline
                      pepsonP Offline
                      pepson
                      wrote on last edited by
                      #716

                      But can you give me commend to build it as you use ttySO ?

                      1 Reply Last reply
                      0
                      • pepsonP Offline
                        pepsonP Offline
                        pepson
                        wrote on last edited by
                        #717

                        I build it as ttySO
                        ./configure --my-transport=rfm69 --my-rfm69-frequency=868 --my-is-rfm69hw --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttySO

                        and i have and info:

                        2017-12-28 15:40:21.822 MySensors: Using serial port: /dev/ttyS0
                        2017-12-28 15:40:21.832 Error: MySensors: Error opening serial port!

                        1 Reply Last reply
                        0
                        • pepsonP Offline
                          pepsonP Offline
                          pepson
                          wrote on last edited by
                          #718

                          Then build as /dev/serial0 and the same problem. This is show in log Domoticz. One read version and port closed.

                          2017-12-28 15:48:14.418 MySensors: Using serial port: /dev/serial0
                          2017-12-28 15:48:14.418 MySensors: Gateway Version: 2.2.0-rc.2
                          2017-12-28 15:48:14.418 Error: Serial Port closed!... Error: End of file
                          2017-12-28 15:48:15.418 MySensors: retrying in 30 seconds...

                          mfalkviddM 1 Reply Last reply
                          0
                          • pepsonP pepson

                            Then build as /dev/serial0 and the same problem. This is show in log Domoticz. One read version and port closed.

                            2017-12-28 15:48:14.418 MySensors: Using serial port: /dev/serial0
                            2017-12-28 15:48:14.418 MySensors: Gateway Version: 2.2.0-rc.2
                            2017-12-28 15:48:14.418 Error: Serial Port closed!... Error: End of file
                            2017-12-28 15:48:15.418 MySensors: retrying in 30 seconds...

                            mfalkviddM Offline
                            mfalkviddM Offline
                            mfalkvidd
                            Mod
                            wrote on last edited by
                            #719

                            @pepson could you post your hardware settings in Domoticz? This is what works for me:
                            0_1514474366659_66d2b11b-dcc4-46ec-83e3-767278ec3e1f-image.png

                            Could you also try building the gateway without rfm69 support, to check if the problem is generic or related to rfm69. Use this:

                            ./configure --my-transport=none --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB42
                            make && sudo ./bin/mysgw -d
                            
                            1 Reply Last reply
                            0
                            • pepsonP Offline
                              pepsonP Offline
                              pepson
                              wrote on last edited by
                              #720

                              Hello
                              Thanks for your help. I start from beginning build DOmoticz on my RPi3 with clean latest image. After run in Sudo raspi-config i enable SPI and Serial , then install DOmoticz and now all works OK. Then build Mysensor Gateway and all is ok with no error in Domoticz. Works on /dev/ttyUSB42

                              1 Reply Last reply
                              1
                              • pepsonP Offline
                                pepsonP Offline
                                pepson
                                wrote on last edited by
                                #721

                                But how i can build MySensors Gateway on serial with radio RFM69HW but on old version 2.1.1 ?

                                1 Reply Last reply
                                0
                                • pepsonP Offline
                                  pepsonP Offline
                                  pepson
                                  wrote on last edited by
                                  #722

                                  And have next problem... i build sketch on version 2.2.0-rc2 but after write to Arduino Mini Pro he is not connected to my Gateway on RPI3.

                                  This is sketch. What is wrong ?

                                  /*
                                     Relay with button sketch
                                     modified to work with no uplink
                                     to gateway and try to maintain sync to controller
                                  */
                                  
                                  
                                  #define MY_DEBUG                               // Enable debug prints to serial monitor
                                  
                                  #define MY_RADIO_RFM69
                                  #define MY_RFM69_FREQUENCY 868
                                  #define MY_IS_RFM69HW
                                  #define MY_RFM69_NEW_DRIVER
                                  
                                  //#define MY_NODE_ID 203                       // Node id defaults to AUTO (tries to fetch id from controller) 
                                  
                                  #define MY_TRANSPORT_WAIT_READY_MS 5000        //set how long to wait for transport ready in milliseconds
                                  
                                  #define MY_REPEATER_FEATURE                    // Enabled repeater feature for this node
                                  
                                  #include <MySensors.h>
                                  #include <Bounce2.h>
                                  
                                  #define RELAY_PIN  5      // Arduino Digital I/O pin number for relay 
                                  #define BUTTON_PIN  3     // Arduino Digital I/O pin number for button 
                                  #define CHILD_ID 1        // Id of the sensor child
                                  #define RELAY_ON 1
                                  #define RELAY_OFF 0
                                  
                                  Bounce debouncer = Bounce();
                                  int oldValue = 0;
                                  bool uplinkAvailable = true;
                                  bool state = false;
                                  bool requestState;
                                  bool firstStart = true;
                                  unsigned long uplinkCheckTime ;                // holder for uplink checks
                                  unsigned long uplinkCheckPeriod = 30*1000;     // time between checks for uplink in milliseconds
                                  unsigned long returnWait = 1000;               // how long to wait for return from controller in milliseconds.. adjust as needed
                                  unsigned long oldTime = 0;
                                  unsigned long newTime = 0;
                                  MyMessage msg(CHILD_ID, V_STATUS);
                                  
                                  void setup(){
                                    pinMode(BUTTON_PIN, INPUT_PULLUP);           // Setup the button pin, Activate internal pull-up
                                    
                                    debouncer.attach(BUTTON_PIN);                // After setting up the button, setup debouncer
                                    debouncer.interval(5);
                                  
                                    pinMode(RELAY_PIN, OUTPUT);                 // set relay pin in output mode
                                    digitalWrite(RELAY_PIN, RELAY_OFF);         // Make sure relay is off when starting up
                                  }
                                  
                                  void presentation()  {
                                    // Send the sketch version information to the gateway and Controller
                                    sendSketchInfo("1xRelay & Button", "2.2.0-rc2");
                                  
                                    // Register all sensors to gw (they will be created as child devices)
                                    present(CHILD_ID, S_BINARY);
                                  }
                                  
                                  
                                  void loop(){
                                    if (firstStart) {                            // this code is only run once at startup
                                      Serial.println("First run started");
                                      requestTime();                             // get time from controller
                                      wait (returnWait);                         // delay to allow time to return
                                      if (oldTime == 0){                         // check to see if there was a return from the time request
                                        Serial.println("uplink not available");
                                        uplinkAvailable = false;                 // no uplink established
                                        uplinkCheckTime = millis();
                                      }
                                       else{
                                        Serial.println("uplink available");
                                        request( CHILD_ID, V_STATUS);            // get status of switch on controller
                                        wait (returnWait);                       //wait needed to allow request to return from controller
                                        Serial.print("controller state --- ");
                                        Serial.println(requestState);
                                        if (requestState != state) {             // check that controller is corectly showing the current relay state
                                          send(msg.set(state), false);           // notify controller of current state
                                        } 
                                       }   
                                    firstStart = false;                                          // set firstStart flag false to prevent code from running again
                                   }
                                  
                                    debouncer.update();
                                    int value = debouncer.read();                               // Get the update value
                                    if (value != oldValue && value == 0) {                      // check for new button push
                                      state =  !state;                                          // Toggle the state
                                      digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);    // switch the relay to the new state
                                      requestTime();
                                      wait (returnWait);                                               // delay to allow time to return
                                      if (oldTime != newTime){                                  // if times are different then uplink is available
                                        send(msg.set(state), false);
                                        oldTime = newTime;
                                      }
                                      else{                                                    // if times are the same no uplink is available
                                       Serial.println("uplink not available");
                                        uplinkAvailable = false;                                // no uplink available, set flag false
                                        uplinkCheckTime = millis();                             // start the timer from now
                                      }
                                  
                                    }
                                    oldValue = value;
                                   
                                    if (!uplinkAvailable && (millis() - uplinkCheckTime > uplinkCheckPeriod) ) {       // test to see if function should be called
                                      uplinkCheck();                                                                  // call uplink checking function
                                    }
                                  
                                  }
                                  
                                  /*-------------------start of functions--------------------------*/
                                  
                                  void receive(const MyMessage &message) {
                                    if (message.type == V_STATUS) {                                   // check to see if incoming message is for a switch
                                      switch (message.getCommand()) {                                 // message.getCommand will give us the command type of the incomming message
                                        case C_SET:                                                   //message is a set command  from controller to update relay state
                                          state = message.getBool();                                  // get the new state
                                          digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);      // switch relay to new state
                                          uplinkAvailable = true;                                     //  uplink established
                                          /*---- Write some debug info----*/
                                          Serial.print("Incoming change for sensor:");
                                          Serial.print(message.sensor);
                                          Serial.print(", New status: ");
                                          Serial.println(message.getBool());
                                          break;
                                        case C_REQ:                                               // message is a returning request from controller
                                          requestState = message.getBool();                       // update requestState with returning state
                                          break;
                                      }
                                    }
                                  }
                                  
                                  void uplinkCheck() {
                                      requestTime();
                                      wait (returnWait);                       // wait for time return.. this may need to be varied for your system
                                     if (oldTime != newTime){
                                       Serial.println("uplink re-established");
                                       request( CHILD_ID, V_STATUS);
                                       wait (returnWait);                        //wait needed to allow request to return from controller
                                      if (requestState != state) {              // check that controller is corectly showing the current relay state
                                        send(msg.set(state), false);            // notify controller of current state no ack
                                        uplinkAvailable = true;                 //  uplink established
                                        oldTime = newTime;
                                      }
                                    }
                                    uplinkCheckTime = millis();                // reset the checktime
                                    Serial.println("uplinkchecktime reset");
                                  }
                                  
                                  
                                  void receiveTime(unsigned long time)
                                  {
                                    if (firstStart){
                                      oldTime = time;
                                      newTime = time;
                                    }
                                    else{
                                    newTime = time;
                                  }
                                    Serial.print("time received---- " );
                                    Serial.println(time);
                                  }```
                                  zboblamontZ 1 Reply Last reply
                                  0
                                  • pepsonP pepson

                                    And have next problem... i build sketch on version 2.2.0-rc2 but after write to Arduino Mini Pro he is not connected to my Gateway on RPI3.

                                    This is sketch. What is wrong ?

                                    /*
                                       Relay with button sketch
                                       modified to work with no uplink
                                       to gateway and try to maintain sync to controller
                                    */
                                    
                                    
                                    #define MY_DEBUG                               // Enable debug prints to serial monitor
                                    
                                    #define MY_RADIO_RFM69
                                    #define MY_RFM69_FREQUENCY 868
                                    #define MY_IS_RFM69HW
                                    #define MY_RFM69_NEW_DRIVER
                                    
                                    //#define MY_NODE_ID 203                       // Node id defaults to AUTO (tries to fetch id from controller) 
                                    
                                    #define MY_TRANSPORT_WAIT_READY_MS 5000        //set how long to wait for transport ready in milliseconds
                                    
                                    #define MY_REPEATER_FEATURE                    // Enabled repeater feature for this node
                                    
                                    #include <MySensors.h>
                                    #include <Bounce2.h>
                                    
                                    #define RELAY_PIN  5      // Arduino Digital I/O pin number for relay 
                                    #define BUTTON_PIN  3     // Arduino Digital I/O pin number for button 
                                    #define CHILD_ID 1        // Id of the sensor child
                                    #define RELAY_ON 1
                                    #define RELAY_OFF 0
                                    
                                    Bounce debouncer = Bounce();
                                    int oldValue = 0;
                                    bool uplinkAvailable = true;
                                    bool state = false;
                                    bool requestState;
                                    bool firstStart = true;
                                    unsigned long uplinkCheckTime ;                // holder for uplink checks
                                    unsigned long uplinkCheckPeriod = 30*1000;     // time between checks for uplink in milliseconds
                                    unsigned long returnWait = 1000;               // how long to wait for return from controller in milliseconds.. adjust as needed
                                    unsigned long oldTime = 0;
                                    unsigned long newTime = 0;
                                    MyMessage msg(CHILD_ID, V_STATUS);
                                    
                                    void setup(){
                                      pinMode(BUTTON_PIN, INPUT_PULLUP);           // Setup the button pin, Activate internal pull-up
                                      
                                      debouncer.attach(BUTTON_PIN);                // After setting up the button, setup debouncer
                                      debouncer.interval(5);
                                    
                                      pinMode(RELAY_PIN, OUTPUT);                 // set relay pin in output mode
                                      digitalWrite(RELAY_PIN, RELAY_OFF);         // Make sure relay is off when starting up
                                    }
                                    
                                    void presentation()  {
                                      // Send the sketch version information to the gateway and Controller
                                      sendSketchInfo("1xRelay & Button", "2.2.0-rc2");
                                    
                                      // Register all sensors to gw (they will be created as child devices)
                                      present(CHILD_ID, S_BINARY);
                                    }
                                    
                                    
                                    void loop(){
                                      if (firstStart) {                            // this code is only run once at startup
                                        Serial.println("First run started");
                                        requestTime();                             // get time from controller
                                        wait (returnWait);                         // delay to allow time to return
                                        if (oldTime == 0){                         // check to see if there was a return from the time request
                                          Serial.println("uplink not available");
                                          uplinkAvailable = false;                 // no uplink established
                                          uplinkCheckTime = millis();
                                        }
                                         else{
                                          Serial.println("uplink available");
                                          request( CHILD_ID, V_STATUS);            // get status of switch on controller
                                          wait (returnWait);                       //wait needed to allow request to return from controller
                                          Serial.print("controller state --- ");
                                          Serial.println(requestState);
                                          if (requestState != state) {             // check that controller is corectly showing the current relay state
                                            send(msg.set(state), false);           // notify controller of current state
                                          } 
                                         }   
                                      firstStart = false;                                          // set firstStart flag false to prevent code from running again
                                     }
                                    
                                      debouncer.update();
                                      int value = debouncer.read();                               // Get the update value
                                      if (value != oldValue && value == 0) {                      // check for new button push
                                        state =  !state;                                          // Toggle the state
                                        digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);    // switch the relay to the new state
                                        requestTime();
                                        wait (returnWait);                                               // delay to allow time to return
                                        if (oldTime != newTime){                                  // if times are different then uplink is available
                                          send(msg.set(state), false);
                                          oldTime = newTime;
                                        }
                                        else{                                                    // if times are the same no uplink is available
                                         Serial.println("uplink not available");
                                          uplinkAvailable = false;                                // no uplink available, set flag false
                                          uplinkCheckTime = millis();                             // start the timer from now
                                        }
                                    
                                      }
                                      oldValue = value;
                                     
                                      if (!uplinkAvailable && (millis() - uplinkCheckTime > uplinkCheckPeriod) ) {       // test to see if function should be called
                                        uplinkCheck();                                                                  // call uplink checking function
                                      }
                                    
                                    }
                                    
                                    /*-------------------start of functions--------------------------*/
                                    
                                    void receive(const MyMessage &message) {
                                      if (message.type == V_STATUS) {                                   // check to see if incoming message is for a switch
                                        switch (message.getCommand()) {                                 // message.getCommand will give us the command type of the incomming message
                                          case C_SET:                                                   //message is a set command  from controller to update relay state
                                            state = message.getBool();                                  // get the new state
                                            digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);      // switch relay to new state
                                            uplinkAvailable = true;                                     //  uplink established
                                            /*---- Write some debug info----*/
                                            Serial.print("Incoming change for sensor:");
                                            Serial.print(message.sensor);
                                            Serial.print(", New status: ");
                                            Serial.println(message.getBool());
                                            break;
                                          case C_REQ:                                               // message is a returning request from controller
                                            requestState = message.getBool();                       // update requestState with returning state
                                            break;
                                        }
                                      }
                                    }
                                    
                                    void uplinkCheck() {
                                        requestTime();
                                        wait (returnWait);                       // wait for time return.. this may need to be varied for your system
                                       if (oldTime != newTime){
                                         Serial.println("uplink re-established");
                                         request( CHILD_ID, V_STATUS);
                                         wait (returnWait);                        //wait needed to allow request to return from controller
                                        if (requestState != state) {              // check that controller is corectly showing the current relay state
                                          send(msg.set(state), false);            // notify controller of current state no ack
                                          uplinkAvailable = true;                 //  uplink established
                                          oldTime = newTime;
                                        }
                                      }
                                      uplinkCheckTime = millis();                // reset the checktime
                                      Serial.println("uplinkchecktime reset");
                                    }
                                    
                                    
                                    void receiveTime(unsigned long time)
                                    {
                                      if (firstStart){
                                        oldTime = time;
                                        newTime = time;
                                      }
                                      else{
                                      newTime = time;
                                    }
                                      Serial.print("time received---- " );
                                      Serial.println(time);
                                    }```
                                    zboblamontZ Offline
                                    zboblamontZ Offline
                                    zboblamont
                                    wrote on last edited by
                                    #723

                                    @pepson Try walking in little steps trying each stage rather than running into new walls then expressing surprise at broken nose, no offence intended ;)
                                    Gateway and nodes, same platform, same version..... Otherwise they are speaking Chinese and Swedish hoping for somebody to explain the meaning of fubar...

                                    1 Reply Last reply
                                    1
                                    • pepsonP Offline
                                      pepsonP Offline
                                      pepson
                                      wrote on last edited by pepson
                                      #724

                                      I use the same version now 2.2.0-rc2 but when i programmed sketch to node it not connection to Gateway... That i want come back to version 2.1.1 gateway but i dont know how ? Or resolved problem Node 2.2.0-rc2 i stay on this.

                                      But when run debug gateway show this:

                                      
                                      pi@domoticz:~/MySensors $ sudo ./bin/mysgw -d
                                      mysgw: Starting gateway...
                                      mysgw: Protocol version - 2.2.0-rc.2
                                      mysgw: MCO:BGN:INIT GW,CP=RPNGL---,VER=2.2.0-rc.2
                                      mysgw: TSF:LRT:OK
                                      mysgw: TSM:INIT
                                      mysgw: TSF:WUR:MS=0
                                      mysgw: TSM:INIT:TSP OK
                                      mysgw: TSM:INIT:GW MODE
                                      mysgw: TSM:READY:ID=0,PAR=0,DIS=0
                                      mysgw: MCO:REG:NOT NEEDED
                                      mysgw: MCO:BGN:STP
                                      mysgw: MCO:BGN:INIT OK,TSP=1
                                      mysgw: !TSF:SAN:FAIL
                                      mysgw: TSM:FAIL:CNT=1
                                      mysgw: TSM:FAIL:DIS
                                      mysgw: TSF:TDI:TSL
                                      mysgw: TSM:FAIL:RE-INIT
                                      mysgw: TSM:INIT
                                      mysgw: TSM:INIT:TSP OK
                                      mysgw: TSM:INIT:GW MODE
                                      

                                      This is sketch 2.2.0-rc2

                                      /*
                                         Relay with button sketch
                                         modified to work with no uplink
                                         to gateway and try to maintain sync to controller
                                      */
                                      
                                      
                                      #define MY_DEBUG                               // Enable debug prints to serial monitor
                                      
                                      #define MY_RADIO_RFM69
                                      #define RFM69_868MHZ
                                      #define MY_IS_RFM69HW
                                      #define MY_RFM69_NEW_DRIVER
                                      
                                      //#define MY_NODE_ID 203                       // Node id defaults to AUTO (tries to fetch id from controller) 
                                      
                                      #define MY_TRANSPORT_WAIT_READY_MS 5000        //set how long to wait for transport ready in milliseconds
                                      
                                      #define MY_REPEATER_FEATURE                    // Enabled repeater feature for this node
                                      
                                      #include <MySensors.h>
                                      #include <Bounce2.h>
                                      
                                      #define RELAY_PIN  5      // Arduino Digital I/O pin number for relay 
                                      #define BUTTON_PIN  3     // Arduino Digital I/O pin number for button 
                                      #define CHILD_ID 1        // Id of the sensor child
                                      #define RELAY_ON 1
                                      #define RELAY_OFF 0
                                      
                                      Bounce debouncer = Bounce();
                                      int oldValue = 0;
                                      bool uplinkAvailable = true;
                                      bool state = false;
                                      bool requestState;
                                      bool firstStart = true;
                                      unsigned long uplinkCheckTime ;                // holder for uplink checks
                                      unsigned long uplinkCheckPeriod = 30*1000;     // time between checks for uplink in milliseconds
                                      unsigned long returnWait = 1000;               // how long to wait for return from controller in milliseconds.. adjust as needed
                                      unsigned long oldTime = 0;
                                      unsigned long newTime = 0;
                                      MyMessage msg(CHILD_ID, V_STATUS);
                                      
                                      void setup(){
                                        pinMode(BUTTON_PIN, INPUT_PULLUP);           // Setup the button pin, Activate internal pull-up
                                        
                                        debouncer.attach(BUTTON_PIN);                // After setting up the button, setup debouncer
                                        debouncer.interval(5);
                                      
                                        pinMode(RELAY_PIN, OUTPUT);                 // set relay pin in output mode
                                        digitalWrite(RELAY_PIN, RELAY_OFF);         // Make sure relay is off when starting up
                                      }
                                      
                                      void presentation()  {
                                        // Send the sketch version information to the gateway and Controller
                                        sendSketchInfo("1xRelay & Button", "2.2.0-rc2");
                                      
                                        // Register all sensors to gw (they will be created as child devices)
                                        present(CHILD_ID, S_BINARY);
                                      }
                                      
                                      
                                      void loop(){
                                        if (firstStart) {                            // this code is only run once at startup
                                          Serial.println("First run started");
                                          requestTime();                             // get time from controller
                                          wait (returnWait);                         // delay to allow time to return
                                          if (oldTime == 0){                         // check to see if there was a return from the time request
                                            Serial.println("uplink not available");
                                            uplinkAvailable = false;                 // no uplink established
                                            uplinkCheckTime = millis();
                                          }
                                           else{
                                            Serial.println("uplink available");
                                            request( CHILD_ID, V_STATUS);            // get status of switch on controller
                                            wait (returnWait);                       //wait needed to allow request to return from controller
                                            Serial.print("controller state --- ");
                                            Serial.println(requestState);
                                            if (requestState != state) {             // check that controller is corectly showing the current relay state
                                              send(msg.set(state), false);           // notify controller of current state
                                            } 
                                           }   
                                        firstStart = false;                                          // set firstStart flag false to prevent code from running again
                                       }
                                      
                                        debouncer.update();
                                        int value = debouncer.read();                               // Get the update value
                                        if (value != oldValue && value == 0) {                      // check for new button push
                                          state =  !state;                                          // Toggle the state
                                          digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);    // switch the relay to the new state
                                          requestTime();
                                          wait (returnWait);                                               // delay to allow time to return
                                          if (oldTime != newTime){                                  // if times are different then uplink is available
                                            send(msg.set(state), false);
                                            oldTime = newTime;
                                          }
                                          else{                                                    // if times are the same no uplink is available
                                           Serial.println("uplink not available");
                                            uplinkAvailable = false;                                // no uplink available, set flag false
                                            uplinkCheckTime = millis();                             // start the timer from now
                                          }
                                      
                                        }
                                        oldValue = value;
                                       
                                        if (!uplinkAvailable && (millis() - uplinkCheckTime > uplinkCheckPeriod) ) {       // test to see if function should be called
                                          uplinkCheck();                                                                  // call uplink checking function
                                        }
                                      
                                      }
                                      
                                      /*-------------------start of functions--------------------------*/
                                      
                                      void receive(const MyMessage &message) {
                                        if (message.type == V_STATUS) {                                   // check to see if incoming message is for a switch
                                          switch (message.getCommand()) {                                 // message.getCommand will give us the command type of the incomming message
                                            case C_SET:                                                   //message is a set command  from controller to update relay state
                                              state = message.getBool();                                  // get the new state
                                              digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);      // switch relay to new state
                                              uplinkAvailable = true;                                     //  uplink established
                                              /*---- Write some debug info----*/
                                              Serial.print("Incoming change for sensor:");
                                              Serial.print(message.sensor);
                                              Serial.print(", New status: ");
                                              Serial.println(message.getBool());
                                              break;
                                            case C_REQ:                                               // message is a returning request from controller
                                              requestState = message.getBool();                       // update requestState with returning state
                                              break;
                                          }
                                        }
                                      }
                                      
                                      void uplinkCheck() {
                                          requestTime();
                                          wait (returnWait);                       // wait for time return.. this may need to be varied for your system
                                         if (oldTime != newTime){
                                           Serial.println("uplink re-established");
                                           request( CHILD_ID, V_STATUS);
                                           wait (returnWait);                        //wait needed to allow request to return from controller
                                          if (requestState != state) {              // check that controller is corectly showing the current relay state
                                            send(msg.set(state), false);            // notify controller of current state no ack
                                            uplinkAvailable = true;                 //  uplink established
                                            oldTime = newTime;
                                          }
                                        }
                                        uplinkCheckTime = millis();                // reset the checktime
                                        Serial.println("uplinkchecktime reset");
                                      }
                                      
                                      
                                      void receiveTime(unsigned long time)
                                      {
                                        if (firstStart){
                                          oldTime = time;
                                          newTime = time;
                                        }
                                        else{
                                        newTime = time;
                                      }
                                        Serial.print("time received---- " );
                                        Serial.println(time);
                                      }```
                                      zboblamontZ 1 Reply Last reply
                                      0
                                      • pepsonP pepson

                                        I use the same version now 2.2.0-rc2 but when i programmed sketch to node it not connection to Gateway... That i want come back to version 2.1.1 gateway but i dont know how ? Or resolved problem Node 2.2.0-rc2 i stay on this.

                                        But when run debug gateway show this:

                                        
                                        pi@domoticz:~/MySensors $ sudo ./bin/mysgw -d
                                        mysgw: Starting gateway...
                                        mysgw: Protocol version - 2.2.0-rc.2
                                        mysgw: MCO:BGN:INIT GW,CP=RPNGL---,VER=2.2.0-rc.2
                                        mysgw: TSF:LRT:OK
                                        mysgw: TSM:INIT
                                        mysgw: TSF:WUR:MS=0
                                        mysgw: TSM:INIT:TSP OK
                                        mysgw: TSM:INIT:GW MODE
                                        mysgw: TSM:READY:ID=0,PAR=0,DIS=0
                                        mysgw: MCO:REG:NOT NEEDED
                                        mysgw: MCO:BGN:STP
                                        mysgw: MCO:BGN:INIT OK,TSP=1
                                        mysgw: !TSF:SAN:FAIL
                                        mysgw: TSM:FAIL:CNT=1
                                        mysgw: TSM:FAIL:DIS
                                        mysgw: TSF:TDI:TSL
                                        mysgw: TSM:FAIL:RE-INIT
                                        mysgw: TSM:INIT
                                        mysgw: TSM:INIT:TSP OK
                                        mysgw: TSM:INIT:GW MODE
                                        

                                        This is sketch 2.2.0-rc2

                                        /*
                                           Relay with button sketch
                                           modified to work with no uplink
                                           to gateway and try to maintain sync to controller
                                        */
                                        
                                        
                                        #define MY_DEBUG                               // Enable debug prints to serial monitor
                                        
                                        #define MY_RADIO_RFM69
                                        #define RFM69_868MHZ
                                        #define MY_IS_RFM69HW
                                        #define MY_RFM69_NEW_DRIVER
                                        
                                        //#define MY_NODE_ID 203                       // Node id defaults to AUTO (tries to fetch id from controller) 
                                        
                                        #define MY_TRANSPORT_WAIT_READY_MS 5000        //set how long to wait for transport ready in milliseconds
                                        
                                        #define MY_REPEATER_FEATURE                    // Enabled repeater feature for this node
                                        
                                        #include <MySensors.h>
                                        #include <Bounce2.h>
                                        
                                        #define RELAY_PIN  5      // Arduino Digital I/O pin number for relay 
                                        #define BUTTON_PIN  3     // Arduino Digital I/O pin number for button 
                                        #define CHILD_ID 1        // Id of the sensor child
                                        #define RELAY_ON 1
                                        #define RELAY_OFF 0
                                        
                                        Bounce debouncer = Bounce();
                                        int oldValue = 0;
                                        bool uplinkAvailable = true;
                                        bool state = false;
                                        bool requestState;
                                        bool firstStart = true;
                                        unsigned long uplinkCheckTime ;                // holder for uplink checks
                                        unsigned long uplinkCheckPeriod = 30*1000;     // time between checks for uplink in milliseconds
                                        unsigned long returnWait = 1000;               // how long to wait for return from controller in milliseconds.. adjust as needed
                                        unsigned long oldTime = 0;
                                        unsigned long newTime = 0;
                                        MyMessage msg(CHILD_ID, V_STATUS);
                                        
                                        void setup(){
                                          pinMode(BUTTON_PIN, INPUT_PULLUP);           // Setup the button pin, Activate internal pull-up
                                          
                                          debouncer.attach(BUTTON_PIN);                // After setting up the button, setup debouncer
                                          debouncer.interval(5);
                                        
                                          pinMode(RELAY_PIN, OUTPUT);                 // set relay pin in output mode
                                          digitalWrite(RELAY_PIN, RELAY_OFF);         // Make sure relay is off when starting up
                                        }
                                        
                                        void presentation()  {
                                          // Send the sketch version information to the gateway and Controller
                                          sendSketchInfo("1xRelay & Button", "2.2.0-rc2");
                                        
                                          // Register all sensors to gw (they will be created as child devices)
                                          present(CHILD_ID, S_BINARY);
                                        }
                                        
                                        
                                        void loop(){
                                          if (firstStart) {                            // this code is only run once at startup
                                            Serial.println("First run started");
                                            requestTime();                             // get time from controller
                                            wait (returnWait);                         // delay to allow time to return
                                            if (oldTime == 0){                         // check to see if there was a return from the time request
                                              Serial.println("uplink not available");
                                              uplinkAvailable = false;                 // no uplink established
                                              uplinkCheckTime = millis();
                                            }
                                             else{
                                              Serial.println("uplink available");
                                              request( CHILD_ID, V_STATUS);            // get status of switch on controller
                                              wait (returnWait);                       //wait needed to allow request to return from controller
                                              Serial.print("controller state --- ");
                                              Serial.println(requestState);
                                              if (requestState != state) {             // check that controller is corectly showing the current relay state
                                                send(msg.set(state), false);           // notify controller of current state
                                              } 
                                             }   
                                          firstStart = false;                                          // set firstStart flag false to prevent code from running again
                                         }
                                        
                                          debouncer.update();
                                          int value = debouncer.read();                               // Get the update value
                                          if (value != oldValue && value == 0) {                      // check for new button push
                                            state =  !state;                                          // Toggle the state
                                            digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);    // switch the relay to the new state
                                            requestTime();
                                            wait (returnWait);                                               // delay to allow time to return
                                            if (oldTime != newTime){                                  // if times are different then uplink is available
                                              send(msg.set(state), false);
                                              oldTime = newTime;
                                            }
                                            else{                                                    // if times are the same no uplink is available
                                             Serial.println("uplink not available");
                                              uplinkAvailable = false;                                // no uplink available, set flag false
                                              uplinkCheckTime = millis();                             // start the timer from now
                                            }
                                        
                                          }
                                          oldValue = value;
                                         
                                          if (!uplinkAvailable && (millis() - uplinkCheckTime > uplinkCheckPeriod) ) {       // test to see if function should be called
                                            uplinkCheck();                                                                  // call uplink checking function
                                          }
                                        
                                        }
                                        
                                        /*-------------------start of functions--------------------------*/
                                        
                                        void receive(const MyMessage &message) {
                                          if (message.type == V_STATUS) {                                   // check to see if incoming message is for a switch
                                            switch (message.getCommand()) {                                 // message.getCommand will give us the command type of the incomming message
                                              case C_SET:                                                   //message is a set command  from controller to update relay state
                                                state = message.getBool();                                  // get the new state
                                                digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);      // switch relay to new state
                                                uplinkAvailable = true;                                     //  uplink established
                                                /*---- Write some debug info----*/
                                                Serial.print("Incoming change for sensor:");
                                                Serial.print(message.sensor);
                                                Serial.print(", New status: ");
                                                Serial.println(message.getBool());
                                                break;
                                              case C_REQ:                                               // message is a returning request from controller
                                                requestState = message.getBool();                       // update requestState with returning state
                                                break;
                                            }
                                          }
                                        }
                                        
                                        void uplinkCheck() {
                                            requestTime();
                                            wait (returnWait);                       // wait for time return.. this may need to be varied for your system
                                           if (oldTime != newTime){
                                             Serial.println("uplink re-established");
                                             request( CHILD_ID, V_STATUS);
                                             wait (returnWait);                        //wait needed to allow request to return from controller
                                            if (requestState != state) {              // check that controller is corectly showing the current relay state
                                              send(msg.set(state), false);            // notify controller of current state no ack
                                              uplinkAvailable = true;                 //  uplink established
                                              oldTime = newTime;
                                            }
                                          }
                                          uplinkCheckTime = millis();                // reset the checktime
                                          Serial.println("uplinkchecktime reset");
                                        }
                                        
                                        
                                        void receiveTime(unsigned long time)
                                        {
                                          if (firstStart){
                                            oldTime = time;
                                            newTime = time;
                                          }
                                          else{
                                          newTime = time;
                                        }
                                          Serial.print("time received---- " );
                                          Serial.println(time);
                                        }```
                                        zboblamontZ Offline
                                        zboblamontZ Offline
                                        zboblamont
                                        wrote on last edited by
                                        #725

                                        @pepson Let's try the baby steps I referred to earlier.

                                        The current stable version of MySensors is 2.1. Those using 2.2 tend to be experienced people versed in programming and experimenting and problem solving, hence it is not an official release.... yet you are using it and asking for solutions... Hello ?

                                        I am and have been for the last few months using a Pro-Mini with RFM69 as nodes and gateway using 2.1 attached to a Pi3 running Domoticz.... No problems, but slowly coming to understand most of what I am doing...

                                        I am still on baby steps, I don't mind at all, it works.....

                                        1 Reply Last reply
                                        0
                                        • pepsonP Offline
                                          pepsonP Offline
                                          pepson
                                          wrote on last edited by
                                          #726

                                          Ok but i dont know how build Gateway on version 2.1.1 because when i do step by step as show on mysensors.org it default build me version gateway 2.2.0-rc2

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


                                          20

                                          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