Autor Thema: [Gelöst] Bitte mal das Brett vor meinem Kopf entfernen  (Gelesen 1004 mal)

Offline Motivierte linke Hände

  • Sr. Member
  • ****
  • Beiträge: 591
[Gelöst] Bitte mal das Brett vor meinem Kopf entfernen
« am: 27 Oktober 2022, 09:46:09 »
Ich verstehe nicht, warum ((0 > 0.001) || (0 < 0.001)) hier "wahr" ist:

sub historyCheck ($$) {
  my ($device, $reading) = @_;
  my $newVal = ReadingsNum($device, $reading, 0);
  my $lastVal = ReadingsNum('Datenhalde', 'lastValue_'.$device.'_'.$reading, 0);
  my $newDiff = $newVal - $lastVal;
  my $lastDiff = ReadingsNum('Datenhalde', 'lastDiff_'.$device.'_'.$reading, 0);
  my $diffDifference = $lastDiff - $newDiff;

  if (($diffDifference > 0.001) || ($diffDifference < 0.001)) {
    fhem('setreading Datenhalde lastDiff_'.$device.'_'.$reading.' '.$newDiff);
    Log 1, ("historyCheck($device): Geänderte Abweichung: jetzt $newDiff, vorher $lastDiff, Differenz $diffDifference");
  }
}

Logausgabe:
2022.10.27 09:15:17 1: historyCheck(myMeter): Geänderte Abweichung: jetzt 0, vorher 0, Differenz 0
« Letzte Änderung: 27 Oktober 2022, 10:16:31 von Motivierte linke Hände »
FHEM 6.0 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, SSCAM, Calendar, GardenaSmartDevice, homebridge-fhem, Shelly und ein wenig 1Wire.

Offline rabehd

  • Hero Member
  • *****
  • Beiträge: 1365
Antw:Bitte mal das Brett vor meinem Kopf entfernen
« Antwort #1 am: 27 Oktober 2022, 10:13:24 »
((0 > 0.001) || (0 < 0.001))

0 > 0.001 -> nein
oder
0 < 0.001 -> ja
Ergebnis ja/wahr
Auch funktionierende Lösungen kann man hinterfragen.

Offline Motivierte linke Hände

  • Sr. Member
  • ****
  • Beiträge: 591
Antw:Bitte mal das Brett vor meinem Kopf entfernen
« Antwort #2 am: 27 Oktober 2022, 10:16:09 »
Danke. Gemeint war natürlich

(($diffDifference > 0.001) || ($diffDifference < -0.001))
Das Leben kann so einfach sein, wenn andere beim Denken helfen.
FHEM 6.0 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, SSCAM, Calendar, GardenaSmartDevice, homebridge-fhem, Shelly und ein wenig 1Wire.

Offline Nobbynews

  • Sr. Member
  • ****
  • Beiträge: 529
Antw:Bitte mal das Brett vor meinem Kopf entfernen
« Antwort #3 am: 27 Oktober 2022, 10:23:31 »
(($diffDifference > 0.001) || ($diffDifference < -0.001))

Wie wäre es denn mit((abs($diffDifference) > 0.001)

Offline Motivierte linke Hände

  • Sr. Member
  • ****
  • Beiträge: 591
Antw:[Gelöst] Bitte mal das Brett vor meinem Kopf entfernen
« Antwort #4 am: 27 Oktober 2022, 10:38:07 »
Auch das wäre definitiv besser als mein erster Ansatz!  ::)
FHEM 6.0 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, SSCAM, Calendar, GardenaSmartDevice, homebridge-fhem, Shelly und ein wenig 1Wire.