Hi Stuart,
I did do this, but will try again and report back.
Kr,
Hans
Hi Stuart,
I did do this, but will try again and report back.
Kr,
Hans
Hi Stuart,
That did get it working, I must have done something wrong in the initial setup. As I started it from the beginning (making new project etc), I canât track down what it was exactly i did wrong, but I suspect the filename to be wrong, Gcal3.json iso GCal3.json (I it case sensitive?)
Anyway, it is working now, iâll be back experimenting
Thanks for your help!
Kr,
Hans
[quote=âhansibal, post:42, topic:182612â]Hi Stuart,
That did get it working, I must have done something wrong in the initial setup. As I started it from the beginning (making new project etc), I canât track down what it was exactly i did wrong, but I suspect the filename to be wrong, Gcal3.json iso GCal3.json (I it case sensitive?)
Anyway, it is working now, iâll be back experimenting
Thanks for your help!
Kr,
Hans[/quote]
Yep - case sensitive ! gets me all the time âŠ
Glad you have it working !!
Edit: Stuart, I missed a step is the process, my calendar now populates in the calender tab however the app window on the dash board isnât showing the next event in my calendar and doesnât trip on the exact keyword.
Here is the log dealing with the gcal.
09 08/30/14 23:13:58.612 JobHandler_LuaUPnP::Run device 108 GCal3 Sensor room 0 type urn:schemas-srs-com:device:GCal:3 id parent 0/0xd36398 upnp: 0 <0x2ae29000>
50 08/30/14 23:14:12.574 luup_log:108: GCal3 gc_V 0.6.2:This is device # 108 <0x2b75d680>
06 08/30/14 23:14:12.575 Device_Variable::m_szValue_set device: 108 service: urn:micasaverde-com:serviceId:SecuritySensor1 variable: Armed was: 1 now: 1 #hooks: 0 upnp: 0 v:0xd79fc8/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.576 Device_Variable::m_szValue_set device: 108 service: urn:micasaverde-com:serviceId:SecuritySensor1 variable: Tripped was: 0 now: 0 #hooks: 0 upnp: 0 v:0xd79248/NONE duplicate:0 <0x2b75d680>
06 08/30/14 23:14:12.577 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_TrippedEvent was: now: #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.578 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_TrippedID was: now: #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.578 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_Value was: now: #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.578 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_NextEvent was: Successfully Initialized now: Successfully Initialized #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.579 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_NextEventTime was: now: #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.579 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_Interval was: 180 now: 180 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.579 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_StartDelta was: 0 now: 0 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.580 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_EndDelta was: 0 now: 0 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.580 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_Keyword was: now: #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.581 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_exactKeyword was: true now: true #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.581 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_ignoreKeyword was: false now: false #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.581 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_triggerNoKeyword was: false now: false #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.581 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_ignoreAllDayEvent was: false now: false #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.582 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_retrip was: true now: true #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.582 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_CalendarID was: kiethrumbold@gmail.com now: kiethrumbold@gmail.com #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.582 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_jsonEvents was: [] now: [] #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.583 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_lastCheck was: 2014-08-30T23:10:22 now: 2014-08-30T23:10:22 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.583 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_nextCheck was: 2014-08-30T23:01:02 now: 2014-08-30T23:01:02 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.584 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_debug was: 3 now: 3 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.584 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_displaystatus was: 0 now: 0 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
50 08/30/14 23:14:12.584 luup_log:108: GCal3 gc_V 0.6.2:GCal3 gc_V 0.6.2:Variables initialized ⊠<0x2b75d680>
50 08/30/14 23:14:12.602 luup_log:108: GCal3 gc_V 0.6.2:Command ls /usr/lib/lua/googlejwt.sh returned 0 <0x2b75d680>
50 08/30/14 23:14:12.603 luup_log:108: GCal3 gc_V 0.6.2:/usr/lib/lua/googlejwt.sh already exists <0x2b75d680>
50 08/30/14 23:14:12.622 luup_log:108: GCal3 gc_V 0.6.2:Command ls /usr/lib/lua/json.lua returned 0 <0x2b75d680>
50 08/30/14 23:14:12.622 luup_log:108: GCal3 gc_V 0.6.2:/usr/lib/lua/json.lua already exists <0x2b75d680>
50 08/30/14 23:14:12.622 luup_log:108: GCal3 gc_V 0.6.2:Function: checkforcredentials <0x2b75d680>
50 08/30/14 23:14:12.641 luup_log:108: GCal3 gc_V 0.6.2:Command ls /etc/cmh-ludl/GCal3.json.lzo returned 256 <0x2b75d680>
50 08/30/14 23:14:12.642 luup_log:108: GCal3 gc_V 0.6.2:GCal3 gc_V 0.6.2:Timezone is -4 hrs and -0 min <0x2b75d680>
50 08/30/14 23:14:12.642 luup_log:108: GCal3 gc_V 0.6.2:GCal3 gc_V 0.6.2:Running Plugin ⊠<0x2b75d680>
06 08/30/14 23:14:12.643 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_NextEvent was: Successfully Initialized now: Successfully Initialized #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
06 08/30/14 23:14:12.643 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_NextEventTime was: now: #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
50 08/30/14 23:14:14.103 luup_log:61: VeraAlert:61:ProfileInit:Assoc:textalert with:Pushover <0x2c75d680>
06 08/30/14 23:14:14.104 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_lastCheck was: 2014-08-30T23:10:22 now: 2014-08-30T23:14:14 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:0 <0x2df5d680>
06 08/30/14 23:14:14.105 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_jsonEvents was: [] now: [] #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2df5d680>
50 08/30/14 23:14:14.105 luup_log:108: GCal3 gc_V 0.6.2:Checking semaphore <0x2df5d680>
50 08/30/14 23:14:14.106 luup_log:108: GCal3 gc_V 0.6.2:Semaphore file returned nil <0x2df5d680>
01 08/30/14 23:14:14.106 LuaInterface::CallFunction_Timer-5 function GCalMain failed [string âlocal GCAL_VERSION = âV 0.6.2ââŠâ]:101: /etc/cmh-ludl/GCal3/GCal3.sem: No such file or directory <0x2df5d680>
@Kieth
There looks to be two problems. The first is that there does not seem to be any keyword specified. gc_Keyword is âblankâ
08/30/14 23:14:12.580 Device_Variable::m_szValue_set device: 108 service: urn:srs-com:serviceId:GCalIII variable: gc_Keyword was: now: #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:1 <0x2b75d680>
But before going any further - this error needs to be resolved
LuaInterface::CallFunction_Timer-5 function GCalMain failed [string âlocal GCAL_VERSION = âV 0.6.2ââŠâ]:101: /etc/cmh-ludl/GCal3/GCal3.sem: No such file or directory <0x2df5d680>
This looks identical to the problem that hansibal had.
Try uploading the GCal3.json file again and capturing the log. The initial credential setup creates the /etc/cmh-ludl/GCal3 directory and that does not exist (as well as the other files that are placed there during the credentials setup).
Thanks for pointing me in the right direction. I did figure out what the issue was. When i renamed the json file, I renamed it with the extension therefore getting a file named GCal3.json.json. Once i corrected that everything else worked great.
Thanks again its a great app.
Hi
Just loaded the updated LUA file. Good news is, gc_jsonevents now shows something:
[{âeventEndâ:1409490000,âeventStartâ:1409439600,âeventNameâ:âVACATIONâ},{âeventEndâ:1409521200,âeventStartâ:1409517600,âeventNameâ:âVACATIONâ}]
It trips (though it appeared to do that previously), however the PLEG is still not detecting it using the following as an input:
GcalVacation GCal3 has event with name: VACATION
Any ideas?
@Stuart: Could it be trailing spaces before/after the event name why PLEG does not pick it up?
Possible if there are spaces in the PLEG condition. I trim whitespace within GCal3 though.
I will take a closer look tomorrow as there are some issues on the vera side around this especially with notifications
Hello,
I have found my problem. In the file âSetting up a Google V3 API Service Account.pdfâ page 3 line 2 the new name set is âCGal3.jsonâ but the real name for the file is âGCal3.jsonâ( C and G is invert).
thanks for this plugin.
babas
[quote=âbabas, post:50, topic:182612â]Hello,
I have found my problem. In the file âSetting up a Google V3 API Service Account.pdfâ page 3 line 2 the new name set is âCGal3.jsonâ but the real name for the file is âGCal3.jsonâ( C and G is invert).
thanks for this plugin.
babas[/quote]
Thanks ! I have updated the document
I donât know if Iâm on the good topic.
I use GCAL v1 for 2 years and it works well. The plugin is triggered and a scene will be started. For example : âWake upâ on 7:00 (to 7:01) on my Google calendar. The scene âWake upâ will start at 7:00 when âA Calendar Event is Activeâ with âWake upâ as keyword.
I installed the GCAL3 last week and I donât understand the 5th point in the usage notes :
If set to false (recommended) then the scene can be specified to react to ?An event has specified name? this does not technically trigger the plugin ? but the event is ?active?.
gc_Keyword = Wake Up;Away
gc_exactKeyword = true
gc_ignoreKeyword = false
gc_triggerNoKeyword = false
gc_ignoreAllDayEvent = false
but the result is the same. How can I trigger a scene with a GCAL3 device ?
Sorry for my english and thanks for your answers.
[quote=âtyfoon, post:22, topic:182612â]Hi,
Moving from the original Gcal to Gcal3 and having some issues with PLEG & GCAL3 I donât get.
Iâm reading the gc_Trippedevent variable and using this value as a condition. See below for the PLEG logic.
What I donât get is that all three conditions are true.
Please note that the calendar items do not overlap so only one should be true.
Device Properties
Name Device Name Device Variable Value Last Change Previous Change
GcalEvent GCal3 Sensor gc_TrippedEvent KIDSWEG 2014-08-28 06:27:21.102 2014-08-28 06:26:21.789
Conditions
TempKidsWeg No GcalEvent==âKIDSWEGâ true 2014-08-26 20:03:18.346 2014-08-26 20:01:51.372
TempKidsWarm No GcalEvent==âKIDSWARMâ true 2014-08-26 20:09:23.507 0
TempKidsSlapen No GcalEvent==âKIDSSLAPENâ true 2014-08-26 20:09:23.510 0[/quote]
I did some tests as follows:
3 events each of 5 minutes, one after the other; TEST1, TEST2 TEST3.
Attributes and results per the attached. Seems to be working as it should. I.e. the three events last being seen as true by PLEG each separated by 5 minutes. Is your setup working now ?
[quote=âlwinter, post:52, topic:182612â]I donât know if Iâm on the good topic.
I use GCAL v1 for 2 years and it works well. The plugin is triggered and a scene will be started. For example : âWake upâ on 7:00 (to 7:01) on my Google calendar. The scene âWake upâ will start at 7:00 when âA Calendar Event is Activeâ with âWake upâ as keyword.
I installed the GCAL3 last week and I donât understand the 5th point in the usage notes :
If set to false (recommended) then the scene can be specified to react to ?An event has specified name? this does not technically trigger the plugin ? but the event is ?active?.
gc_Keyword = Wake Up;Away
gc_exactKeyword = true
gc_ignoreKeyword = false
gc_triggerNoKeyword = false
gc_ignoreAllDayEvent = false
but the result is the same. How can I trigger a scene with a GCAL3 device ?
Sorry for my english and thanks for your answers.[/quote]
The one minute delay is normal. I took a very conservative approach to provide a delay between the completion of one event and the start of the next so that other plugins could respond.
An event has specified name - this does not technically trigger the plugin - but the event is âactiveâ
This differentiates between âtriggeringâ and being able to react to a keyword with âA Calendar Event is Activeâ but not triggering (from Veraâs perspective). Without this vera would trigger on every event (with no gc_Keyword)
So you can leave gc_Keyword blank and use âA Calendar Event is Activeâ to âActivateâ based on event names you set in your scenes.
How are you setting your scenes ? Are the conditions set to be upper case ? All the keywords are changed to upper case within the plugin and the matching conditions therefore need to be in upper case as well.
Looking at the screenshot I also see last false in all three occasions was identical and is the time of the last condition.
If t3 event would still be true, t1 and t2 would also still be true.
In other words, if you would have made the screenshot within the 5min test3 was active I think you would have seen all three conditions being true.
[quote=âtyfoon, post:55, topic:182612â]Looking at the screenshot I also see last false in all three occasions was identical and is the time of the last condition.
If t3 event would still be true, t1 and t2 would also still be true.
In other words, if you would have made the screenshot within the 5min test3 was active I think you would have seen all three conditions being true.[/quote]
The reason all three have the same âlast falseâ time is that PLEG evaluates all three conditions whenever one of them changes state. So this is correct.
Each one became true - sequentially - at the time indicated in the âlast trueâ column.
I did a rerun (all I did was change the event times). The first (result2) is with TEST2 âactiveâ (5 minutes later than TEST1) but with TEST3 yet to occur (it has the old true / false times).
T1 was last true at 10:45:51 but is currently false
T2 became true at 10:52:15 and is true
T3 was last true at 9:31:07 but is currently false
Result 3 shows what it looks like during the 3 minutes when TEST 3 was active
This looks to be correct to me.
Cool! Just arrived home. Will re-test. PS do I need to update any files? I have the version available via the app store
Iâd use the version here - although I did not change anything relating to events,
http://forum.micasaverde.com/index.php/topic,26692.msg190735.html#msg190735
An event has specified name - this does not technically trigger the plugin - but the event is "active" This differentiates between 'triggering' and being able to react to a keyword with "A Calendar Event is Active" but not triggering (from Vera's perspective). Without this vera would trigger on every event (with no gc_Keyword)So you can leave gc_Keyword blank and use âA Calendar Event is Activeâ to âActivateâ based on event names you set in your scenes.
How are you setting your scenes ? Are the conditions set to be upper case ? All the keywords are changed to upper case within the plugin and the matching conditions therefore need to be in upper case as well.
local valeur = luup.variable_get("urn:srs-com:serviceId:GCalIII","gc_TrippedEvent",191)
my_prowl("Value ?", valeur, "", 0)
end
but when I execute the scene manually, it returns on Prowl Value ? TEST
Hi Stuart
In your PLEG tests, are you using the device property (as per Tyfoons example) or the âEvent has specified nameâ input method? I have been able to get it to work using the device property mechanism, but not using Event has specified name. Could be I am using that wrong, or expecting it to work in a way that it is not designed? Would be good if you could explain how that should behave in PLEG?
ps - @Tyfoon, I noticed you are using == in your conditions, which is a numerical comparison operator. I think you have to use eq - the string operator. Something to try if it still doesnt work for you.
Cheers
Best Home Automation shopping experience. Shop at Ezlo!
© 2024 Ezlo Innovation, All Rights Reserved. Terms of Use | Privacy Policy | Forum Rules