+ Antworten
Seite 2 von 19 ErsteErste 1 2 3 4 12 ... LetzteLetzte
Ergebnis 11 bis 20 von 188
  1. #11
    Registriert seit
    May 2005
    Beiträge
    2,264

    schaue ich mir an. Ich habe leider keinen KS300, um die Werte zu prüfen. Wenn Du mir aus dem Debug die Kxxx Zeile zusammen mit den korrekten Werten schicken könntest kann ich versuchen, mir einen Reim daraus zu machen.

    Das Konsolidieren geht so nicht, da bei IPS eine Instance immer nur genau ein Parent haben kann. Außerdem wäre es möglich, das jemand 2 getrennte WS300 Systeme hat, z.B. Wohnung und Ferienhaus. Man könnte aber theoretisch im Script die Prüfung auf den Parent rausnehmen und die Instancen direkt ansprechen.

    Tommi

  2. #12
    Registriert seit
    Aug 2014
    Ort
    Ratingen / NRW
    Beiträge
    319

    Hallo Tommi,
    ich habe inzwischen die hexdec-Umwandlung für Temperatur und Feuchte entfernt. Damit stimmen nun diese beiden Werte. Hier die Debugzeilen aus deinem Modul:
    Line:K1775910400E96AF4
    HMS Dev 1 (T/F): T: 17,5 H: 49 W: 0 R: 2793 IR: NO
    {"DataID":"{CD3D1E2D-83ED-4595-90CD-3444A22AAA66}","DeviceID":"1","Class":"CUL-WS300","Typ":"KS300","WSData":{"Id":"1","Class":"C UL-WS300","Signal":-21,"Temp":17.5,"Hum":"49","Wind":0,"RainCounter":279 3,"IsRaining":"NO","Typ":"KS300"}}
    und zum Vergleich die richtigen Messwerte aus FHEM:
    Code:
    T: 17.5  H: 49  W: 0.0  R: 2793.0  IR: no  Wi: 0  RSSI: -86
    Die RSSI-Werte sind scheinbar noch falsch. Windwerte > Null habe ich momentan nicht, ich werde das die nächsten Tage mal beobachten.

    Man könnte aber theoretisch im Script die Prüfung auf den Parent rausnehmen und die Instancen direkt ansprechen.
    Hmm, was bedeuet das dann? Habe ich dann nur noch ein Device pro Sensor?

    Meine erste Idee war, das Modul so abzuändern, dass die 3 Messwerte von CUL, CUN und COC immer in dasselbe Device schreiben. Oder man führt für jeden Messwert des Devices eine neue Variable ein, in die dann die drei Messwerte von CUL, CUN und COC bei Aktualisierung reinkopiert werden.
    Gruß
    Peter

  3. #13
    Registriert seit
    May 2005
    Beiträge
    2,264

    OK. Ich hoffe, ich kann das mal aussortieren.

    * Die hexdec müssen in der Tat weg.

    * Die RSSi ist falsch, weil ich das falsche Byte genommen habe. Allerdings komme ich trotzdem nicht auf den richtigen wert, selbst wenn ich die Definition vom FHEM nehme
    Code:
    $rssi = ($rssi>=128 ? (($rssi-256)/2-74) : ($rssi/2-74));
    Bei einem Code "F4" wie bei Dir wären das 244-256=-12 , /2 =-6 , -74=-80

    * Der Sensor7 wurde anders angezeigt, weil es hier eine Protokoll-Überschneidung gibt. Das ist auch schon ein paar Jahre bekannt. Ich nenne die Geräte jetzt durchgängig "WS300 T/F". Dadurch werden die Sensoren allerdings neu angelegt.

    * Das konsolidieren kannst Du auch selber mit einem Variablentrigger von der angezeigten Variabe in Deine eigene Variable machen.

    Fix kommt heute noch.

    Tommi

    .

  4. #14
    Registriert seit
    Aug 2014
    Ort
    Ratingen / NRW
    Beiträge
    319

    Allerdings komme ich trotzdem nicht auf den richtigen wert, selbst wenn ich die Definition vom FHEM nehme.
    Das kann trotzdem richtig sein, da ich die COC nacheinander an den IPS-Server oder an FHEM gehängt habe. Da die RSSI-Werte evt. leicht schwanken ist ein Delta von 6 (80 zu 86) evt. ok.

    EDIT: Habe gerade das Update des Moduls gesehen. Bei
    $rainc = $a[14] . $a[11] . $a[12];
    sollte hexdec aber stehen bleiben, da es HexWerte geben kann.

    Gruß
    Peter
    Geändert von PumpkinEater (20.05.16 um 18:25 Uhr)

  5. #15
    Registriert seit
    May 2005
    Beiträge
    2,264

    Rainc ist jetzt wieder entsprechend geändert.

    Tommi

  6. #16
    Registriert seit
    Aug 2014
    Ort
    Ratingen / NRW
    Beiträge
    319

    Sieht gut aus - vielen Dank.
    Man könnte aber theoretisch im Script die Prüfung auf den Parent rausnehmen und die Instancen direkt ansprechen.
    Wo kann ich das im Modul anpassen? Ich habe versucht, in der Funktion SendWSData() die Überprüfung der ConnectionID herauszunehmen:
    PHP-Code:
                  if ($I) { //my child
    //            if ($I && ($I['ConnectionID'] == $this->InstanceID)) { //my child 
    Dann wird auch tatäschlich nur ein Device pro Sensor angelegt. Das scheint dann bei neuen Messwerten nicht richtig zu funktionieren. Wenn ein Messwert z.B. über die CUN eintrifft, wird das Device nur dann aktualisiert, wenn das Device vorher von einem ersten CUN-Messwert angelegt wurde.
    Kannst Du mir dazu einen Tipp geben, wie ich das anpassen kann?
    Danke und Gruß
    Peter

  7. #17
    Registriert seit
    May 2005
    Beiträge
    2,264

    Die Parent-Prüfung im Device beinhaltet auch die absendende Klasse und den Typ, welche im Datenpacket übertragen wird
    Um dort unabhängig zu sein musst Du im Datenarray des Splitters auch noch in $data 'Class' und 'Typ' auf einen einheitlichen Wert stellen. beim Erstellen des Devices wird das als Property eingetragen und beim Empfangen gegengeprüft. (siehe WSDEV/module.php Funktion ReceiveData)
    PHP-Code:
    $Device $data['DeviceID'];
    $typ $data['Typ'];
    $class $data['Class'];
    $myID $this->GetDeviceID();
    $myType $this->GetType();
    $myClass $this->GetClass();
     if ((
    $myID == $Device) && ($myType == $typ) && ($myClass == $class)){
    ...

    HTH
    Tommi

  8. #18
    Registriert seit
    Aug 2014
    Ort
    Ratingen / NRW
    Beiträge
    319

    HI Tommi,
    danke für die Infos. Ich habe mich jetzt doch entschieden, das Modul im Originalzustand zu belassen. Ich bastele gerade an einem Copy-Script, dass von allen CUN/CUL/COC-Devices bei Aktualisierung getriggert wird, dann ein virtuelles Device pro Sensor anlegt (falls es noch nicht existiert), und dann die Messwerte dorthin kopiert. Bei neuen Sensoren muss ich dann nur noch die Trigger für diese Sensoren neu anlegen.

    Viele Grüße
    Peter

  9. #19
    Registriert seit
    Aug 2014
    Ort
    Ratingen / NRW
    Beiträge
    319

    Hallo Tommi,
    neues Problem: Ich bekomme die Daten meines Gaszählers (EMGZ) nicht in das Device. Das EMGZ-Device wird beim ersten Mal richtig angelegt, und bei neu eintreffenden Daten ändert sich auch das Aktualisierungsdatum, die Werte sind aber bis auf RSSI alle auf Null.
    Das Logfile sieht eigentlich ganz gut aus, dort sieht man auch, dass die Werte zunächst richtig gelesen werden:
    26.05.2016 08:14:16*| WSDEV*| (ID #42352) ReceiveData :: Data arrived:{"DataID":"{3C60BF34-7DD3-4234-B865-AF1606BB267C}","DeviceID":10,"Typ":"EMGZ","Class": "CUL-EM","ENData":{"Id":10,"Class":"CUL-EM","Typ":"EMGZ","Counter":16826,"PCounter":16826, "ACounter":0,"Signal":-67}}
    Zum Vergleich: In FHEM erzeugt der EMGZ folgende Einträge (einige Stunden vorher aufgezeichnet):
    2016-05-26_00:03:31 Gas_Haus RAW: CNT: 177 CUM: 16813 5MIN: 0 TOP: 16813
    2016-05-26_00:03:31 Gas_Haus peak_cnt: 16813
    2016-05-26_00:03:31 Gas_Haus total_cnt: 16813
    2016-05-26_00:03:31 Gas_Haus current: 0
    Hast Du eine Idee, was hier falsch läuft?

    Gruß
    Peter
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	EMGZ1.jpg 
Hits:	110 
Größe:	192.0 KB 
ID:	34418   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	EMGZ2.png 
Hits:	111 
Größe:	72.0 KB 
ID:	34419  

  10. #20
    Registriert seit
    May 2005
    Beiträge
    2,264

    Hm,
    kannst Du mir Bitte mal eine Debug-Ausgabe des dazugehörigen EnergyDev schicken, wenn die Daten reinkommen?

    Tommi

Ähnliche Themen

  1. Eigene IP Symcon Module mit Delphi 7 Personal Edition
    Von risto im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 0
    Letzter Beitrag: 12.11.13, 12:16
  2. Alpha/Beta Test meiner Module für V2.7
    Von tommi im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 37
    Letzter Beitrag: 18.08.13, 11:22
  3. Neue Module?
    Von Ranise im Forum IPSLibrary
    Antworten: 1
    Letzter Beitrag: 14.11.12, 20:45
  4. Neue Module
    Von Hinti im Forum Allgemeine Diskussion
    Antworten: 3
    Letzter Beitrag: 10.11.07, 18:22
  5. Überarbeitung meiner Module(M232,ULA200,UAD8,UIO88,IOPORT)
    Von tommi im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 0
    Letzter Beitrag: 08.01.07, 21:17

Stichworte