FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: tklein am 15 Februar 2017, 15:59:28

Titel: [gelöst] Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 15 Februar 2017, 15:59:28
Hallo,

wie kann ich die Werte in FHEM ausgeben lassen?
Könnte ich mit den Setbefehlen die an den GPIO-Pins befindlichen Relais schalten? Wiring-Pi habe ich installiert

Das habe ich bisher:


# Ausgabe Bewegungssensor

define Bewegungssensor PIFACE
attr Bewegungssensor room Actions
# Wert auslesen: 1:bewegung 0: nichts
get Bewegungssensor 22

# Relais schalten
#set Bewegungssensor 16 1
#set Bewegungssensor 16 0
#set Bewegungssensor 16 1



Wie könnte ich die Temp/Hum vom DHT11/22 direkt in FHEM anzeigen lassen? ADAFruit ist installiert.
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: Thorsten Pferdekaemper am 15 Februar 2017, 19:19:37
Hi,
kann es sein, dass Du da ein paar Sachen zusammenwirfst? Am besten, Du entscheidest Dich erst einmal für eine Sache und dann sehen wir weiter.
Was man jetzt schon sagen kann: Wenn der Code, den Du da postest, in der fhem.cfg steht, dann ist was faul. Du solltest nicht an der fhem.cfg rummachen.
Gruß,
   Thorsten
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 15 Februar 2017, 19:30:12
Hi, mein Gedankengang war, dass das alle mit dem GPIO zusammenhängt, ob ich nun ein Wert für ein Relais setze oder eine "1" oder "0" auslese ist sehr verwandt. Vielleichgt sollte ich mir angewöhnen mehr über die FHEM-Console zu gehen.
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: Thorsten Pferdekaemper am 15 Februar 2017, 20:13:32
Hi,
ok, dann anders: Was genau beantwortet der Commandref-Eintrag zu PIFACE nicht?
Gruß,
   Thorsten
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 15 Februar 2017, 20:34:31
Hi,

ich sehe dort nicht alle Werte die ich z.B. mit gpio -readall bekomme. Auch sind vorhandene Werte nicht korrekt. Ferner werden nicht alle GPIO-Pins angezeigt
Bei der Eingabe von set <name> 23 0 oder  1 wird das Relais nicht geschaltet. Es gibt auch keinen Eintag im EventMonitor.

Im Log steht noch "Unable to open SPI device: No such file or directory"

Gruß
Thomas
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: Thorsten Pferdekaemper am 17 Februar 2017, 08:47:11
Hi,
mal ganz blöd gefragt: Hast Du überhaupt das Teil: http://www.piface.org.uk/products/piface_digital/ ?
Gruß,
   Thorsten
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: Steffen@Home am 17 Februar 2017, 10:57:43
Zitat von: tklein am 15 Februar 2017, 15:59:28
Wie könnte ich die Temp/Hum vom DHT11/22 direkt in FHEM anzeigen lassen? ADAFruit ist installiert.

Hi,

bezüglich des DHT11/22/2302 ich habe es bei mir so gelöst...

Ich habe einen DHT direkt am RPI wo FHEM drauf installiert ist und benutze dort das Example Script von Adafruit aus dem "examples" Verzeichnis.
Der Aufruf erfolgt dann mit "AdafruitDHT.py" mit Nachfolgenden Parametern. Bei mir ist das z.B. "2302" für den DHT Sensor mit Platine(bei dir dann eben "22"oder "11" wahrscheinlich) und "10" für Angeschlossen bei mir an GPIO 10.
Mit /opt/fhem/fhem.pl 7072 "setreading WZTemp temperature $Temp" wird die Temperatur per telnet an meinen Dummy "WZTemp" mit Attribute "temperature" über den Port 7072 gesendet sowie auch für "humidity".


habe nochmal in das Script des bestehenden DHT direkt am Fhem RPi geschaut.

Das ist doch ein bash-Script das ein Python-Script AdafruitDHT aufruft.

#!/bin/bash
cd /home/pi/Adafruit_Python_DHT

WERTE=$(sudo /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 2302 10 | grep "Humidity")
HUM=$(echo $WERTE|cut -d "=" -f3|cut -d "%" -f1)
Temp=$(echo $WERTE|cut -d "=" -f2|cut -d "*" -f1)
#echo $WERTE
#echo $HUM
#echo $Temp
/opt/fhem/fhem.pl 7072 "setreading WZTemp temperature $Temp"
/opt/fhem/fhem.pl 7072 "setreading WZTemp humidity $HUM"
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 17 Februar 2017, 16:10:04
Besten Dank dafür, werde es mir anschauen. Das mit dem Piface habe ich falsch verstanden.
Ich dachte, ich könnte das Modul ohne zusätzliche Hardware nutzen, wenn ich einen Raspi habe.

Grüße
Thomas
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 17 Februar 2017, 16:49:50
ich glaube, dass ich an den Grundlagen festhänge:

mit /opt/fhem/fhem.pl 7072 "setreading WZTemp temperature $Temp" rufe ich "mein" Skript auf, um zu testen was es ausgibt. Folgende Ausgabe erscheint:

Usage: setreading <name> <reading> <value>
where <name> is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.

--> kann das nur über telnet klappen? wie würde ich telnet starten und mit FHEM kommunizieren lassen? Sprich wie/wo lässt du das skript laufen? Hast dun dan ein Cron für angelegt?
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: Thorsten Pferdekaemper am 17 Februar 2017, 17:42:33
Hi,
wie passt das jetzt hier rein? Na egal...
Ist denn WZTemp ein Device bei Dir in FHEM?
Gruß,
   Thorsten
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 17 Februar 2017, 17:53:23
jup:


# Temperatur und Feuchtigkeit
define WZTemp dummy
attr WZTemp group Sensorik
attr WZTemp room Actions

die userattr temperature & humidity habe ich global gesetzt
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: Thorsten Pferdekaemper am 17 Februar 2017, 19:04:35
Hi,
gib das mal einfach in der Linux-Kommandozeile ein:

/opt/fhem/fhem.pl 7072 "setreading WZTemp temperature 25"

Gruß,
   Thorsten
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 17 Februar 2017, 19:12:50
da kommt dann das in EventLog an: 2017-02-17 19:11:24 dummy WZTemp temperature: 25
In der Console wird nichts weiter ausgegeben
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: Thorsten Pferdekaemper am 17 Februar 2017, 20:24:29
Na dann sieht es ja ganz gut aus. Ich würde dann vermuten, dass in Deinem Skript das $Temp bzw. $HUM nicht richtig durch die entsprechenden Werte ersetzt wird.
Gruß,
   Thorsten
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 17 Februar 2017, 20:25:17
hast du das oben genannte script der datei fhem.pl hinzugefügt oder ein anderes script xyz.sh erzeugt?
Kannst du mir bitte den prozess/ablauf kurz schildern?

Bei mir sieht die Ausgabe in der Konsole jetzt so aus, nachdem ich das skript in die fhem.pl hinzugefügt hatte:


pi@pi:/opt/fhem $ /opt/fhem/fhem.pl 7072 setreading WZTemp temperature $Temp
Bareword found where operator expected at /opt/fhem/fhem.pl line 4910, near "$(sudo"
        (Missing operator before sudo?)
Number found where operator expected at /opt/fhem/fhem.pl line 4910, near "py 11"
        (Do you need to predeclare py?)
Number found where operator expected at /opt/fhem/fhem.pl line 4910, near "11 25"
        (Missing operator before  25?)
Semicolon seems to be missing at /opt/fhem/fhem.pl line 4910.
Bareword found where operator expected at /opt/fhem/fhem.pl line 4911, near "$(echo"
        (Missing operator before echo?)
Semicolon seems to be missing at /opt/fhem/fhem.pl line 4911.
Bareword found where operator expected at /opt/fhem/fhem.pl line 4912, near "$(echo"
        (Missing operator before echo?)
Number found where operator expected at /opt/fhem/fhem.pl line 4916, near "pl 7072"
        (Do you need to predeclare pl?)
String found where operator expected at /opt/fhem/fhem.pl line 4916, near "7072 "setreading WZTemp humidity $HUM""
        (Missing operator before  "setreading WZTemp humidity $HUM"?)
Can't modify division (/) in scalar assignment at /opt/fhem/fhem.pl line 4910, near "$(sudo "
syntax error at /opt/fhem/fhem.pl line 4910, near "$(sudo "
Global symbol "$WERTE" requires explicit package name at /opt/fhem/fhem.pl line 4911.
Global symbol "$WERTE" requires explicit package name at /opt/fhem/fhem.pl line 4912.
Unknown regexp modifier "/t" at /opt/fhem/fhem.pl line 4916, at end of line
Unknown regexp modifier "/f" at /opt/fhem/fhem.pl line 4916, at end of line
Unknown regexp modifier "/h" at /opt/fhem/fhem.pl line 4916, at end of line
Unknown regexp modifier "/e" at /opt/fhem/fhem.pl line 4916, at end of line
Execution of /opt/fhem/fhem.pl aborted due to compilation errors.





Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 17 Februar 2017, 20:39:50
packe ich es in einer separate Datei und rufe sie inkl. der Echos aus, sehe ich das in der Konsole:


pi@pi:/opt/fhem $ ./dht_fhem.pl
Temp=20.0* Humidity=43.0%
43.0
20.0


Dann werde ich ein Cron anlegen, der das Script aufruft
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: Thorsten Pferdekaemper am 17 Februar 2017, 20:52:07
Zitat von: tklein am 17 Februar 2017, 20:25:17
hast du das oben genannte script der datei fhem.pl hinzugefügt oder ein anderes script xyz.sh erzeugt?
Kannst du mir bitte den prozess/ablauf kurz schildern?
Ich habe gar nichts gemacht, außer ins Forum zu schreiben.

Zitat
Bei mir sieht die Ausgabe in der Konsole jetzt so aus, nachdem ich das skript in die fhem.pl hinzugefügt hatte:
Warum fingerst Du an der fhem.pl rum?

Zitat

pi@pi:/opt/fhem $ /opt/fhem/fhem.pl 7072 setreading WZTemp temperature $Temp

Was genau soll das jetzt? $Temp hat natürlich keinen Wert, was soll da funktionieren?

Gruß,
    Thorsten
Titel: Antw:Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 17 Februar 2017, 21:02:33
dann habe ich das falsch verstanden. Mit meiner separten Datei und einem Cron kriege ich die Daten jetzt ja aktualisiert. :-)

Vielen Dank & Grüße
Thomas
Titel: Antw:[gelöst] Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: Steffen@Home am 21 Februar 2017, 12:51:10
Hallo Thomas, klappt das jetzt mit dem DHT und dem Script, sorry habe den Beitrag nicht mehr weiterverfolgt.

Sehe gerade erst -gelöst.Denke also ja  ;)
Titel: Antw:[gelöst] Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: tklein am 21 Februar 2017, 13:26:38
Hi Steffen, besten Dank ja.

Muss es nur noch anpassen, da heute der DHT22 angekommen ist. Der 11er hat doch ziemliche Ausreisser mit drin gehabt.
Titel: Antw:[gelöst] Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben
Beitrag von: Steffen@Home am 21 Februar 2017, 13:39:26
Bin mit meinem 11er auch nicht zufrieden! Der 2302 ist perfekt aber der 11er liefert teils echt schrott. ???