FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Steffen@Home am 15 Dezember 2016, 11:43:50

Titel: Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 15 Dezember 2016, 11:43:50
Hallo Miteinander,

ich würde gerne die Temperatur-Werte (DHT 22) die auf meinem Raspberry #1 per Adafruit abgegriffen werden sollen zum
Raspberry #2, auf dem FHEM läuft übergeben.

Die beiden Pi´s sind mit dem gleichen Netzwerk verbunden.

Was gibt es da für Möglichkeiten die Euch einfallen?

Vielen Dank!

Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: genius30mc am 18 Dezember 2016, 20:49:33
Schau mal  http://www.netzmafia.de/skripten/inetprog/inetprog2.html  an

habs ausprobiert, tut !

für my $remote_host = "192.168.178.38";   must die die IP adresse von dem PI eingeben auf dem du das server program gestarted hast.
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 20 Dezember 2016, 12:06:00
Hallo Genius,
danke, aber da komm ich vermutlich nicht ganz klar damit, da bin ich zu wenig experte dafür.  :o
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: abc2006 am 20 Dezember 2016, 12:57:15
rufe vom Raspberry 1 per SSH auf dem Raspberry 2 fhem.pl mit dem entsprechenden Befehl auf:

rpi1: ssh pi@rpi2 "/home/pi/fhemtemp Temperatursensor1 22"

rpi2:
fhem:
define Temperatursensor1 dummy
attr Temperatursensor1 comment Das ist der erste Temperatursensor, der vom ADAFRUIT übermittelt werden soll


/home/pi/fhemtemp:

#!/bin/bash
/opt/fhem/fhem.pl 7072 set $1 $2

chmod 700 /home/pi/fhemtemp
chown pi:pi /home/pi/fhemtemp

Habe ich bei mir im Einsatz, funktioniert einwandfrei. Tippfehler oder Gedächtnislücken nicht ausgeschlossen, wenns nicht klappt, gerne nochmal melden.


Wie du den Wert auf dem rpi1 ausliest, kann ich dir allerdings leider nicht helfen.

Achja: andere alternative: FHEM2FHEM ;-)



Grüße
Stephan
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: chris1284 am 20 Dezember 2016, 14:20:49
ich würde die temp direkt in einen dummy in fhem per telnet schreiben.
oder rfhem nutzen fall sdu auf dem 1. pi fhem installieren willst/kannst und dort mit fhem die temp schon abgreifen
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 21 Dezember 2016, 07:42:31
Guten Morgen Chris & Stephan, danke auch für eure Antworten!

Ich möchte die Temp. Werte wie bereits auf meinem FHEM-Pi per Adafruit auslesen.

-> Wenn ich diese Werte, wie Chris beschreibt, per SSH-Befehl in meinem Script direkt auf den Dummy auf meinem anderen Pi (FHEM) senden könnte wäre das perfekt.


Könnte dann der Befehl so aussehen?

ssh pi@192.168.1.123 perl /opt/fhem/fhem.pl 7072  "'set mytempdummy' $Wert"
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: chris1284 am 21 Dezember 2016, 07:59:16
ich mache das per perl script (nur das ich statt einen entfernten den lokalen fhem-server anspreche). Müsstest du auf pi 2 halt perl installieren wenn nicht vorhanden.
ich weiss nicht wie "adafruit" die daten bereitstellt, wie du sie ins script bekommst kann ich dir nicht sagen. ich hänge dir aber mal ein beispiel an.

use IO::Socket::INET;
my $Wert = ---> 'keine ahnung wie man die werte aus adafruit bekommt' ;

my $HOSTNAME = "192.168.1.123";
my $HOSTPORT = "7072";
my $socket = IO::Socket::INET->new('PeerAddr' => $HOSTNAME,'PeerPort' => $HOSTPORT,'Proto' => 'tcp') ;
print $socket "setreading mytempdummy temprature".$Wert."\n";
$socket->close;


rein vom pinzip brauchts auch kein ssh sondern einfach

telnet 192.168.1.123 7072
set mytempdummy' $Wert
exit

beispiele für telnet shellscripte gibs genug im netz. egal welche variante (perl, shellscript) würde ich dann per cronjob regelmäßig laufen lassen.


ps: was meinst du mit adafruit? für mich ist das der name einer firma aber nicht direkt ein programm
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 21 Dezember 2016, 12:44:05
Hallo Chris,

ok danke. Versuche das jetzt mal zu verstehen.

Also entweder per PERL Script z.B.  sendTempValues.pl:

use IO::Socket::INET;
my $Wert = ---> 'keine ahnung wie man die werte aus adafruit bekommt' ;

my $HOSTNAME = "192.168.1.123";
my $HOSTPORT = "7072";
my $socket = IO::Socket::INET->new('PeerAddr' => $HOSTNAME,'PeerPort' => $HOSTPORT,'Proto' => 'tcp') ;
print $socket "setreading mytempdummy temperature".$Wert."\n";
$socket->close;


oder

per shellscript und telnet z.b. sendTempValues.sh

#!/bin/sh
host=192.168.1.123
port=7072
#optional login=steve
#optional passwd=hellothere
cmd="set mytempdummy $Wert" #das ' habe ich aus deinem Text entfernt da vermutlich versehentlich

echo open ${host} ${port}
sleep 1
#echo ${login}
#sleep 1
#echo ${passwd}
#sleep 1
echo ${cmd}
sleep 1
echo exit




Mit Adafruit meinte ich die Python library um den DHT auszulesen.
https://github.com/adafruit/Adafruit_Python_DHT (https://github.com/adafruit/Adafruit_Python_DHT)
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: chris1284 am 21 Dezember 2016, 17:15:48
phython hat auch eine telnetlib. evtlkannst du das in dem script mit einbauen so das es nach dem temp lesen gleich alles an fhem per telnet sendet
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 22 Dezember 2016, 09:08:43
Hallo Chris,

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
sudo killall -q loldht > /dev/null 2>&1
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:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 23 Dezember 2016, 09:59:01
so..habe jetzt mal was zusammen getippt das ich dann sobald die Hardware Einsatzbereit ist testen möchte.

Vielleicht könnt ihr mal drüber linsen  :D Danke!

Mein Script zum Auslesen der Temp. Werte für den neuen Rpi wird folgendermaßen angepasst:


#!/bin/bash
IPFHEM=192.168.1.123
Port=7072
sudo killall -q loldht > /dev/null 2>&1
cd /home/pi/Adafruit_Python_DHT

WERTE=$(sudo /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 11 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

./telnetTempToFHEM.sh $Temp $HUM $IPFHEM $Port



Script zum Werte senden an FHEM-Server: telnetTempToFHEM.sh

#!/bin/sh
#send temp values from DHT to FHEM Server Dummy variable
#script is called from /usr/local/sbin/fhem-DHTAdafruit
#btw from /etc/cron.d/fhem-dht
#send by telnet to FHEM Server
#$1=temperature, $2=Humidity, $3=IP-FHEM, $4=Port

temp=$1
hum=$2
host=$3 #192.168.1.123
port=$4 #7072

#optional login=user
#optional passwd=password

cmd1="set Ga2Temp $temp"
cmd2="set Ga1HUM $hum"

echo open ${host} ${port}
sleep 1
#echo ${login}
#sleep 1
#echo ${passwd}
#sleep 1
echo ${cmd1}
sleep 1
echo ${cmd2}
sleep 1
echo exit


Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 27 Dezember 2016, 19:49:17
Guten Abend,

die Hardware funktioniert jetzt.

Leider klappt die Weitergabe an den FHEM-Server nicht.
Die beiden dummys GaOstTemp & GaOstHum habe ich angelegt.

set GaOst... oder setreading GaOst.. funktionieren beide nicht.
Kann es sein dass in den Befehl noch irgendwie das /opt/fhem/fhem.pl mit rein muss?
Über eine Idee würde ich mich freuen...

pi@raspberrypi:~ $ ./fhem-DHTAdafruit
36.8
23.8
open 192.168.1.123 7072
setreading GaOstTemp 23.8
setreading GaOstHum 36.8
exit
pi@raspberrypi:~ $
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: chris1284 am 27 Dezember 2016, 21:51:00
nein, dein code ist falsch da die syntax

setreading <name des gerätes in fhem> <name des readings> <wert> ist


setreading GaOstTemp temprature 23.8
setreading GaOstHum humidity 36.8
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 28 Dezember 2016, 09:12:56
Hallo Chris,

das setreading habe ich auch schon versucht, aber erfolglos. Auch mit "set GaOstTemp $temp" funktioniert es nicht.

Irgendwo muss ich noch nen Bock drin haben.
Im Logfile taucht leider auch keine Zeile auf anhand deren man etwas in Erfahrung bringen könnte.

Für den Dummy GaOstTemp habe ich folgendes userReading angelegt:

temperature { ReadingsVal("GaOstTemp","state","");; }, humidity { ReadingsVal("GaOstHum","state","");; }


GaOstHum userReading:
humidity { ReadingsVal("GaOstHum","state","");; }

pi@raspberrypi:~ $ ./fhem-DHTAdafruit
open 192.168.1.123 7072
setreading GaOstTemp temperature 23.0
setreading GaOstHum humidity 33.0
exit
pi@raspberrypi:~ $
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: chris1284 am 28 Dezember 2016, 10:02:45
gibt doch einfach mal oben in fhem-befehlsfenster den befehl ein. mach auch mal ein list von dem dummy den du angelegt hast

setreading GaOst temperature 23.0
setreading GaOst humidity 33.0

danach sollten in deinem dummy mit namen "GaOst" (oder wie immer du ihn genannt hast) 2 neue readings mit den werten auftauchen

Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 28 Dezember 2016, 10:35:45
Hallo Chris, danke.

Das habe ich schon gemacht.
Mit setreading GaOstTemp temperature 99 ist das reading temperature mit dem Wert 99 aufgetaucht, wird aber ja dann von state überschrieben wegen des codes.
Mit setreading GaOstTemp state 99 wird sowohl state und auch folglich temperature gesetzt.

Ich habe irgendwie das Gefühl dass der telnet Befehl nicht ankommt.


Internals:
   NAME       GaOstTemp
   NR         78
   STATE      99
   TYPE       dummy
   Readings:
     2016-12-28 09:59:58   humidity
     2016-12-28 09:59:58   state           99
     2016-12-28 09:59:58   temperature     99
Attributes:
   alias      Garage Ost Temperatur
   icon       status_frost
   room       GarageOst
   userReadings temperature { ReadingsVal("GaOstTemp","state","");; }, humidity { ReadingsVal("GaOstHum","state","");; }
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: ThomasTM am 28 Dezember 2016, 17:26:30
Hallo Steffen,
hatte dieser Tage auch die Frage wie die Daten von a nach b schaffen.

den Vorschlag mit Perl gab es ja schon, hier ein Ansatz mit Py.

So schaut es nun bei mir aus, vielleicht hilft es dir:


#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# call it with crontab

import Adafruit_DHT
import socket

### CONFIG ###
# fhem's telnet port
#host = 'localhost'
host = '192.168.1.xx'
port = 7072

sensors = [
    {
        'name': 'DHT11.Bibliothek',
        'type': Adafruit_DHT.DHT11,
        'pin':  17
    },
]

# retry in case of error
retries = 15
delay = 2

### END CONFIG ###

def netcat(hostname, port, content):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((hostname, port))
    s.sendall(content)
    s.shutdown(socket.SHUT_WR)
    while 1:
        data = s.recv(1024)
        if data == "":
            break
    if data:
        print "Received:", repr(data)
    s.close()

# empty netcat string
s = "";

for sensor in sensors:
    humidity, temperature = Adafruit_DHT.read_retry(sensor['type'], sensor['pin'], retries, delay)

     # check if the values are not empty and if the humidity is not bigger than 100%
    if humidity is not None and humidity < 100 and temperature is not None:
            error = 0
            s += 'setreading {0} temperature {1:0.1f}\n'.format(sensor['name'], temperature)
            s += 'setreading {0} humidity {1:0.1f}\n'.format(sensor['name'], humidity)
            s += 'setreading {0} error {1}\n'.format(sensor['name'], error)
    else:
            error = 1
            s += 'setreading {0} error {1}\n'.format(sensor['name'], error)

s += "quit"

netcat(host, port, s)

mfg
thomas
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 28 Dezember 2016, 18:49:46
Hallo Thomas, Danke für die Info.

Eigentlich habe ich ja schon alles fertig nur dass der Telnet Befehl nicht ankommt. Vermute ich zumindest.
Leider hab ich keine Idee wie ich weiter vorgehen könnte um das abzuprüfen.
Vielleicht hat ja Chris noch eine Idee  ;)
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: chris1284 am 28 Dezember 2016, 19:35:53
probier mal hinter deinem echo immer ein enter mit einzubauen sonst meine ich wird die verbinfung nur aufgemacht, text geschrieben, verbindung zugemacht ohne durch enter den text auch zu senden.
in meinem perl script siehst du nach jedem befehl ein "."\n";" für den zeilenumbruch. was das im shellscript ist kann ich so nicht sagen, müsste ich auch erst suchen

pi@raspberrypi:~ $ ./fhem-DHTAdafruit
36.8
23.8
open 192.168.1.123 7072
setreading GaOstTemp 23.8
--> enter / eingabe
setreading GaOstHum 36.8
--->enter /eingabe
exit
pi@raspberrypi:~ $
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 29 Dezember 2016, 16:08:36
Hallo Chris,

ich habe es zwar hinbekommen dass er jetzt eine neue Zeile macht aber das ändert leider auch nichts daran dass es funktionier.  :o

cmd1="set GaOstTemp $temp\\n"


echo open ${host} ${port} -e


pi@raspberrypi:~ $ ./fhem-DHTAdafruit
open 192.168.1.123 7072 -e
set GaOstTemp 23.9

set GaOstHum 36.4

exit
pi@raspberrypi:~ $
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 29 Dezember 2016, 16:18:41
Habe gerade etwas im Netz gefunden und damit hat er mir den Wert 88 geschrieben. Habe aber keine Ahnung warum das damit ging  ;D
Aber zumindest funktioniert irgendeine Verbindung und der Wert kann auch mit dem Befehl gesetzt werden.

cat > /dev/tcp/192.168.1.123/7072
set GaOstTemp 88
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 29 Dezember 2016, 17:35:57
Leider funktioniert der Befehl nicht in meinem Script was mir also nicht weiter hilft  >:(
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: chris1284 am 29 Dezember 2016, 18:16:15
ich habe jetzt mal nach beispielen gesucht, die sehen irgendwie anderst aus als das was du da hast zb:

Zitat
#!/bin/bash
(
echo "password";
sleep 1;
echo -e "Befehl\r";
sleep 3;
echo -e "exit\r"
) | telnet 192.168.xxx.xx

bau das doch für dich mal um

Zitat
#!/bin/bash
(
echo -e "setreading GaOstTemp 23.8\r";
sleep 3;
echo -e "exit\r"
) | telnet 192.168.1.123 7072
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 29 Dezember 2016, 19:56:02
Super, so gehts!  ;D Danke Dir recht Herzlich!
Das mit dem "Escape character" hab ich noch nicht hinbekommen.
Echo -e hat er auch gemeckert und ohne funktioniert es.

Was mich jetzt noch stört ist dass der dewpoint und die abs.Feuchte nicht automatisch berechnet werden wie an meinem anderen Sensor.

state Format:
<span style="color:green">Temperatur: temperature °C </span><br><span style="color:blue"> Feuchtigkeit: humidity %</span><br> Taupunkt: dewpoint °C<br>Abs. Feuchte: absFeuchte g/m3
In Everything liegt ein dew_all aber ich verstehe den Zusammenhang noch nicht warum es beim einen Sensor geht und beim neuen nicht. Die Readings usw. sind identisch.

Internals:
   CMD_TYPE   dewpoint
   DEF        dewpoint .* temperature humidity dewpoint
   DEV_REGEXP .*
   HUM_NAME   humidity
   NAME       dew_all
   NEW_NAME   dewpoint
   NR         38
   NTFY_ORDER 10-dew_all
   STATE      active
   TEMP_NAME  temperature
   TYPE       dewpoint
Attributes:
   absFeuchte 1
   room       hidden


Die Lösung des Telnet Problems:

cmd1="setreading GaOstTemp temperature $temp\r"


echo ${cmd1};
sleep $sleep;
echo ${cmd2};
sleep $sleep;
#echo -e "exit\r"
echo "^]";
) | telnet ${host} ${port}


Ausgabe:
pi@raspberrypi:~ $ ./fhem-DHTAdafruit
Trying 192.168.1.123...
Connected to 192.168.1.123.
Escape character is '^]'.
Connection closed by foreign host.
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 29 Dezember 2016, 23:05:16
Verstehe das nicht, ich bekomme es einfach nicht hin  ???

mit der 1. Zeilen in der config müsste doch für jedes Device das "temperature" & "humidity" in den readings hat automatisch ein neues reading "dewpoint" erzeugt werden oder?

define dew_all dewpoint dewpoint .* temperature humidity dewpoint
attr dew_all absFeuchte 1
attr dew_all room hidden


Bei dem Device WZTemp funktioniert es:
define WZTemp dummy
attr WZTemp alias Wohnen DHT11
alt: CurrentTemperature=temperature,minValue=-30
attr WZTemp group Dash_temp
attr WZTemp homebridgeMapping CurrentTemperature=temperature,CurrentRelativeHumidity=humidity
attr WZTemp icon temp_inside
attr WZTemp room Homekit,Wohnen
attr WZTemp sortby 02
attr WZTemp stateFormat <span style="color:green">Temperatur: temperature °C </span><br><span style="color:blue"> Feuchtigkeit: humidity %</span><br> Taupunkt: dewpoint °C<br>Abs. Feuchte: absFeuchte g/m3


Beim neuen GaOstTemp nicht?
temperature und humidity habe ich doch mit setreading erhalten....

define GaOstTemp dummy
attr GaOstTemp alias Garage Ost Temperatur
attr GaOstTemp group Dash_temp
attr GaOstTemp homebridgeMapping CurrentTemperature=temperature,CurrentRelativeHumidity=humidity
attr GaOstTemp icon hue_room_carport
attr GaOstTemp room GarageOst,Homekit
attr GaOstTemp stateFormat <span style="color:green">Temperatur: temperature °C </span><br><span style="color:blue"> Feuchtigkeit: humidity %</span><br> Taupunkt: dewpoint °C<br>Abs. Feuchte: absFeuchte g/m3



Internals:
   NAME       GaOstTemp
   NR         77
   STATE      <span style="color:green">Temperatur: 24.2 °C </span><br><span style="color:blue"> Feuchtigkeit: 37.0 %</span><br> Taupunkt: dewpoint °C<br>Abs. Feuchte: absFeuchte g/m3
   TYPE       dummy
   Readings:
     2016-12-29 23:00:08   humidity        37.0
     2016-12-29 19:23:03   state           24.3
     2016-12-29 23:00:05   temperature     24.2
Attributes:
   alias      Garage Ost Temperatur
   group      Dash_temp
   homebridgeMapping CurrentTemperature=temperature,CurrentRelativeHumidity=humidity
   icon       hue_room_carport
   room       GarageOst,Homekit
   stateFormat <span style="color:green">Temperatur: temperature °C </span><br><span style="color:blue"> Feuchtigkeit: humidity %</span><br> Taupunkt: dewpoint °C<br>Abs. Feuchte: absFeuchte g/m3
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 30 Dezember 2016, 13:21:45
Habe jetzt für das Device folgendes eingefügt und damit funktioniert es zumindest.
userReadings
dew:temperature.* {urDewpoint($name)}
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 04 Januar 2017, 16:35:15
komischerweise Funktioniert jetzt auf einmal die automatische dewpoint Berechnung und deren Reading Erstellung  ::)

War wohl zu voreilig  :o

War wohl nur sporadisch, kam nur 4 mal  ;)

2016-12-31_03:10:31
2016-12-31_07:30:16
2016-12-31_16:40:08
2016-12-31_19:05:13

dann kam der Silvesterknall  ;D
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 10 Januar 2017, 12:53:38
Mahlzeit  :)

Kann es sein dass das Modul dewpoint mit dummy's Probleme hat?
Habe vor paar Tagen einen Außentemperatur Fühler(HM-WDS10-TH-O) angelernt und schwups ist automatisch der dewpoint da.

Allerdings habe ich ja einen weiteren DHT (WZTemp)als dummy bei dem es ja funktioniert  ::)

Vlt. sollte ich den dummy GaOst auch mal komplett mit FileLog(das aber schon neu ist) und allem löschen und neu anlegen da ja der SVG auch Probleme macht https://forum.fhem.de/index.php/topic,63690.0.html (https://forum.fhem.de/index.php/topic,63690.0.html)
Vielleicht stimmt Grundsätzlich etwas nicht mit dem dummy. Bin ratlos.
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 19 Januar 2017, 12:38:28
Heute Nacht kam wieder so eine sporadische Dewpoint Berechnung  ???
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 28 Februar 2017, 08:21:20
Hallo Zusammen,

kann es sein dass mein Befehl:

cmd1="setreading GaOstTemp temperature $temp\r"

Probleme macht und ich stattdessen nur set verwenden sollte?

Aber direkt ein set auf das Reading "temperature" wird nicht funktionieren soweit ich das verstehe.
cmd1="set GaOstTemp temperature $temp\r"

Dann müsste ich die Werte wohl doch auf 2 Dummys aufteilen aber das wäre etwas unschön ::)
cmd1="set GaOstTemp $temp\r"
cmd1="set GaOstHum $hum\r"


Verstehe vlt. den genauen Unterschied/Zweck zwischen den Beiden Befehlen noch nicht  ???
Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 06 Juli 2017, 10:11:42
Guten Morgen,

hatte mal wieder etwas Zeit und wollte meiner Telnet-Verbindung ein Passwort zuweisen und dementsprechend meine Scripte anpassen.
Leider steige ich nicht ganz durch mit den ganzen Parametern  ::)

- Eigentlich möchte ich nur der telnet ein passwort zuweisen ohne Benutzernamen usw.

es öffnete sich autom. eine Allowed Instanz bei der man ein attribut "password" oder "globalpasswort" vergeben kann.


Was mache ich falsch? bzw. welche Parameter muss ich denn setzen? Aus der FHEM Referenz werde ich nicht schlau

Danke für eure Hilfe

Zitat von: Steffen@Home am 29 Dezember 2016, 19:56:02
hier ein Auszug aus dem geänderten Script:

cmd1="setreading GaOstTemp temperature $temp\r"
pwd="myPassord"


(
echo ${pwd};
sleep $sleep;
echo ${cmd1};
sleep $sleep;
#echo -e "exit\r"
echo "^]";
) | telnet ${host} ${port}



Titel: Antw:Daten von RPI 1 zu RPI 2 (FHEM) senden
Beitrag von: Steffen@Home am 07 Juli 2017, 16:47:29
Diesen Post bitte vergessen. Habe nur für telnet das "password" vergeben und allowed hat auch das password übernommen und jetzt funktioniert es.
Der Fehler mit invalid parameter war mein Fehler in den Script(en).

Gruß Steffen

Zitat von: Steffen@Home am 06 Juli 2017, 10:11:42
Guten Morgen,

hatte mal wieder etwas Zeit und wollte meiner Telnet-Verbindung ein Passwort zuweisen und dementsprechend meine Scripte anpassen.
Leider steige ich nicht ganz durch mit den ganzen Parametern  ::)

- Eigentlich möchte ich nur der telnet ein passwort zuweisen ohne Benutzernamen usw.


  • Ich wollte bei Telnet dem Attribut globalpasswort eines eingegeben (myPassord),beim bestätigen wurde das PW nicht übernommen sondern...
es öffnete sich autom. eine Allowed Instanz bei der man ein attribut "password" oder "globalpasswort" vergeben kann.
  • Habe dann mein gewünschtes PW bei password eingetragen und dieses wurde in einen Hashwert übersetzt und gespeichert.
  • Bei den Kontrollkästchen oberhalb war dann auch für telnet der Haken gesetzt.
  • Der erste Test meines geänderten Scriptes das auf dem selben Pi läuft war erfolgreich z.b: opt/fhem/fhem.pl 7072 myPassord "set lamp on"


  • Leider funktioniert mein Script für die Telnet-Verbindung vom anderen Pi nicht! (siehe nachfolgend)
  • Es kommt immer die Fehlermeldung in der Bash: Telnet>invalid command
  • Was mir aufgefallen ist dass bei jedem gescheiterten versuch ein FNxyz Device im allowed angelegt wurde (Kontrollkästchen), auch nach dem setzen des Haken keine Änderung.
  • attribut basicAuth habe ich leer gelassen
  • allowedCommands ?
  • allowedDevices ?
  • fehlt ein \r ?
  • pwd="myPassord\r" funktionierte auch nicht

Was mache ich falsch? bzw. welche Parameter muss ich denn setzen? Aus der FHEM Referenz werde ich nicht schlau

Danke für eure Hilfe