How to keep a beacon alive? [AIKO Issues]

User avatar
whmoorejr
Posts: 844
Joined: Tue Jan 15, 2013 11:23 am
Location: Houston, TX

How to keep a beacon alive? [AIKO Issues]

Post by whmoorejr »

EDIT 2/15/21: After some research, there appears to be a change with AIKO from their previous generation of tags and the current. It may be hardware, it may be software... that part is still uncertain. Older tags (from 2+/1 years ago) run the same firmware as the current generation of tags.... however, the newer tags which also need to use the newer ZUS app (versus the former Aiko app) do not stay on. This is from tests from two different people each with a new generation AIKO tag. Nonda (the people that make AIKO) are sending me a new tag to play with and I'll keep testing while I wait for other tags from my Amazon cart to arrive.



I'm off to a good start with figuring out this plugin (Day 2 of tinkering) I'm starting with one pi and one beacon. I went with the AIKO. The part that's messing me up is trying to figure out how to keep it alive.
Press button on AIKO, it wakes up and my new saved device "My AIKO Tag" status changes to "up". <-- good
30 minutes later +/-, AIKO status changes from "up" to "down", followed by "expired".
AIKO stays "expired" until I press the button on the AIKO again.

I'm hypothesizing that there is a power saver option somewhere, but unfortunately I think it is an app controlled option and the app is no longer in the apple App Store. :(

anyone have tips or pointers on how to keep this thing alive?
Last edited by whmoorejr on Mon Feb 15, 2021 11:26 am, edited 1 time in total.
Bill
My Plugin: My People
siclark
Posts: 2356
Joined: Tue Jun 13, 2017 5:08 am
Location: UK

Re: How to keep a beacon alive?

Post by siclark »

You might have picked up the MAC address for the button not the actual device.
Try to see if any other addresses could be it.
User avatar
whmoorejr
Posts: 844
Joined: Tue Jan 15, 2013 11:23 am
Location: Houston, TX

Re: How to keep a beacon alive?

Post by whmoorejr »

siclark wrote:You might have picked up the MAC address for the button not the actual device.
Try to see if any other addresses could be it.
Don't think so.
Test 1:
  • I put the AIKO next to the Pi. Deleted some random beacons, delete history, send config. Accept set to <-40. Nothing new popped up. (at 1meter, the AIKO is at -35 +/-.
    Changed Accept to <-50, nothing new.
    Changed Accept to <-60 and 8 new beacons show up. Next greatest signal is at -54
    Moved the AIKO from 1M to 15M away.
    "My AKIO Tag" Device -35 --> -75
    Out of the other 8... 2 expired while moving the tag. Three have a stronger signal at 15M, 1 is an "Apple" device, and the last one's signal is the same.
Test 2:
  • While completing Test1, the "My AIKO Tag" went down and expired itself. Moved the tag from 15M to >1M.... (about 2 inches from the rPi)
    Out of the 5 remaining candidates, the strongest signal is -57.
Test3:
  • At 2 inches from the rPi, after pushing the button, the "My AIKIO Tag" goes to -18 +/-
    The remaining candidates had no change in signal strength.
The device I previously saved, "My AIKO Tag" is the only thing that's popped up that had vendor info pre-populated once the rPi found it, "NO NDA Inc". When awake (up) it seems to behave properly. I built a quick control page to view it's device states and watch it from my phone while I walked around the house and out into the yard with it. (Just to watch the power, distance and x/y fluctuate.).
Before Pushing the button
Screen Shot 2021-02-08 at 6.10.21 PM.png
Screen Shot 2021-02-08 at 6.10.21 PM.png (98.69 KiB) Viewed 4991 times
After Pushing the button
Screen Shot 2021-02-08 at 6.11.45 PM.png
Screen Shot 2021-02-08 at 6.11.45 PM.png (98.31 KiB) Viewed 4991 times
Bill
My Plugin: My People
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: How to keep a beacon alive?

Post by kw123 »

You need to activate the Aiko with the iPhone app
Then switch off the app.

If it is still linked to the iPhone it will not send any signals.

And you can also use detect new beacons in menu to check which beacons are active.

Karl


Sent from my iPhone using Tapatalk
User avatar
whmoorejr
Posts: 844
Joined: Tue Jan 15, 2013 11:23 am
Location: Houston, TX

Re: How to keep a beacon alive?

Post by whmoorejr »

kw123 wrote:You need to activate the Aiko with the iPhone app
Do you know of an alternative app? There are no Aiko or Nonda apps on the App Store... they were all pulled off a few months ago. (I found that out today when trying to find the app.)
Bill
My Plugin: My People
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: How to keep a beacon alive?

Post by kw123 »

Try if detect new beacons finds it


Sent from my iPhone using Tapatalk
User avatar
whmoorejr
Posts: 844
Joined: Tue Jan 15, 2013 11:23 am
Location: Houston, TX

Re: How to keep a beacon alive?

Post by whmoorejr »

The Nonda ZUS Car Key Finder will work with the Aiko beacon. I added it, made it beep, made it call my phone, then closed out the app and it (The device I made previously, "My AIKO Tag") re-appeared as "up"....

I'll know in 30 minutes or so if it stays up now.
Bill
My Plugin: My People
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: How to keep a beacon alive?

Post by kw123 »

You should know in 5 minutes.


Sent from my iPhone using Tapatalk
User avatar
whmoorejr
Posts: 844
Joined: Tue Jan 15, 2013 11:23 am
Location: Houston, TX

Re: How to keep a beacon alive?

Post by whmoorejr »

Bad Akio?
I just got the same thing... it went down then expired after 30 minutes. (I'm using some triggers with pushover to track the device's states)
Attachments
IMG_0109.PNG
IMG_0109.PNG (413.2 KiB) Viewed 4942 times
Bill
My Plugin: My People
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: How to keep a beacon alive?

Post by kw123 »

Can you do menu / track specific beacon
And select the Aiko.
Then check plugin.log


Sent from my iPhone using Tapatalk
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: How to keep a beacon alive?

Post by kw123 »

...and in device edit set accept all packages to on


Sent from my iPhone using Tapatalk
User avatar
whmoorejr
Posts: 844
Joined: Tue Jan 15, 2013 11:23 am
Location: Houston, TX

Re: How to keep a beacon alive?

Post by whmoorejr »

kw123 wrote:Can you do menu / track specific beacon
In Indigo Log, Returns:

Code: Select all

iBeacon Error                  Error in plugin execution GetUiDynamicList:

Traceback (most recent call last):
TypeError: UI dynamic list function must return a list of id/name pairs, or a list of strings

   piBeacon Error                  Line 11664 has error=Unterminated string starting at: line 1 column 111 (char 110)
   piBeacon Error                  {"pi":"1","program":"beaconloop","ipAddress":"192.168.1.87","ts":{"tz":"CDT","time":1612838759.36},"trackMac":"45:46.1-START   24:DA:11:26:37:F2\n \nTRACKMAC started on pi#:1, for MAC# 24:DA:11:26:37:F2, options: raw:False, filter:><
And select the Aiko. - Dynamic list didn't populate it, manually entered the MAC address.
Then check plugin.log

Code: Select all

2021-02-08 20:45:44 sending command to rPi at 192.168.1.87; port: 9999; cmd:trackMac 
2021-02-08 20:45:59.478	ERROR       	Plugin.variableUpdated           Line 11664 has error=Unterminated string starting at: line 1 column 111 (char 110)
2021-02-08 20:45:59.478	ERROR       	Plugin.variableUpdated           {"pi":"1","program":"beaconloop","ipAddress":"192.168.1.87","ts":{"tz":"CDT","time":1612838759.36},"trackMac":"45:46.1-START   24:DA:11:26:37:F2\n \nTRACKMAC started on pi#:1, for MAC# 24:DA:11:26:37:F2, options: raw:False, filter:><
...and in device edit set accept all packages to on . Is that the beacon message types? I have that set to "ALL message types".
Bill
My Plugin: My People
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: How to keep a beacon alive?

Post by kw123 »

I understand the issue:

1.config set:
Screen Shot 2021-02-08 at 22.25.58.png
Screen Shot 2021-02-08 at 22.25.58.png (7.51 KiB) Viewed 4889 times
and
Screen Shot 2021-02-08 at 22.27.21.png
Screen Shot 2021-02-08 at 22.27.21.png (11.09 KiB) Viewed 4889 times
2. also in rpi device edit
Screen Shot 2021-02-08 at 22.28.20.png
Screen Shot 2021-02-08 at 22.28.20.png (17.66 KiB) Viewed 4889 times
3. and in beacon device edit set accept all packages:
Screen Shot 2021-02-08 at 22.29.12.png
Screen Shot 2021-02-08 at 22.29.12.png (30 KiB) Viewed 4889 times
1. the "old" method of using python socket bluetooth com on the rpi does not see all packages. That is why I added the "hcidump" method. And some of the beacons send only the "name" packages, that are not recognized by the rpi-python-bluetooth socket setup. Only with hcidump, hence they might not show up, only when pressing the button the beacons send all kinds of packages.
2. the track mac on rpi does not work with rpi to indigo http com. Only with rpi -> indigo tcpip-socket com. The data send has too many escape characters and is too long to be send over HTTP.
(and I meant in my last suggestion:
Screen Shot 2021-02-08 at 22.34.43.png
Screen Shot 2021-02-08 at 22.34.43.png (27.61 KiB) Viewed 4887 times
in enable special logging) not the track mac on RPI.

so set
1. bluetooth comm to hcidump in config and rpi
2. rpi -> indigo use socket comm in config
3. accept all packages in beacon
then the aiko should work fine.

I know it sounds complicated, but this plugin has really a lot of options and wants to accommodate all kinds of configs.

I should make those default -- next release

Karl
Attachments
Screen Shot 2021-02-08 at 22.29.12.png
Screen Shot 2021-02-08 at 22.29.12.png (30 KiB) Viewed 4889 times
User avatar
whmoorejr
Posts: 844
Joined: Tue Jan 15, 2013 11:23 am
Location: Houston, TX

Re: How to keep a beacon alive?

Post by whmoorejr »

1. bluetooth comm to hcidump in config and rpi <-- that was my previous setting, no change needed.
2. rpi -> indigo use socket comm in config. <-- I made this change
3. accept all packages in beacon. <-- this was my previous setting, no change needed.
then the aiko should work fine.

Still the Aiko goes down after +/- 30 minutes... Using some of the special log stuff:

From Aiko print device info:

Code: Select all

09:06:50 printing dev info for    -My AIKO Tag/1042551215 -------------------------------
09:06:50 props:                   -
com.karlwachs.piBeacon : (dict)
     AllowOnStateChange : false (bool)
     AllowSensorValueChange : false (bool)
     IgnoreBeaconForClosestToRPI : 0 (string)
     MSG : OK (string)
     SupportsBatteryLevel : true (bool)
     SupportsOnState : true (bool)
     SupportsSensorValue : false (bool)
     SupportsStatusRequest : false (bool)
     address : 24:DA:11:26:37:F2 (string)
     batteryLevelCheckhours : 4/12/20 (string)
     batteryLevelUUID : gatttool (string)
     beaconBeepUUID : gatttool (string)
     beaconTxPower : -41 (string)
     created : 0 (integer)
     enableBroadCastEvents : 0 (string)
     expirationTime : 90 (integer)
     fastDown : 50 (string)
     groupEnable0 : true (bool)
     groupEnable1 : true (bool)
     groupEnable2 : true (bool)
     groupEnable3 : true (bool)
     groupEnable4 : true (bool)
     groupName0 : Family (string)
     groupName1 : Guests (string)
     groupName2 : Visitors (string)
     groupName3 : Devices (string)
     groupName4 : Other3 (string)
     ignore : 0 (integer)
     isBeaconDevice : true (bool)
     memberOfFamily : false (bool)
     memberOfGuests : false (bool)
     memberOfOther1 : false (bool)
     memberOfOther2 : true (bool)
     memberOfOther3 : false (bool)
     minSignalOff : -999 (string)
     minSignalOn : -999 (string)
     newMACNumber : 24:DA:11:26:37:F2 (string)
     note : beacon (string)
     showBeaconNickName : AIKIO Tag (string)
     showBeaconOnMap : smallCircle (string)
     showBeaconSymbolAlpha : 0.5 (string)
     showBeaconSymbolColor : #00FFFF (string)
     showBeaconSymbolType : ,u (string)
     showBeaconSymboluseErrorSize : 1 (string)
     showBeaconTextColor : #0000FF (string)
     showSpecialParameters : true (bool)
     signalDelta : 6 (string)
     typeOfBeacon : Nonda_Aiko (string)
     updateSignalValuesSeconds : 0 (integer)
     useOnlyPrioTagMessageTypes : 0 (string)
     version : Nonda_Aiko (string)
09:06:50 states:                  -
States : (dict)
     Pi_00_Distance : 99999.0 (real)
     Pi_00_Signal : -999 (integer)
     Pi_00_Time :  (string)
     Pi_01_Distance : 0.0 (real)
     Pi_01_Signal : -13 (integer)
     Pi_01_Time : 2021-02-09 09:06:33 (string) /...
When Aiko went down:

Code: Select all

2021-02-09 09:26:27 sel.beacon logging: CheckPeriod -4- :24:DA:11:26:37:F2; status: up;  deltaT: 30.1961970329
2021-02-09 09:26:36 sel.beacon logging: CheckPeriod -0- :24:DA:11:26:37:F2;
2021-02-09 09:26:36 sel.beacon logging: CheckPeriod -1- :24:DA:11:26:37:F2; passed pause
2021-02-09 09:26:36 sel.beacon logging: CheckPeriod -2- :24:DA:11:26:37:F2; passed ignore
2021-02-09 09:26:36 sel.beacon logging: CheckPeriod -4- :24:DA:11:26:37:F2; status: up;  deltaT: 39.2224290371
2021-02-09 09:26:37 sel.beacon logging: newMSG    -1  - :24:DA:11:26:37:F2; pi#=1 ; msg{u'count': 1, u'batteryLevel': u'', u'iBeacon': u'', u'txPower': -20, u'mac': u'24:DA:11:26:37:F2', u'mfg_info': u'AIKO', u'reason': u'fastDown', u'rssi': -999, u'typeOfBeacon': u'Nonda_Aiko', u'TLMenabled': False}
2021-02-09 09:26:37 sel.beacon logging: newMSG    -1a - :24:DA:11:26:37:F2; after checkBeaconDictIfok
2021-02-09 09:26:37 sel.beacon logging: pass 1          :24:DA:11:26:37:F2; getBeaconDeviceAndCheck
2021-02-09 09:26:37 sel.beacon logging: pass 2          :24:DA:11:26:37:F2; getBeaconDeviceAndCheck
2021-02-09 09:26:37 sel.beacon logging: newMSG    -1b - :24:DA:11:26:37:F2; after getBeaconDeviceAndCheck
2021-02-09 09:26:37 sel.beacon logging: newMSG-999-1  - :24:DA:11:26:37:F2 -999 received, rpi still w signal:[]
2021-02-09 09:26:37 sel.beacon logging: newMSG-999-2  - :24:DA:11:26:37:F2;  set status to down
newStates:States : (dict)     Pi_00_Distance : 99999.0 (real)     Pi_00_Signal : -999 (integer)     Pi_00_Time :  (string)     Pi_01_Distance : 0.6 (real)     Pi_01_Signal : -999 (integer)     Pi_01_Time : 2021-02-09 09:25:57 (string)   
Then I captured the button press to watch it come back to "on":

Code: Select all

2021-02-09 10:03:44 sel.beacon logging: CheckPeriod -0- :24:DA:11:26:37:F2;
2021-02-09 10:03:44 sel.beacon logging: CheckPeriod -1- :24:DA:11:26:37:F2; passed pause
2021-02-09 10:03:44 sel.beacon logging: CheckPeriod -2- :24:DA:11:26:37:F2; passed ignore
2021-02-09 10:03:44 sel.beacon logging: CheckPeriod -4- :24:DA:11:26:37:F2; status: expired;  deltaT: 2308.90011573
2021-02-09 10:03:48 creating new beacon,  received from pi #  1/B8:27:EB:6B:8D:27:   beacon-73:C3:7C:FC:9A:26  typeOfBeacon: 
2021-02-09 10:03:49 new beacon logging: created:10:03:48 73:C3:7C:FC:9A:26 beacon_73:C3:7C:FC:9A:26                            pi#=1 rssi=-34.0  txPower=99
2021-02-09 10:03:49 new.beacon logging: newMSG     -2- :73:C3:7C:FC:9A:26;  beacon_73:C3:7C:FC:9A:26 pi#=1;  #Msgs=1   rssi= -34.0                      txPow=    99 cr=2021-02-09 10:03:48 typeOfBeacon=
2021-02-09 10:03:49 sel.beacon logging: newMSG    -1  - :24:DA:11:26:37:F2; pi#=1 ; msg{u'count': 1, u'batteryLevel': u'', u'iBeacon': u'', u'txPower': 8, u'mac': u'24:DA:11:26:37:F2', u'mfg_info': u'', u'reason': u'fastDown_back', u'rssi': -28, u'typeOfBeacon': u'Nonda_Aiko', u'TLMenabled': False}
2021-02-09 10:03:49 sel.beacon logging: newMSG    -1a - :24:DA:11:26:37:F2; after checkBeaconDictIfok
2021-02-09 10:03:49 sel.beacon logging: pass 1          :24:DA:11:26:37:F2; getBeaconDeviceAndCheck
2021-02-09 10:03:49 sel.beacon logging: pass 2          :24:DA:11:26:37:F2; getBeaconDeviceAndCheck
2021-02-09 10:03:49 sel.beacon logging: newMSG    -1b - :24:DA:11:26:37:F2; after getBeaconDeviceAndCheck
2021-02-09 10:03:49 sel.beacon logging: newMSG    up  - :24:DA:11:26:37:F2; set status up, rssi:-28.0
2021-02-09 10:03:49 sel.beacon logging: ClostR 1        :24:DA:11:26:37:F2; currClosestRPIL:-1, newClosestRPI:-1,  newMinDist:99999.0   currMinDist:99999.0
2021-02-09 10:03:49 sel.beacon logging: ClostR 3        :24:DA:11:26:37:F2; currClosestRPI:-1, newClosestRPI:1,  newMinDist:0.574712643678   currMinDist:99999.0
2021-02-09 10:03:49 sel.beacon logging: newMSG    -3  - :24:DA:11:26:37:F2; bf cars
2021-02-09 10:03:49 sel.beacon logging: newMSG    -4  - :24:DA:11:26:37:F2; bf calc dist
2021-02-09 10:03:49 sel.beacon logging: newMSG    -5  - :24:DA:11:26:37:F2; passed
2021-02-09 10:03:50 sel.beacon logging: newMSG    -1  - :24:DA:11:26:37:F2; pi#=1 ; msg{u'count': 20, u'batteryLevel': u'', u'iBeacon': u'', u'txPower': -20, u'mac': u'24:DA:11:26:37:F2', u'mfg_info': u'AIKO', u'reason': u'delta_signal', u'rssi': -16, u'typeOfBeacon': u'Nonda_Aiko', u'TLMenabled': False}
Is there any other log thing I could print out that might show where I messed up with my setup?
Bill
My Plugin: My People
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: How to keep a beacon alive?

Post by kw123 »

I am busy until this afternoon, can we do a zoom or any desk session?

Karl
Post Reply

Return to “piBeacon”