[gelöst] Werte aus dem Bewegungssensor (PIR HC-SR501) und DHT11 in FHEM ausgeben

Begonnen von tklein, 15 Februar 2017, 15:59:28

Vorheriges Thema - Nächstes Thema

tklein

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.
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Thorsten Pferdekaemper

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
FUIP

tklein

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.
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Thorsten Pferdekaemper

Hi,
ok, dann anders: Was genau beantwortet der Commandref-Eintrag zu PIFACE nicht?
Gruß,
   Thorsten
FUIP

tklein

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
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Thorsten Pferdekaemper

FUIP

Steffen@Home

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"
Pi 1 - FHEM, HM-MOD-RPI-PCB, HM-RT-CC-DN, HM-WDS10-TH-O, HM-Sec-SCo, HM-LC-Sw1PBU-FM, Relais Platine für ext. Ansteuerung, LD382 Wifi LED Controller, DHT
Pi 2 - Kamera, DHT
Pi 3 - FHEM2, Grafana, DHT, Magnet-Sensoren, Relais-Platine

tklein

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
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

tklein

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?
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Thorsten Pferdekaemper

Hi,
wie passt das jetzt hier rein? Na egal...
Ist denn WZTemp ein Device bei Dir in FHEM?
Gruß,
   Thorsten
FUIP

tklein

jup:


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

die userattr temperature & humidity habe ich global gesetzt
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Thorsten Pferdekaemper

Hi,
gib das mal einfach in der Linux-Kommandozeile ein:

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

Gruß,
   Thorsten
FUIP

tklein

da kommt dann das in EventLog an: 2017-02-17 19:11:24 dummy WZTemp temperature: 25
In der Console wird nichts weiter ausgegeben
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Thorsten Pferdekaemper

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
FUIP

tklein

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.





FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2