Zitat von: DS_Starter am 30 März 2026, 23:27:22die Ermittlung des Energieverbrauchs ist im Wiki beschrieben.
Zitat von: Beta-User am 30 März 2026, 21:30:06Hallo zusammen,
sieht so aus, als wäre es eventuell lohnend, den M5-Atom-Echo nochmal aus der Grabbel-Kiste zu holen. Hatte mal mit dem als Rhasspy-Satelliten experimentiert: https://community.rhasspy.org/t/m5-atom-echo-as-satellite/1784, vermutlich ist das noch keine S3-Variante.
Es gibt die Dinger übrigens auch mit Display: https://github.com/RealDeco/xiaozhi-esphome?tab=readme-ov-file
Zitat von: Beta-User am 30 März 2026, 21:30:06Habe im Moment noch andere Baustellen, von daher kann ich das Tempo im Moment nicht mitgehen.
Sehr cool ist jedenfalls auch das mit dem WebApp-Support. Nach der Anleitung von https://forum.fhem.de/index.php?msg=1360621 ist es mir auch gelungen, zumindest unter Chrome@Android ohne allzugroße Umstände mein Testsystem fullscreen auf dem Handy angezeigt zu bekommen und was einsprechen zu können. Von daher werde ich wohl erst mal versuchen RHASSPY so aufzubohren, dass das mit FHEMWEB-Events umgehen kann und passende Antworten ausspricht, ohne dass man dafür FULLY/fully benötigt.
Zitat von: Beta-User am 30 März 2026, 21:30:06Bezüglich Doku und Installation etc.: Ist geplant, die für die global-notify-Lösung benötigten .js-Files ins svn (contrib) zu bringen?
Zitat von: Beta-User am 30 März 2026, 21:30:06Damit das Ganze für später Lesende nicht zu verwirrend wird, ist es vermutlich besser, für die RHASSPY-spezifischen Themen dann einen neuen Thread aufzumachen, oder?
global:STT:.* {
my ($cleanEvent, $clientId) = $EVENT =~ /^(.*)\s\[(.*)\]$/;
$cleanEvent //= $EVENT;
$clientId //= "unknown";
my $event_lc = lc($cleanEvent);
# ---------------------------
# Text bereinigen (optional)
# ---------------------------
$event_lc =~ s/\b(ich|brauche|mach|bitte|kannst du|würdest du|mal|doch)\b//g;
# ---------------------------
# Synonyme
# ---------------------------
my %rooms = (
"esszimmer" => "Lampe01_Ez",
"küche" => "Deckenlampe_Kue",
);
my %onWords = map { $_ => 1 } qw(an ein einschalten schalte starte aktivier aktiviere);
my %offWords = map { $_ => 1 } qw(aus ausschalten schalte stop stoppe beende deaktivier deaktiviere);
# ---------------------------
# INTENT: LICHT
# ---------------------------
if ($event_lc =~ /(licht|lampe)/) {
my ($room) = grep { $event_lc =~ /\b$_\b/ } keys %rooms;
my $cmd;
if (grep { $event_lc =~ /\b$_\b/ } keys %onWords) {
$cmd = "on";
}
elsif (grep { $event_lc =~ /\b$_\b/ } keys %offWords) {
$cmd = "off";
}
if ($room && $cmd) {
fhem("set $rooms{$room} $cmd");
return;
}
}
# ---------------------------
# INTENT: FERNSEHER
# ---------------------------
if ($event_lc =~ /(fernseher|tv)/) {
if (grep { $event_lc =~ /\b$_\b/ } keys %onWords) {
fhem("set VuPlus on");
}
elsif (grep { $event_lc =~ /\b$_\b/ } keys %offWords) {
fhem("set VuPlus off");
}
return;
}
# ---------------------------
# INTENT: STAUBSAUGER
# ---------------------------
if ($event_lc =~ /(reinige|sauge|putze)/) {
my %roomsVac = (
"arbeitszimmer" => "Arbeitszimmer",
"badezimmer" => "Badezimmer",
"esszimmer" => "Esszimmer",
"flur" => "Flur",
"küche" => "Küche",
"wohnzimmer" => "Wohnzimmer"
);
my @found = grep { $event_lc =~ /\b$_\b/ } keys %roomsVac;
if (@found) {
fhem("set MQTT2_valetudo_FlusteredUnequaledFish clean_segment " .
join(",", map { $roomsVac{$_} } @found));
}
return;
}
# ---------------------------
# INTENT: AMBIENTE
# ---------------------------
if ($event_lc =~ /ambiente/) {
if ($event_lc =~ /(\d+)/) {
my $b = ($1 > 255 ? 255 : ($1 < 1 ? 1 : $1));
fhem("set LampeSzeneAlle brightness $b");
}
elsif (grep { $event_lc =~ /\b$_\b/ } keys %onWords) {
fhem("set LampeSzeneAlle on");
}
elsif (grep { $event_lc =~ /\b$_\b/ } keys %offWords) {
fhem("set LampeSzeneAlle off");
}
return;
}
# ---------------------------
# INTENT: AMBILIGHT (SSH)
# ---------------------------
if ($event_lc =~ /ambilight/) {
system("sshpass -p '1431Fhem1982' ssh -o StrictHostKeyChecking=no root\@192.168.1.46 '/usr/share/hyperhdr/scripts/hyperhdr_toggle.sh'");
return;
}
# ---------------------------
# INTENT: LADESTATION
# ---------------------------
if ($event_lc =~ /(lade|aufladen|dock)/) {
fhem("set MQTT2_valetudo_FlusteredUnequaledFish charge");
return;
}
# ---------------------------
# HILFE
# ---------------------------
if ($event_lc =~ /(hilfe|kommandos)/) {
my $h = '<div style="text-align:left;;min-width:200px;;font-family:sans-serif;;"><b>Beispiele:</b><br><br>';
$h .= "• Licht im Esszimmer an<br>";
$h .= "• Küche Licht aus<br>";
$h .= "• Reinige Wohnzimmer<br>";
$h .= "• Ambiente 120<br>";
$h .= "• Fernseher an<br></div>";
$h =~ s/'/\\"/g;
my $js = "if((document.querySelector('input[name=\"fw_id\"]')||{}).value==='$clientId'){FW_okDialog('$h')}";
FW_directNotify("#FHEMWEB:$_", $js, "")
for devspec2array("TYPE=FHEMWEB");
return;
}
}Zitat von: Burny4600 am 20 März 2026, 19:03:03Vor der Aktualisierung auf Trixie funktionierte unter FHEM der nanoCUL noch.
pi@fhempi:~ $ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 26. Mär 21:59 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 26. Mär 21:59 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 30. Mär 20:52 /dev/ttyUSB2
pi@fhempi:~ $ ls -l /dev/ttyACM*
crw-rw---- 1 root dialout 166, 0 30. Mär 20:59 /dev/ttyACM0pi@fhempi:~ $ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.4
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"Zitat von: drhirn am 30 März 2026, 15:50:27set DEVICE attrTemplate set_associatedWith \CHANNELS=4Hmm, irgendwie _glaube_ ich, dass diese Zeile (viel) zu spät kommt, bzw. hier wohl entfallen müßte, einfach, weil die Nummerierung nicht paßt (wegen der Array-like Zählweise).