# Determining if RPI-GIO IN was triggered by change or from Startup/Initialization?

**URL:** <https://discourse.nodered.org/t/determining-if-rpi-gio-in-was-triggered-by-change-or-from-startup-initialization/65950>\
**Category:** General\
**Created:** [2 August 2022 19:37 UTC](https://discourse.nodered.org/t/determining-if-rpi-gio-in-was-triggered-by-change-or-from-startup-initialization/65950 "2022-08-02T19:37:31Z")\
**Posts on this page:** 3\
**Page:** 2

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [6 August 2022 07:51 UTC](https://discourse.nodered.org/t/determining-if-rpi-gio-in-was-triggered-by-change-or-from-startup-initialization/65950/21 "2022-08-06T07:51:32Z")

</div>

> [@JasGot](#):
>
> But 0 means door is closed.

That appears to be in conflict with this:

> [@JasGot](#):
>
> My RPI-GPIO In shows a "1" for Relay Closed and a "0" for Relay Open
> 
> I need to be able to send two different messages:
> 
> 1. If the state is open at startup I need to send an SMS that says "Door is Open".
> 2. If the state changes to Open at some later time, I need to send SMS that says "Door is Opening"

---

<div class="post-metadata">

**Author:** ![JasGot](https://avatars.discourse-cdn.com/v4/letter/j/c4cdca/32.png) [@JasGot](https://discourse.nodered.org/u/JasGot)\
**Post date:** [8 August 2022 13:01 UTC](https://discourse.nodered.org/t/determining-if-rpi-gio-in-was-triggered-by-change-or-from-startup-initialization/65950/22 "2022-08-08T13:01:38Z")

</div>

This is what is now working wonderfully.  
Thank you so much for your help. I really appreciate it!!!

```auto
// Get whether this is second or later from context, if not defined in context then set to false
let secondOrLaterMessage = context.get("secondOrLaterMessage") || false
if (msg.payload == 1) {
    if (secondOrLaterMessage) {
        msg.payload = "Opening"
    } else {
        msg.payload = "Open"
    }
} else {
    // payload is 0 Return "Closed"
    msg.payload = "Closed"
}
// remember that next message will be second or later
secondOrLaterMessage = true
context.set("secondOrLaterMessage", secondOrLaterMessage)
return msg

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [22 August 2022 13:02 UTC](https://discourse.nodered.org/t/determining-if-rpi-gio-in-was-triggered-by-change-or-from-startup-initialization/65950/23 "2022-08-22T13:02:00Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

[Previous page](https://discourse.nodered.org/t/determining-if-rpi-gio-in-was-triggered-by-change-or-from-startup-initialization/65950.md?page=1)
