Hauptmenü

Neueste Beiträge

#91
Unterstützende Dienste / Aw: THRESHOLD Modul und die OR...
Letzter Beitrag von fsyy - 02 Dezember 2025, 16:25:20
Ich denke der verantworliche Codeschnippsel ist der hier:

} elsif ($hash->{operator} eq "OR") {
                if (($s_value > $sensor_max) || ($s2_state eq $sensor2_state)) {
                  THRESHOLD_setValue($hash,1);
                } elsif (($s_value < $sensor_min) && ($s2_state ne $sensor2_state)){
                    THRESHOLD_setValue($hash,2);
                  } else {
                      THRESHOLD_setValue($hash,$cmd_default) if (ReadingsVal($pn,"cmd","") eq "wait for next cmd" && $cmd_default != 0);
                    }
              }


Vermutlich würde es reichen wenn man das elsif (($s_value < $sensor_min) && ($s2_state ne $sensor2_state)) in das ändert elsif (($s_value < $sensor_min) || ($s2_state ne $sensor2_state))

Edit: so einfach ist es natürlich nicht, THRESHOLD ist ausgelegt auf Sensor1 numerisch, Sensor2 auf Strings. Also eher für eine Kombination Thermometer <-> OPEN/CLOSE.
#92
Sonstiges / Aw: DBI connect fail
Letzter Beitrag von betateilchen - 02 Dezember 2025, 16:16:57
Zitat von: Hardy74 am 02 Dezember 2025, 15:50:25Bei 2 der momentan 7 Abtürze heut war noch ein bisschen Kontext:
DBI connect('database=fhem;host=192.168.178.252;port=3306','raspi22',...) failed: Lost connection to MySQL server at 'reading authorization packet', system error: 104 at configDB.pm line 751.

Wenn Du nach

Lost connection to MySQL server at 'reading authorization packet'
googelst, wirst Du jede Menge Informationen finden. Das Problem scheint also tatsächlich Deine Systemumgebung zu sein und nicht FHEM.
#93
Anfängerfragen / Aw: Wie Speicherauslastung im ...
Letzter Beitrag von betateilchen - 02 Dezember 2025, 16:14:58
Es gibt für solche Aufgaben auch fertige FHEM Module.

https://commandref.fhem.de/#SYSMON
https://commandref.fhem.de/#SYSSTAT

Mir sind die aber alle zu überladen für solche "Kleinigkeiten".
#94
Anfängerfragen / Aw: Wie Speicherauslastung im ...
Letzter Beitrag von betateilchen - 02 Dezember 2025, 16:11:29
defmod hdd at +*01:00:00 {getHdd $SELF}

In der 99_myUtils.pm die Funktion getHdd() anlegen:

sub getHdd {
  my $dev = shift;
  my @disks = split("\n",(`df -h |grep nvme`));
  map {my @l = split(" ",$_); fhem "setreading $dev ".makeReadingName($l[0])." $l[4]";} @disks;
  return;
}

Dann entstehen einmal pro Stunde zwei readings in dem at-device mit den Namen der Partitionen und der Belegung:

setstate hdd 2025-12-02 16:08:28 /dev/nvme0n1p1 10%
setstate hdd 2025-12-02 16:08:28 /dev/nvme0n1p15 10%
#95
Anfängerfragen / Aw: Wie Speicherauslastung im ...
Letzter Beitrag von is2late - 02 Dezember 2025, 15:59:03
Vielen Dank, Betateilchen!

ZitatDas lässt sich doch wunderbar zeilenweise auswerten?
Tja... dafür fehlt mir leider das Handwerkszeug, fürchte ich.
Kannst Du mir verraten, wie man von Fhem aus auf diese Infos zugreifen kann?
zB, wenn man Deine Lösung für die Abfrage der "echten" Speicherorte nutzen möchte?

LG
#96
Unterstützende Dienste / Aw: THRESHOLD Modul und die OR...
Letzter Beitrag von fsyy - 02 Dezember 2025, 15:52:44
mein Gedanke war, wenn Sensor1 stehen bleibt bei z.B. 23 Grad. Der Threshold sagt aber 25 Grad mit 4 Grad Hysterese. Sensor2 steigt aber weiter bis 25 Grad erreicht sind, dann soll abgeschaltet werden.
Das gleiche Spiel in die andere Richtung.

Das sollte doch einem ausgefallen Thermostat Herr werden. Momentan ist es ja so, das zwar bei Unterschreiten des Schwellwertes einer der Sensoren die Heizung angeschaltet wird, aber wenn dann der obere Schwellwert nur von einem erreicht wird dann schaltet das System nicht ab. Bei Ausfall einer der Sensoren würde dann einfach ewig weitergeheizt.

Das ist so mein Verständnis des THRESHOLD Moduls mit OR.
#97
Sonstiges / Aw: DBI connect fail
Letzter Beitrag von Hardy74 - 02 Dezember 2025, 15:50:25
ZitatMan sollte auch in einem lokal laufenden Datenbankserver die beiden Anwendungen "DbLog" und "configDB" besser in getrennten Datenbanken halten.
Alles klar, dann werde ich das mal trennen. Wahrscheinlich steht das auch irgendwo!?  ;)

ZitatDie Betonung lag hier auf dem "Du".
8)

ZitatDie Ursache ist, dass ich als Entwickler vor langer Zeit entschieden habe, dass ich genau dieses Verhalten haben möchte, um den Anwender dazu zu bringen, seine Installation und seine Netzwerkumgebung in Ordnung zu bringen und zu halten.

Es macht keinen Sinn, FHEM weiterlaufen zu lassen, wenn die configDB nicht verfügbar ist. Dafür wird sie tatsächlich zu oft gebraucht.
Valide Begründung!

Bei 2 der momentan 7 Abtürze heut war noch ein bisschen Kontext:
DBI connect('database=fhem;host=192.168.178.252;port=3306','raspi22',...) failed: Lost connection to MySQL server at 'reading authorization packet', system error: 104 at configDB.pm line 751.

ZitatBring Dein Netzwerk in Ordnung, dann wird es auch keine Abbrüche mehr geben.
Ich werde berichten...  ;)
#98
Server - Linux / Aw: [gelöst] sudoers will mir ...
Letzter Beitrag von Otto123 - 02 Dezember 2025, 15:45:58
Hi,
Zitat von: cs-online am 28 November 2025, 20:56:22ich habe genau das gleiche Problem,
Du meinst Du willst aus fhem heraus Befehle auf der gleichen Maschine mit sudo ausführen? Das hatte ich hier mal aufgeschrieben.

Zitat von: cs-online am 28 November 2025, 20:56:22Ein su fhem macht genau gar nichts, der prompt bleibt beim User, der angemeldet ist. Ein Userwechsel über das System ging, ebenso das anmelden des Users fhem mit dem vergebenen Passwort.
Das verstehe ich nicht, klingt irgendwie verwirrend. Bei su fhem sollte er nach dem Passwort fragen.

Allerdings kann man auch ohne fhem ein Passwort zu geben als user fhem arbeiten:
sudo -su fhem
Gruß Otto
#99
Anfängerfragen / Aw: Wie Speicherauslastung im ...
Letzter Beitrag von betateilchen - 02 Dezember 2025, 15:43:52
Zitat von: is2late am 02 Dezember 2025, 15:26:33der verfügbare Speicherplatz in ext4 auf 0 %

Ähm... "ext4" ist kein Speicherort, sondern die Typbezeichnung eines Filesystems.
#100
Anfängerfragen / Aw: Wie Speicherauslastung im ...
Letzter Beitrag von betateilchen - 02 Dezember 2025, 15:42:28
{`df -h`}
liefert:

Filesystem           Size  Used Avail Use% Mounted on
udev                 461M     0  461M   0% /dev
tmpfs                 95M  468K   95M   1% /run
/dev/nvme0n1p1        40G  3.7G   34G  10% /
tmpfs                473M     0  473M   0% /dev/shm
tmpfs                5.0M     0  5.0M   0% /run/lock
/dev/nvme0n1p15      124M   12M  113M  10% /boot/efi

Das lässt sich doch wunderbar zeilenweise auswerten?

Noch einfacher:

{`df -h |grep nvme`}
liefert nur die "echten" Speicherorte:

/dev/nvme0n1p1        40G  3.7G   34G  10% /
/dev/nvme0n1p15      124M   12M  113M  10% /boot/efi