NEWS
RPi-Adapter GPIO-Event
-
Hallo
Kann man mithilfe des RPi-Adaters auf ein GPIO Event reagieren.
Möchte einen Pin mit der Klingel verbinden und möglichst sofort reagieren.
Also den Pin mit cron zu überwachen reicht mir nicht.
Gruß
-
Hallo
Kann man mithilfe des RPi-Adaters auf ein GPIO Event reagieren.
Möchte einen Pin mit der Klingel verbinden und möglichst sofort reagieren.
Also den Pin mit cron zu überwachen reicht mir nicht.
Gruß `
Jup, per script (blockly/Java) zum beispiel.
Manche run blockly script, trigger aug den gpio pin and dan gewünschte aktion
–-----------------------
Send from mobile device
-
Danke das hört sich gut an. Leider ist Blockly nicht mein liebstes Kind.
Könntest du mir kurz zeigen wie so ein Trigger in JS aussieht?
Wäre dir sehr dankbar!
Gruß
-
Hilft das hier?
Erklärung der "on" funktion mit Beispiel
https://github.com/ioBroker/ioBroker.ja ... some-state
Send from mobile device
-
Oje, das sieht kompliziert aus :shock:
Versuche einen Code Schnipsel zu googeln, ohne Erfolg.
-
Oje, das sieht kompliziert aus :shock:
Versuche einen Code Schnipsel zu googeln, ohne Erfolg. `
Nim doch blockly und klicke es dir einfach zusammen
Wen ich wieder am pc sitze kan ich ein Beispiel posten
–-----------------------
Send from mobile device
-
Also ich habs jetzt gelöst (hoffe ich, ich sitze nicht zu Hause).
var GPIO = require('onoff').Gpio, button = new GPIO(12, 'in', 'both'); button.watch(function(err, state) { if(state === true) { log("GONG"); sendTo("pushover", "Es hat geklingelt!"); setState("tr-064.0.states.ring"/*ring*/, '**1 10'); setState("mqtt.0.Home.Door", "GONG"); } });
Letzteres bekommt ein ESP8266 mitgeteilt und setzt ein akustisches Signal im Garten in Gang.
Hoffe das läuft so.
-
Warum nicht in der ersten Reihe mit getstate ? wird die so überhaupt gefüllt?
Kenne Button.watch nicht Rest sieht ok aus auf ersten Blick
Was steht in Log wen du
log(button)
Einfügst?
–-----------------------
Send from mobile device
-
Kenne Button.watch nicht `
Das ist eine Funktion des https://www.npmjs.com/package/onoff, die auf Interrupts reagiert.Will man das NPM-Modul in Javascript verwenden, muss man es unter "Zusäzliche NPM-Module" der Javascript-Instanz eintragen.
-
Das geht doch vieeel einfacher wenn du den RPi-Adapter laufen hast.
var idKlingel ="rpi2.0.gpio.21.state"/*Klingel*/; on({id: idKlingel, val: true},function(obj){ log("GONG"); sendTo("pushover", "Es hat geklingelt!"); setState("tr-064.0.states.ring"/*ring*/, '**1 10'); setState("mqtt.0.Home.Door", "GONG"); });
-
Genau das habe ich gesucht. Besten Dank!
Musste nur einen anderen GPIO-Pin nehmen.
Grüsse
Jo
-
Freut mich dass es geklappt hat.
-
warum nich einfach:
on({id: "rpi2.0.gpio.21.state"/*Klingel*/, val: true},function(obj){ log("GONG"); sendTo("pushover", "Es hat geklingelt!"); setState("tr-064.0.states.ring"/*ring*/, '**1 10'); setState("mqtt.0.Home.Door", "GONG"); });