Hallo,
ich habe an meiner Wetterstation einen zweiten RaPI in Betrieb genommen und möchte die Werte an mein RaPI hauptsystem übergeben. Ich habe nämlich immer wieder Probleme mit dem Empfang des Signals der Wetterstation an meinem Hauptsystem.
Jetzt hab ich hier schon einiges gelesen und probiert, ich komme aber nicht so wirklich weiter.
Meine Wetterstation ist auf dem slave wie folgt:
Internals:
CODE CTW600
DEF CTW600
LASTInputDev sduino
MSGCNT 15
NAME CTW600_RaPI2
NR 70
STATE T: 22.2 H: 52 Ws: 3.2 Wg: 6.8 Wd: W R: 1192.5
TYPE SD_WS09
bitMSG
lastMSG FE9A89B8D00C143E1C3230
sduino_DMSG P9#FE9A89B8D00C143E1C3230
sduino_MSGCNT 15
sduino_RAWMSG MU;P0=406;P1=-1125;P2=-176;P3=160;P4=-568;P5=1377;D=01010234010101010101015101515101015101510151515101515101015101010151515101015101515151515151515101015151515151015101515151510101010101515151510101015151515101015151015151510101515;CP=0;
sduino_TIME 2017-06-25 21:06:21
Readings:
2017-06-25 21:06:21 battery 4
2017-06-25 21:06:21 humidity 52
2017-06-25 21:06:21 id 42
2017-06-25 21:06:21 rain 1192.5
2017-06-25 21:06:21 state T: 22.2 H: 52 Ws: 3.2 Wg: 6.8 Wd: W R: 1192.5
2017-06-25 21:06:21 temperature 22.2
2017-06-25 21:06:21 windDirection 12
2017-06-25 21:06:21 windDirectionDegree 270
2017-06-25 21:06:21 windDirectionText W
2017-06-25 21:06:21 windGust 6.8
2017-06-25 21:06:21 windSpeed 3.2
Attributes:
event-on-change-reading .*
room Garten
showtime 1
Auf dem Hauptsystem ist der FHEM2FHEM wie folgt definiert:
define RaPI2 FHEM2FHEM 192.168.178.20:7072 LOG:.*
Die übergabe der Werte vom slave zum master RaPI wollte ich mit Clonedummy machen.
define CTW600 cloneDummy CTW600_RaPI2
Die Werte die ich aber dann im Mastersystem erhalte sind nicht alle die im Slave ankommen.
Internals:
DEF CTW600_RaPI2
NAME CTW600
NDEV CTW600_RaPI2
NR 331
NTFY_ORDER 50-CTW600
STATE active
TYPE cloneDummy
Readings:
2017-06-25 21:24:46 T 21.7 H: 57 Ws: 0.0 Wg: 0.0 Wd: W R: 1192.5
2017-06-25 21:24:46 humidity 57
2017-06-25 21:24:46 state active
2017-06-25 21:22:21 temperature 21.7
2017-06-25 21:22:21 windDirection 12
2017-06-25 21:22:21 windDirectionDegree 270
2017-06-25 21:22:21 windDirectionText W
2017-06-25 21:24:46 windGust 0.0
2017-06-25 21:24:46 windSpeed 0.0
Helper:
Bm:
Clonedummy_define:
cnt 1
dmx 0
mAr
mTS
max 0
tot 0
Clonedummy_notify:
cnt 934
dmx 0
mTS 25.06. 21:18:22
max 20
tot 359
mAr:
HASH(0x82bec40)
HASH(0x8264da0)
Attributes:
room Garten
Was mache ich also falsch oder was habe ich nocht verstanden. Ich dachte mit CloneDummy bekomme ich genau die gleiche readings wie im Original Device.
Das cloneDummy kannst du inzwischen weglassen und nur ein dummy device anlegen, mit gleichen Namen wie das Ursprungdevice
define CTW600_RaPI2 dummy
dann sieht auch dein state reading besser aus
Ich würde empfehlen das regEx "schärfer" zu machen, z.B.
define RaPI2 FHEM2FHEM 192.168.178.20:7072 LOG:CTW600.*
oder
define RaPI2 FHEM2FHEM 192.168.178.20:7072 LOG:CTW600_RaPI2.*
Und ich glaube der dummy am Master sollte auch CTW600 heißen ;)
so heißt er am Master bei ihm
NAME CTW600_RaPI2
und so muß auch der dummy dann heißen
Und man koennte auch ueberlegen, ob man auf nicht lieber aus ser2net o. ae. zurueckgreift, statt FHEM2FHEM, siehe auch https://wiki.fhem.de/wiki/CUL_ueber_Netz
Hary, Du hast Recht. Ich habe mich irgendwo in den Lists oben verstrickt, obwohl ich dachte ich habe lange drüber nachgedacht wer jetzt Master und Slave und von wo noch wo...
Fakt ist: beide Geräte in beiden Instanzen müssen gleich heißen. ;D
Hallo FHEM Gemeinde
darf ich mich da gleich mal mit anhängen?
Muss auf dem Master und Slave Raspberry dann auch das Basicauth Benuter und Passwort gleich sein?
- oder kann man irgendwo das "Portpasswort" hinterlegen. (in der Hilfe steht ja das es beim define für FHEM2FHEM einen Platz dafür gibt, aber wo soll es auf dem FHEM Quell Raspberry hin?
Vielen Dank und Euch allen eine schöne Woche.
Schöne Grüße
NewRasPi Elmar
Noch kurz eine zusätzliche Frage: Es können doch hoffentlich mehrere FHEM Raspberry über FHEM2FHEM auf die Daten des ersten zugreifen? Zur Zeit sind es drei die sich Daten "teilen" sollen. (natürlich immer nur in einer Richtung)
Hi,
meine vorsichtige Antwort: Es gibt nur ein Port Passwort und ist über allowed zu setzen siehe -> https://fhem.de/commandref_DE.html#allowed
Das ganze gilt immer zum Zugriff auf eine Quelle, die Quelle fragt das Passwort ab, die FHEM2FHEM definition muss es richtig liefern. Für beide Seiten / Richtungen völlig getrennt.
Ob die gleichzeitige Anzahl der Zugriffe begrenzt ist weiß ich nicht. Aber es gehen mehrere und es erzeugt sicher eine Last.
Gruß Otto
Hallo,
danke für die Tipps. Jetzt habe ich alle Werte vom Slave auf den Master bekommen.
Ich arbeite weiterhin mit Fhem2Fhem um mein Hauptsystem etwas zu entlasten. Die Raw-Werte des CUL wollte ich daher nicht übergeben. Ich habe clonedummy durch einen gleichnamigen dummy auf dem Master ersetzt (bei clonedummy steht in der Commandref das die beiden Devices nicht gleichnamig sein dürfen). Dazu habe ich ein event bei jeder Aktualisierung erzwungen. Jetzt klappt es. Vorher wurden anscheinend nur die Werte im Event erwähnt die sich auch geändert haben.
event-on-update-reading .*
Jetzt wollte ich natürlich gleich noch mehr und scheitere schon wieder :'(
Ich lasse auf dem Slave eine Statistik für die Wetterstation rechnen.
Werte auf dem Slave:
Internals:
CODE CTW600
DEF CTW600
LASTInputDev sduino
MSGCNT 43
NAME CTW600_RaPI2
NR 67
STATE T: 26.7 H: 37 Ws: 4.3 Wg: 8.2 Wd: NW R: 1192.5
TYPE SD_WS09
bitMSG
lastMSG FE9A8A6C9410183E1C3A98
sduino_DMSG P9#FE9A8A6C9410183E1C3A98
sduino_MSGCNT 43
sduino_RAWMSG MU;P0=-420;P1=404;P2=-1122;P3=1384;D=0121212121212123212323212123212321232323212321232321212321212323212323212321232323232321232323232323232121232323232321212121212323232321212123232323212121232123212323212121;CP=1;
sduino_TIME 2017-06-26 12:12:47
Readings:
2017-06-26 12:12:47 battery 4
2017-06-26 12:12:47 humidity 37
2017-06-26 12:12:47 id 42
2017-06-26 12:12:47 rain 1192.5
2017-06-26 12:12:47 statHumidityDay Min: 35 Avg: 36 Max: 37 (since: 2017-06-26_12:03:55 )
2017-06-26 12:12:47 statHumidityMonth Min: 35 Avg: 36 Max: 37 (since: 2017-06-26_12:03:55 )
2017-06-26 12:12:47 statHumidityYear Min: 35 Avg: 36 Max: 37 (since: 2017-06-26_12:03:55 )
2017-06-26 12:12:47 statRain Hour: 0.0 Day: 0.0 Month: 0.0 Year: 0.0 (since: 2017-06-26_12:03:55 )
2017-06-26 11:59:55 statStateDay (null): 00:00:00 (null)_Count: 1 (since: 2017-06-26_11:59:55)
2017-06-26 11:59:55 statStateMonth (null): 00:00:00 (null)_Count: 1 (since: 2017-06-26_11:59:55)
2017-06-26 11:59:55 statStateYear (null): 00:00:00 (null)_Count: 1 (since: 2017-06-26_11:59:55)
2017-06-26 12:12:47 statWindSpeedDay Min: 4.3 Avg: 7.7 Max: 13.9 (since: 2017-06-26_12:03:55 )
2017-06-26 12:12:47 statWindSpeedHour Min: 4.3 Avg: 7.7 Max: 13.9 (since: 2017-06-26_12:03:55 )
2017-06-26 12:12:47 statWindSpeedMonth Min: 4.3 Avg: 7.7 Max: 13.9 (since: 2017-06-26_12:03:55 )
2017-06-26 12:12:47 statWindSpeedYear Min: 4.3 Avg: 7.7 Max: 13.9 (since: 2017-06-26_12:03:55 )
2017-06-26 12:12:47 state T: 26.7 H: 37 Ws: 4.3 Wg: 8.2 Wd: NW R: 1192.5
2017-06-26 12:12:47 temperature 26.7
2017-06-26 12:12:47 windDirection 14
2017-06-26 12:12:47 windDirectionDegree 315
2017-06-26 12:12:47 windDirectionText NW
2017-06-26 12:12:47 windGust 8.2
2017-06-26 12:12:47 windSpeed 4.3
Helper:
_98_statistics Statistik_CTW600_RaPI2
Attributes:
event-on-update-reading .*
room Garten
showtime 1
Jetzt kommt aber auf dem Master im Event nur die Rainstatistic und sonst nichts an:
dummy CTW600_RaPI2 statRain: Hour: 0.0 Day: 0.0 Month: 0.0 Year: 0.0 (since: 2017-06-26_12:03:55 )
Woran liegt denn das jetzt wieder. Ich dachte wenn ich bei der CTW600_RaPI2 das Attribut event-on-update-reading .*
setzte, dann werden alle readings gesendet. Ist das nicht so? Wie kann ich also erzwingen das immer alle readings gesendet werden und nicht nur die Regenwerte "statRain"?
Danke
"event-on-update-reading .*" verursacht nur ein Performance-Overhed (oder CPU-Bremse), da auch ohne dieses Attribut alle Events weitergereicht werden.
Wenn ich das Statisticmodul richtig verstehe, dann werden Events nur an Stunden- und Tagesgrenzen generiert.