Hi

Since the last update I often receive wrong temperature values in digitalstrom for my enocean sensors. They would randomly be sent as 152.55 degrees. In P44 the values are correct but in DS system they are wrong. Any ideas?

  • luz hat auf diesen Beitrag geantwortet.

    Hi,

    adultano Since the last update [...]

    Which update? Of the P44-DSB to (presumably) 2.6.4, or the more recent dSS update to 1.19.3?

    There was no change in P44-DSB related to value reporting to dSS between previous version 2.6.1 and current 2.6.4.

    What kind of sensor is it? Could it be dependent on the actual temperature value reaching some upper limit?

    To analyze the problem in detail, it would be useful to catch log messages around the time when such a faulty temperature value is present, preferably in log level 6 (click the small "6" link in the "Log" tab).

    You should then see the sensor updates and the pushes to the dSS in the log like this:

    [2022-05-26 12:03:03.630 I] vdSD F7F3F5EEFA505F512345674987952C2000 (Test Sensor): sensor[1] temperature 'device temp': reports same value = 39.790 °C
    [2022-05-26 12:03:03.632 I] vdSM <- vDC (pbuf): notification='pushNotification', params={ changedproperties:{ sensorStates:{ temperature:{ age:0.001260, error:0, value:39.710000 } } }, dSUID:F7F3F5EEFA505F512345674987952C2000 }
    [2022-05-26 12:03:03.633 N] vdSD F7F3F5EEFA505F512345674987952C2000 (Test Sensor): sensor[1] temperature 'device temp': successfully pushed value = 39.710 °C
    [2022-05-26 12:03:03.634 I] vdSD F7F3F5EEFA505F512345674987952C2000 (Test Sensor): handler executed: result =  undefined [undefined] // no return value

    of this, the second line in particular is interesting, this is what is actually sent to the dSS, in a more readable formatting it reads like:

    {
      changedproperties: {
        sensorStates: {
          temperature: {
            age: 0.001260,
            error: 0,
            value: 39.710000
          }
        }
      },
      dSUID: F7F3F5EEFA505F512345674987952C2000
    }

    That's what the vdSM component in the dSS receives, and if these values are correct but the dSS readout is not, then it must be something in the vdSM or dSS itself.

    Also Versionen sind korrekt: DS 1.19.3, P44 2.6.4. Unglücklicherweise habe ich beide Updates am 19.5. gemacht, so dass ich nicht beurteilen kann, ob DS oder P44 Update den Fehler hervorrufen. Die Logs hab ich versucht zu checken, nicht wirklich etwas was mir aufgefallen ist, ausser vielleicht unten ganz am Schluss: query:{ sensorStates:{ temperature:{ :null } } } }

    Interessanterweise passiert es immer um Minute 0-5 in jeder Stunde, der Wert geht entweder auf 151.255 oder 843.325 Grad und zwar nur bei einem der Eintrage in DS, siehe Screenshot, Das bleibt dann unterschiedlich lange falsch, manchmal 5 min, manchmal mehrere Stunden. Und obwohl der Timestamp bei beiden Einträgen im System derselbe ist, ist einer korrekt und der andere falsch. Ich habe ca. 10 Enocean Sensoren und bei allen passiert das. Image description
    Image description

    [2022-05-28 21:02:20.877 N] vdSD 6126722084C95C1DC0FE2F76B53938E300 (Temp / Feuch Andrin): sensor[0] temperature 'Temperature, 0.0..40.8 °C': successfully pushed value = 23.520 °C
    [2022-05-28 21:02:20.887 I] vdSM -> vDC (pbuf) notification received: method='setControlValue', params={ dSUID:[ '6126722084C95C1DC0FE2F76B53938E300' ], name:'TemperatureZone', value:23.500000 }
    [2022-05-28 21:02:20.887 I] vDChost 10465173F27A533E80AE6D2539971F5D00: ==== passing 'setControlValue' for 1 devices for delivery to vDC D55F1E281D8B5F90C0EEE9732B6BD87E00 (P44 Enocean)
    [2022-05-28 21:02:30.099 I] vdSM -> vDC (pbuf) method call received: requestid='2439', method='getProperty', params={ dSUID:'038CC71BA76C5ACD80E7D5B9F56D346200', query:{ sensorStates:{ temperature:{ :null } } } }

    • luz hat auf diesen Beitrag geantwortet.

      adultano Die Logs hab ich versucht zu checken, nicht wirklich etwas was mir aufgefallen ist, ausser vielleicht unten ganz am Schluss: query:{ sensorStates:{ temperature:{ :null } } } }

      Das ist nicht das Problem, das null ist der Platzhalter bei einer query (Anfrage vom dSS aus an die P44); in der dazugehörenden Antwort füllt die P44 dann die zu temperature gehörenden Werte ein.

      adultano Interessanterweise passiert es immer um Minute 0-5 in jeder Stunde

      Das ist jetzt in der Tat interessant - ich kann mir aber noch keinen Reim drauf machen ☹️

      Leider passt der Logausschnitt oben nicht exakt auf die timestamps im Screenshot - es wäre hochinteressant zu sehen, was im P44-log um 2022-05-28 21:05:08 steht. Der Logausschnitt ist von 3 minuten vorher. Am besten für mich zum Analysieren wäre eine Kopie des ganzen current log (vielleicht besser per mail an automation@plan44.ch als hier).

      3 Monate später

      Update: Das Problem wurde inzwischen dSS-seitig gelöst.