Werte einer Wetterstation mit Fhem2Fhem übergeben

Begonnen von FEHMPiDi, 25 Juni 2017, 21:34:11

Vorheriges Thema - Nächstes Thema

FEHMPiDi

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.







FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

LuckyDay

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

Otto123

#2
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  ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

LuckyDay

so heißt er am Master bei ihm

NAME       CTW600_RaPI2

und so muß auch der dummy dann heißen

rudolfkoenig

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

NewRasPi

#6
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)
Raspberry Pi 2 Mod B + Raspberry Pi 3 + Raspberry Pi4; HM Lan Adapter; 8 Kanal Relaiskarte; ca. 15x 1wire Temperatur Sensor DS18B20; 10x HC-SR501 Bewegungsmelder; 9x HM Rauchmelder HM-Sec-SD; HM Funk Fenstersensoren; HM Strommess-Zwischenstecker;

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

FEHMPiDi

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
FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

rudolfkoenig

"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.