simont77 / fakegato-history

Module to emulate Elgato Eve history
MIT License
166 stars 17 forks source link

No history visible in eve app #33

Closed naofireblade closed 6 years ago

naofireblade commented 6 years ago

Hey I tried to add this cool plugin to my weather station extended plugin but I'm facing some problems.

I added your plugin v0.3.8 according to your description but the history data in the eve app is empty.

Do you have any idea what I might be doing wrong?

You can see my implementation here: https://github.com/naofireblade/homebridge-weather-station-extended/blob/master/index.js

I debugged the fakegato-history service and there seems to be history data in it:


displayName: 'Now History',
UUID: 'E863F007-079E-48FF-8F27-9C2605A29F52',
subtype: undefined,
iid: 25,
characteristics:
 [ Characteristic {
     displayName: 'Name',
     UUID: '00000023-0000-1000-8000-0026BB765291',
     iid: 26,
     value: 'Now History',
     eventOnlyCharacteristic: false,
     props: [Object],
     _events: [Object],
     _eventsCount: 1 },
   S2R1Characteristic {
     displayName: 'S2R1',
     UUID: 'E863F116-079E-48FF-8F27-9C2605A29F52',
     iid: 27,
     value: '8AAAAAAAAACdvCMgAwECAgIDAgQAwA8AAAAAAAAAAAEB',
     eventOnlyCharacteristic: false,
     props: [Object],
     _events: [Object],
     _eventsCount: 1 },
   S2R2Characteristic {
     displayName: 'S2R2',
     UUID: 'E863F117-079E-48FF-8F27-9C2605A29F52',
     iid: 28,
     value: null,
     eventOnlyCharacteristic: false,
     props: [Object],
     _events: [Object],
     _eventsCount: 2 },
   S2W1Characteristic {
     displayName: 'S2W1',
     UUID: 'E863F11C-079E-48FF-8F27-9C2605A29F52',
     iid: 29,
     value: null,
     eventOnlyCharacteristic: false,
     props: [Object],
     _events: [Object],
     _eventsCount: 2 },
   S2W2Characteristic {
     displayName: 'S2W2',
     UUID: 'E863F121-079E-48FF-8F27-9C2605A29F52',
     iid: 30,
     value: null,
     eventOnlyCharacteristic: false,
     props: [Object],
     _events: [Object],
     _eventsCount: 2 } ],
optionalCharacteristics: [],
isHiddenService: false,
isPrimaryService: false,
linkedServices: [],
size: 4032,
minutes: 4,
accessoryName: 'Now',
log:
 { [Function: bound ]
   debug: [Function],
   info: [Function],
   warn: [Function],
   error: [Function],
   log: [Function],
   prefix: 'Wetterstation' },
accessoryType116: '03 0102 0202 0302',
accessoryType117: '07',
accessoryType: 'weather',
firstEntry: 0,
lastEntry: 3,
history:
 [ ,
   { time: 1517520157, setRefTime: 1 },
   { temp: 1.9, ressure: 998, humidity: 94, time: 1517520157 },
   { temp: 1.8, ressure: 998, humidity: 94, time: 1517520397 } ],
memorySize: 4032,
usedMemory: 3,
currentEntry: 1,
transfer: false,
setTime: true,
refTime: 539212957,
memoryAddress: 0,
dataStream: '',
IntervalID: null,
_events:
 { 'service-configurationChange': [Function: bound ],
   'characteristic-change': [Function: bound ] },
_eventsCount: 2 }````
simont77 commented 6 years ago

launch homebridge with the -D option and see if Eve is requesting data in the log. In your addEntry call you have “ressure” instead of “pressure”, finally wait some time to let the history fill up, and refresh data in Eve.

naofireblade commented 6 years ago

Thank you for your fast reply. I fixed my typo and added the -D flag. I can see in the log that eve is requesting data. But still no data available. Last night this ran for some hours without any result.

The time on my pi is one hour off (-1) compared to my ios device. Can this cause the problems?

Recent log:

[2/1/2018, 9:59:59 PM] [Wetterstation] **Fakegato-timer: addData  Now { time: 1517522399, temp: 2.1, pressure: 998, humidity: 94 }  immediate:  false
[2/1/2018, 10:00:00 PM] [Wetterstation] **Fakegato-timer: executeCallbacks**
[2/1/2018, 10:00:00 PM] [Wetterstation] First entry Now: 0
[2/1/2018, 10:00:00 PM] [Wetterstation] Last entry Now: 2
[2/1/2018, 10:00:00 PM] [Wetterstation] Used memory Now: 2
[2/1/2018, 10:00:00 PM] [Wetterstation] 116 Now: 000000000000000060c5232003 0102 0202 03020300c00f00000000000000000101
[2/1/2018, 10:00:00 PM] [Wetterstation] **Fakegato-timer: emptyData ** Now
[2/1/2018, 10:00:48 PM] [Wetterstation] Data request Now: 01140100000000
[2/1/2018, 10:00:48 PM] [Wetterstation] Address requested Now: 1
[2/1/2018, 10:00:49 PM] [Wetterstation] Data Now: 1501000000 0100 0000 8160c523200000 0000 00 0000
[2/1/2018, 10:00:49 PM] [Wetterstation] Now Entry: 2, Address: 2
[2/1/2018, 10:00:49 PM] [Wetterstation] Data Now:  10 020000000000000007cc00b824fc26
[2/1/2018, 10:01:22 PM] [Wetterstation] Data request Now: 01140100000000
[2/1/2018, 10:01:22 PM] [Wetterstation] Address requested Now: 1
[2/1/2018, 10:01:22 PM] [Wetterstation] Data Now: 1501000000 0100 0000 8160c523200000 0000 00 0000
[2/1/2018, 10:01:22 PM] [Wetterstation] Now Entry: 2, Address: 2
[2/1/2018, 10:01:22 PM] [Wetterstation] Data Now:  10 020000000000000007cc00b824fc26

[2/1/2018, 10:03:59 PM] [Wetterstation] **Fakegato-timer: addData  Now { time: 1517522639, temp: 2.1, pressure: 998, humidity: 94 }  immediate:  false
[2/1/2018, 10:04:00 PM] [Wetterstation] **Fakegato-timer: executeCallbacks**
[2/1/2018, 10:04:00 PM] [Wetterstation] First entry Now: 0
[2/1/2018, 10:04:00 PM] [Wetterstation] Last entry Now: 3
[2/1/2018, 10:04:00 PM] [Wetterstation] Used memory Now: 3
[2/1/2018, 10:04:00 PM] [Wetterstation] 116 Now: f00000000000000060c5232003 0102 0202 03020400c00f00000000000000000101
[2/1/2018, 10:04:00 PM] [Wetterstation] **Fakegato-timer: emptyData ** Now
[2/1/2018, 10:04:08 PM] [Wetterstation] Data request Now: 01140300000000
[2/1/2018, 10:04:08 PM] [Wetterstation] Address requested Now: 3
[2/1/2018, 10:04:09 PM] [Wetterstation] Now Entry: 3, Address: 3
[2/1/2018, 10:04:09 PM] [Wetterstation] Data Now:  10 03000000f000000007d200b824fc26
simont77 commented 6 years ago

ok, data is downloaded by Eve. Is the time on both iOS device and homebridge server correct? Data in the “future” will not be shown. Other than that, it is possibile that Eve does not like the way in which you expose your services and characteristics. Have a look at my fork of your plugin, I’m using it with no problem since months.

simont77 commented 6 years ago

I see now that your Raspi is not on time: yes that could be a problem.

simont77 commented 6 years ago

[2/1/2018, 10:00:00 PM] [Wetterstation] Fakegato-timer: emptyData Now [2/1/2018, 10:00:48 PM] [Wetterstation] Data request Now: 01140100000000 [2/1/2018, 10:00:48 PM] [Wetterstation] Address requested Now: 1 [2/1/2018, 10:00:49 PM] [Wetterstation] Data Now: 1501000000 0100 0000 8160c523200000 0000 00 0000 [2/1/2018, 10:00:49 PM] [Wetterstation] Now Entry: 2, Address: 2 [2/1/2018, 10:00:49 PM] [Wetterstation] Data Now: 10 020000000000000007cc00b824fc26 [2/1/2018, 10:01:22 PM] [Wetterstation] Data request Now: 01140100000000 [2/1/2018, 10:01:22 PM] [Wetterstation] Address requested Now: 1 [2/1/2018, 10:01:22 PM] [Wetterstation] Data Now: 1501000000 0100 0000 8160c523200000 0000 00 0000 [2/1/2018, 10:01:22 PM] [Wetterstation] Now Entry: 2, Address: 2 [2/1/2018, 10:01:22 PM] [Wetterstation] Data Now: 10 020000000000000007cc00b824fc26

this part is strange: Eve is requesting data it already has, it should not happen

ebaauw commented 6 years ago

I'm also having a hard time to see history in Eve. Not sure if it's related to Eve 3.1, which they just released, or to my inexperience with fakegato. As far as I can tell from the debug log, at least one entry is stored every 10 minutes. I'm only seeing sporadic entries in Eve. I'm using the fakegato version from npm.

The funny thing is my iPhone and iPad show a different history for the same sensor. I've got multiple motion sensors, multiple door sensors, and multiple weather sensors, all exposed to HomeKit the same way, but behaving differently with respect to showing the history.

I support for Eve devices, the BTLE protocol would probably make sure only one client connects to the log concurrently. With WiFi, multiple clients will be connected. Could that be an issue?

As I mentioned on Slack, my Eve door has two additional attributes in the logging service. I checked my Eve Energy plugs, and they have the same two attributes.

When I trigger motion, or open the door and then look at the events (the ... button underneath the graph), Eve consistently shows the event.

simont77 commented 6 years ago

If you are using more than one iOS devices, make sure that you don’t have multiple Eves open at the same time: this is a thing the I suppose would create issue. During test, it is probable that you repeatedly restarted homebridge with the history just started, so Eve will see every time new histories with low entry number, very similar to those that it already has download. This also could crate issue. Delete all the entries in Eve (not one by one, by with the remove all button, this will reset the history), force close Eve e restart it.

Inviato da iPad

Il giorno 02 feb 2018, alle ore 00:08, Erik Baauw notifications@github.com ha scritto:

I'm also having a hard time to see history in Eve. Not sure if it's related to Eve 3.1, which they just released, or to my inexperience with fakegato. As far as I can tell from the debug log, at least one entry is stored every 10 minutes. I'm only seeing sporadic entries in Eve. I'm using the fakegato version from npm.

The funny thing is my iPhone and iPad show a different history for the same sensor. I've got multiple motion sensors, multiple door sensors, and multiple weather sensors, all exposed to HomeKit the same way, but behaving differently with respect to showing the history.

I support for Eve devices, the BTLE protocol would probably make sure only one client connects to the log concurrently. With WiFi, multiple clients will be connected. Could that be an issue?

As I mentioned on Slack, my Eve door has two additional attributes in the logging service. I checked my Eve Energy plugs, and they have the same two attributes.

When I trigger motion, or open the door and then look at the events (the ... button underneath the graph), Eve consistently shows the event.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

simont77 commented 6 years ago

just checked on my installation. I have 0.3.8 as well, running from 22/1. No gap on energy and all data is there. Also tried to delete all history, and everything reload. But I see small gaps in weather (1-2 samples), which unfortunately could also be missing data from my online weather service (seen before), but cannot check.

naofireblade commented 6 years ago

Ok I will fix the time on my pi later on. If that not works I will take your fork and try to swap code to mine until it not works anymore. I hope it's not the platform API. Because that's much more flexible then single accessories.

simont77 commented 6 years ago

Platform should have been fixed by @NorthernMan54 in a previous release. I see that you are using a Temperature service to which you add air pressure and humidity, instead I use the custom Elgato weather service. Eve expects the right history type from the right service and characteristics structure. It has some tolerance, but not too much. We know that a temperature service with only the temperature characteristic is ok, but don’t know if adding also humidity and air pressure makes Eve demanding for the custom weather service.

ebaauw commented 6 years ago

I see that you are using a Temperature service to which you add air pressure and humidity, instead I use the custom Elgato weather service. Eve expects the right history type from the right service and characteristics structure. It has some tolerance, but not too much. We know that a temperature service with only the temperature characteristic is ok, but don’t know if adding also humidity and air pressure makes Eve demanding for the custom weather service.

I'm doing the same, yet so does the Eve Degree, according to the Gist, see: https://gist.github.com/simont77/3f4d4330fa55b83f8ca96388d9004e7d#elgato-eve-degree. It does list an additional custom characteristic (130) for the custom Pressure service (00A), which I don't yet expose, because I don't know what type it should be.

It's not easy for me to combine three REST resources on the Hue bridge (it shows different sensor resources for temperature, humidity, and pressure) into a single weather service, as the current design of homebridge-hue is based on a 1:1 mapping of REST resources to HomeKit services. I could try to expose only temperature in the weather service and put 0's in the log entries for humidity and pressure.

During test, it is probable that you repeatedly restarted homebridge with the history just started, so Eve will see every time new histories with low entry number, very similar to those that it already has download. This also could crate issue. Delete all the entries in Eve (not one by one, by with the remove all button, this will reset the history), force close Eve e restart it.

I left homebridge (test environment) running for some time, adding weather log entries every minute. I deleted Eve from my test iPhone (using a different iCloud account, so I'm sure it's the only device connect to this homebridge), that should take care of any old history in the app. Then I re-installed it and connected it to homebridge. Judging from homebridge's debug output, fakegato returns plenty of entries to Eve, yet Eve only shows 1 or two entries.

[2018-2-2 10:00:44] [Hue] Data request Balcony Air Pressure: 01140100000000
[2018-2-2 10:00:44] [Hue] Address requested Balcony Air Pressure: 1
[2018-2-2 10:00:44] [Hue] Data Balcony Air Pressure: 1501000000 0100 0000 81fe4f24200000 0000 00 0000
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 2, Address: 2
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 3, Address: 3
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 4, Address: 4
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 5, Address: 5
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 6, Address: 6
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 7, Address: 7
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 8, Address: 8
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 9, Address: 9
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 10, Address: 10
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 11, Address: 11
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 12, Address: 12
[2018-2-2 10:00:45] [Hue] Data Balcony Air Pressure:  10 020000001f10000007b603e81cfc26 10 030000001f10000007b603e81cfc26 10 040000001f10000007b603e81cfc26 10 050000001f10000007b603e81cfc26 10 060000001f10000007b603e81cfc26 10 070000001f10000007b603e81cfc26 10 080000001f10000007b603e81cfc26 10 090000001f10000007b603e81cfc26 10 0a0000001f10000007b603e81cfc26 10 0b0000001f10000007b603e81cfc26 10 0c0000001f10000007b603e81cfc26
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 13, Address: 13
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 14, Address: 14
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 15, Address: 15
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 16, Address: 16
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 17, Address: 17
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 18, Address: 18
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 19, Address: 19
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 20, Address: 20
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 21, Address: 21
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 22, Address: 22
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 23, Address: 23
[2018-2-2 10:00:45] [Hue] Data Balcony Air Pressure:  10 0d0000001f10000007b603e81cfc26 10 0e0000001f10000007b603e81cfc26 10 0f0000001f10000007b603e81cfc26 10 100000001f10000007b603e81cfc26 10 110000001f10000007b603e81cfc26 10 120000001f10000007b603e81cfc26 10 130000001f10000007b603e81cfc26 10 140000001f10000007b603e81cfc26 10 150000001f10000007b603e81cfc26 10 160000001f10000007b603e81cfc26 10 170000001f10000007b603e81cfc26
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 24, Address: 24
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 25, Address: 25
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 26, Address: 26
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 27, Address: 27
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 28, Address: 28
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 29, Address: 29
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 30, Address: 30
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 31, Address: 31
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 32, Address: 32
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 33, Address: 33
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 34, Address: 34
[2018-2-2 10:00:45] [Hue] Data Balcony Air Pressure:  10 180000001f10000007b603e81cfc26 10 190000001f10000007b603e81cfc26 10 1a0000001f10000007b603e81cfc26 10 1b0000001f10000007b603e81cfc26 10 1c0000001f10000007b603e81cfc26 10 1d0000001f10000007b603e81cfc26 10 1e0000001f10000007b603e81cfc26 10 1f0000001f10000007b603e81cfc26 10 200000001f10000007b603e81cfc26 10 210000001f10000007b603e81cfc26 10 220000001f10000007b603e81cfc26
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 35, Address: 35
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 36, Address: 36
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 37, Address: 37
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 38, Address: 38
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 39, Address: 39
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 40, Address: 40
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 41, Address: 41
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 42, Address: 42
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 43, Address: 43
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 44, Address: 44
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 45, Address: 45
[2018-2-2 10:00:45] [Hue] Data Balcony Air Pressure:  10 230000001f10000007b603e81cfc26 10 240000001f10000007b603e81cfc26 10 250000001f10000007b603e81cfc26 10 260000001f10000007b603e81cfc26 10 270000001f10000007b603e81cfc26 10 280000001f10000007b603e81cfc26 10 290000001f10000007b603e81cfc26 10 2a0000001f10000007b603e81cfc26 10 2b0000001f10000007b603e81cfc26 10 2c0000001f10000007b603e81cfc26 10 2d0000001f10000007b603e81cfc26
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 46, Address: 46
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 47, Address: 47
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 48, Address: 48
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 49, Address: 49
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 50, Address: 50
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 51, Address: 51
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 52, Address: 52
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 53, Address: 53
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 54, Address: 54
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 55, Address: 55
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 56, Address: 56
[2018-2-2 10:00:45] [Hue] Data Balcony Air Pressure:  10 2e0000001f10000007b603e81cfc26 10 2f0000001f10000007b603e81cfc26 10 300000001f10000007b603e81cfc26 10 310000001f10000007b603e81cfc26 10 320000001f10000007b603e81cfc26 10 330000001f10000007b603e81cfc26 10 340000001f10000007b603e81cfc26 10 350000001f10000007b603e81cfc26 10 360000001f10000007b603e81cfc26 10 370000001f10000007b603e81cfc26 10 380000001f10000007b603e81cfc26
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 57, Address: 57
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 58, Address: 58
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 59, Address: 59
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 60, Address: 60
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 61, Address: 61
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 62, Address: 62
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 63, Address: 63
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 64, Address: 64
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 65, Address: 65
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 66, Address: 66
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 67, Address: 67
[2018-2-2 10:00:45] [Hue] Data Balcony Air Pressure:  10 390000001f10000007b603e81cfc26 10 3a0000001f10000007b603e81cfc26 10 3b0000001f10000007b603e81cfc26 10 3c0000001f10000007b603e81cfc26 10 3d0000001f10000007b603e81cfc26 10 3e0000001f10000007b603e81cfc26 10 3f0000001f10000007b603e81cfc26 10 400000001f10000007b603e81cfc26 10 410000001f10000007b603e81cfc26 10 420000001f10000007b603e81cfc26 10 430000001f10000007b603e81cfc26
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 68, Address: 68
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 69, Address: 69
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 70, Address: 70
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 71, Address: 71
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 72, Address: 72
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 73, Address: 73
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 74, Address: 74
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 75, Address: 75
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 76, Address: 76
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 77, Address: 77
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 78, Address: 78
[2018-2-2 10:00:45] [Hue] Data Balcony Air Pressure:  10 440000001f10000007b603e81cfc26 10 450000001f10000007b603e81cfc26 10 460000001f10000007b603e81cfc26 10 470000001f10000007b603e81cfc26 10 480000001f10000007b603e81cfc26 10 490000001f10000007b603e81cfc26 10 4a0000001f10000007b603e81cfc26 10 4b0000001f10000007b603e81cfc26 10 4c0000001f10000007b603e81cfc26 10 4d0000001f10000007b603e81cfc26 10 4e0000001f10000007b603e81cfc26
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 79, Address: 79
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 80, Address: 80
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 81, Address: 81
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 82, Address: 82
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 83, Address: 83
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 84, Address: 84
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 85, Address: 85
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 86, Address: 86
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 87, Address: 87
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 88, Address: 88
[2018-2-2 10:00:45] [Hue] Balcony Air Pressure Entry: 89, Address: 89
[2018-2-2 10:00:45] [Hue] Data Balcony Air Pressure:  10 4f0000001f10000007b603e81cfc26 10 500000001f10000007b603e81cfc26 10 510000001f10000007b603e81cfc26 10 520000001f10000007b603e81cfc26 10 530000001f10000007b603e81cfc26 10 540000001f10000007b603e81cfc26 10 550000001f10000007b603e81cfc26 10 560000001f10000007b603e81cfc26 10 570000001f10000007b603e81cfc26 10 580000001f10000007b603e81cfc26 10 590000001f10000007b603e81cfc26

I create door and motion log entries when an event happens, and when nothing has happened for 10 minutes. Again, judging by the log, homebridge returns plenty of entries to Eve, but Eve shows none.

[2018-2-2 10:37:47] [Hue] Clock adjust Dining Room Motion: eb682420
[2018-2-2 10:37:47] [Hue] Data request Dining Room Motion: 01143400000000
[2018-2-2 10:37:47] [Hue] Address requested Dining Room Motion: 34
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 52, Address: 52
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 53, Address: 53
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 54, Address: 54
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 55, Address: 55
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 56, Address: 56
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 57, Address: 57
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 58, Address: 58
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 59, Address: 59
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 60, Address: 60
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 61, Address: 61
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 62, Address: 62
[2018-2-2 10:37:47] [Hue] Data Dining Room Motion:  0b 34000000f11600000200 0b 35000000f11600000200 0b 36000000f11600000200 0b 37000000f11600000200 0b 38000000f11600000200 0b 39000000f11600000200 0b 3a000000f11600000200 0b 3b000000f11600000200 0b 3c000000f11600000200 0b 3d000000f11600000200 0b 3e000000f11600000200
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 63, Address: 63
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 64, Address: 64
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 65, Address: 65
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 66, Address: 66
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 67, Address: 67
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 68, Address: 68
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 69, Address: 69
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 70, Address: 70
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 71, Address: 71
[2018-2-2 10:37:47] [Hue] Dining Room Motion Entry: 72, Address: 72
[2018-2-2 10:37:47] [Hue] Data Dining Room Motion:  0b 3f000000f11600000200 0b 40000000f11600000200 0b 41000000f11600000200 0b 42000000f11600000200 0b 43000000f11600000200 0b 44000000f11600000200 0b 45000000f11600000200 0b 46000000f11600000200 0b 47000000f11600000200 0b 48000000f11600000200

When looking at the entries while motion is detected, an entry appears in Eve.

[2018-2-2 10:45:24] [Hue] Dining Room Motion: state changed event
[2018-2-2 10:45:24] [Hue] Dining Room Motion: sensor presence changed from false to true
[2018-2-2 10:45:24] [Hue] Dining Room Motion: set homekit motion from 0 to 1
[2018-2-2 10:45:24] [Hue] Dining Room Motion: add history entry {"time":1517564724,"status":1}
[2018-2-2 10:45:24] [Hue] First entry Dining Room Motion: 0
[2018-2-2 10:45:24] [Hue] Last entry Dining Room Motion: 4c
[2018-2-2 10:45:24] [Hue] Used memory Dining Room Motion: 4c
[2018-2-2 10:45:24] [Hue] 116 Dining Room Motion: b61a000000000000fe4f242002 1301 1c014d00c00f00000000000000000101
[2018-2-2 10:45:24] [Hue] Dining Room Status: state changed event
[2018-2-2 10:45:31] [Hue] Data request Dining Room Motion: 01144c00000000
[2018-2-2 10:45:31] [Hue] Address requested Dining Room Motion: 4c
[2018-2-2 10:45:31] [Hue] Dining Room Motion Entry: 76, Address: 76
[2018-2-2 10:45:31] [Hue] Data Dining Room Motion:  0b 4c000000b61a00000201
...
[2018-2-2 10:45:51] [Hue] Dining Room Motion: state changed event
[2018-2-2 10:45:51] [Hue] Dining Room Motion: sensor presence changed from true to false
[2018-2-2 10:45:51] [Hue] Dining Room Motion: set homekit motion from 1 to 0
[2018-2-2 10:45:51] [Hue] Dining Room Motion: add history entry {"time":1517564751,"status":0}
[2018-2-2 10:45:51] [Hue] First entry Dining Room Motion: 0
[2018-2-2 10:45:51] [Hue] Last entry Dining Room Motion: 4d
[2018-2-2 10:45:51] [Hue] Used memory Dining Room Motion: 4d
[2018-2-2 10:45:51] [Hue] 116 Dining Room Motion: d11a000000000000fe4f242002 1301 1c014e00c00f00000000000000000101
simont77 commented 6 years ago

Some hints:

simont77 commented 6 years ago

@ebaauw in your Weather log I see strange data, many entries (if not all) have the same time (0x1f100000 i.e. 0x101f after the reftime). In this case Eve will show only one point, but the full list if you export to xls

ebaauw commented 6 years ago

Thanks, @simont77. I hadn't even noticed the export to Excel function. Indeed multiple entries show the same time. Lemme check what I've done wrong.

ebaauw commented 6 years ago

In door and motion you should expose also the additional characteristics.

Indeed, exposing Eve's custom Duration (12D) and Sensitivity (120) characteristics on the Motion Sensor service instead of my own custom characteristics seems to do the trick for the Motion sensor. The Hue bridge uses different values than the Eve devices, but nothing that cannot be handled through some additional mapping between Hue bridge and (Eve) HomeKit values. The Door sensor also works, exposing Times Opened (129), Last Activation (11A), Open Duration (118) and Closed Duration (119), and Reset Total (112) on the logging service.

Eve Degree may have a different signature for history, so it may well be that temp+press+hum need a weather service and not a temp service. I don't have history signature for Degree.

I don't think it has. Eve is just very particular about the characteristics provided in combination with the logging service, as you mentioned before. It requires TemperatureDisplayUnits on the TemperatureSensor service and the custom Elevation (130) characteristic for the custom AirPressure Service (00A). Elevation is used to calibrate the Air Pressure - Eve shows it under the accessory details, like the Temperature Display Units. I think Elevation is an INT16 - is there any way to hack HMCatalog to verify this? The unit is meters. Eve also shows a Detect button for the Elevation. It asks for permission to access the current location when you press it, so it probably uses the GPS for detection. I've currently defined Elevation as read-only, so cannot yet test whether it works.

I'll leave my test homebridge running for a couple of hours, but so far it's looking good.

in your Weather log I see strange data, many entries (if not all) have the same time (0x1f100000 i.e. 0x101f after the reftime). In this case Eve will show only one point, but the full list if you export to xls

I have no clue what caused this, especially since most entries show the date of the most recent entry. I can only theorise it was the mismatch between logging service and the characteristics of the sensor services. It seems to be OK now.

naofireblade commented 6 years ago

After hours of comparing your weather station code with mine, swapping parts and testing, I found the problem. It's the / in the manufactor characteristic of my information service "github.com/naofireblade".

Now I just must find a way to force homebridge to update this information without removing and readding it to homekit.

simont77 commented 6 years ago

...that’s new! We already knew that Eve does not like “:” in the serial number, but likes “-“. I must admit that I was very lucky in getting it working at the beginning.

naofireblade commented 6 years ago

Yeah "." is also fine. Can you add the problematic characters in the readme? That would help others a lot.

simont77 commented 6 years ago

...uhm, maybe the problematic character was / also for the serial number

naofireblade commented 6 years ago

Did you found a solution to fix that without readding homebridge to homekit?

simont77 commented 6 years ago

unfortunately not, it was @NorthernMan54 that had that problem with /. As I said, I was lucky. I updated the readme

ebaauw commented 6 years ago

My long-running test seems to go fine now. Published homebridge-hue v0.5.71 and installed it to my “production” environment.

Thanks for the info on the ‘/‘ in the SerialNumber! I don’t think I would have figured that out myself.

It looks like the weather logging also works when the Air Pressure Sensor service is missing. I still write 0 values for pressure, but the accessory only has Temperature Sensor and Humidity Sensor services. You see two lines in the Rooms view instead of one, and in the accessory details Eve doesn’t conclude that it’s an Eve Degree device.