# Power consumption graph, GPIO readout on rPi3 connected to power meter

**URL:** <https://community.openhab.org/t/power-consumption-graph-gpio-readout-on-rpi3-connected-to-power-meter/36119>\
**Category:** Scripts & Rules\
**Created:** [November 12, 2017, 12:00pm UTC](https://community.openhab.org/t/power-consumption-graph-gpio-readout-on-rpi3-connected-to-power-meter/36119 "2017-11-12T12:00:38Z")\
**Posts on this page:** 3\
**Page:** 2

<div class="post-metadata">

**Author:** ![Udo\_Hartmann](https://community.openhab.org/user_avatar/community.openhab.org/udo_hartmann/32/70871_2.png) [@Udo\_Hartmann](https://community.openhab.org/u/Udo_Hartmann)\
**Post date:** [December 23, 2017, 2:07pm UTC](https://community.openhab.org/t/power-consumption-graph-gpio-readout-on-rpi3-connected-to-power-meter/36119/21 "2017-12-23T14:07:37Z")

</div>

Did you change all rules accordingly?

---

<div class="post-metadata">

**Author:** ![Peter1984](https://community.openhab.org/letter_avatar_proxy/v4/letter/p/fbc32d/32.png) [@Peter1984](https://community.openhab.org/u/Peter1984)\
**Post date:** [December 23, 2017, 2:48pm UTC](https://community.openhab.org/t/power-consumption-graph-gpio-readout-on-rpi3-connected-to-power-meter/36119/22 "2017-12-23T14:48:37Z")

</div>

Yes, here again the current settings:

gpio.items

```csv
Contact GPIOPin3 "Pin3" { gpio="pin:3 force:yes" }

```

s0\_counter\_heizung.rules

```csv
var Number gpio3InterruptCounter = 0
var Number tmp = 0

rule "GPIO Pin3 interrupt"
when
        Item GPIOPin3 received update CLOSED
then
        gpio3InterruptCounter = gpio3InterruptCounter + 1
end

rule "Cron job every minute"
when
    Time cron "0 0/1 * * * ?"
then
        var Number diff = gpio3InterruptCounter - tmp
        tmp = gpio3InterruptCounter

        postUpdate(Heizung_Tick_Counter_Electric_Meter, diff)
        diff = diff / 16.6667
        postUpdate(Heizung_Power_Consumption_Mean_Minute, diff)
end

```

s0\_counter.items

```csv
Number Heizung_Tick_Counter_Electric_Meter "Heizung_Tick_Counter_Electric_Meter"
Number Heizung_Power_Consumption_Mean_Minute "Heizung_Power_Consumption_Mean_Minute"

```

sitemap:

```csv
Frame label="Stromverbrauch" {
      	Text item=Heizung_Tick_Counter_Electric_Meter label="Heizung: [%.0f Watt]" icon="none"
        Text item=Heizung_Power_Consumption_Mean_Minute label=" Heizung2: [%.0f Watt]" icon="none"
        }
        }

```

Edit: Should I install WiringPi?

---

<div class="post-metadata">

**Author:** ![Udo\_Hartmann](https://community.openhab.org/user_avatar/community.openhab.org/udo_hartmann/32/70871_2.png) [@Udo\_Hartmann](https://community.openhab.org/u/Udo_Hartmann)\
**Post date:** [December 23, 2017, 3:06pm UTC](https://community.openhab.org/t/power-consumption-graph-gpio-readout-on-rpi3-connected-to-power-meter/36119/23 "2017-12-23T15:06:50Z")

</div>

No, better use some logInfo() lines to narrow the issue down:

```auto
rule "Cron job every minute"
when
    Time cron "0 * * * * ?"
then
    logInfo("myRule","Update gpio3 Counter")
    var Number diff = gpio3InterruptCounter - tmp
    tmp = gpio3InterruptCounter
    logInfo("myRule","diff = {} , tmp = {}",diff,tmp)
    Heizung_Tick_Counter_Electric_Meter.postUpdate(diff)
    diff = diff / 16.6667
    Heizung_Power_Consumption_Mean_Minute.postUpdate(diff)
end

```

Please keep attention to the fact, that I used the method instead of the action, though the action should work also.

[Previous page](https://community.openhab.org/t/power-consumption-graph-gpio-readout-on-rpi3-connected-to-power-meter/36119.md?page=1)
