Neueste Beiträge

#1
DOIF / Aw: Ausführung DOIF subs block
Letzter Beitrag von dw82 - 09 Juli 2025, 23:57:20
Also ich habe jetzt mal ein Minimalbeispiel erstellt. Wenn man die aktuelle FHEM Version auscheckt und ein einziges DOIF mit der Definition

DOIF subs {
  sub callback($) {
    fhem("setreading $SELF callback OK");
  }
}
{
  if ([$SELF:"test"]) {
    my $param = {
      url => "localhost:8083",
      callback => \&callback
    };
    ::HttpUtils_NonblockingGet($param);
  }
}

sowie mit Attribut

setlist test

erstellt, so führt

set ... test

zu

condition c02: Undefined subroutine &DOIF::callback called at FHEM/HttpUtils.pm line 962

Beim ersten Testen konnte ich auch einen Absturz von FHEM bewirken, beim erneuten Ausführen wird die Exception abgefangen und ein entsprechendes Reading erzeugt.
Ich habe jetzt auch einen Workaround gefunden. Ein zusätzlicher erster Block

init {
  fhem_set("$SELF block_02");
}

behebt das Problem. Allerdings wirkt dies auf mich umständlich und ich bin der Meinung, dass der subs Block automatisch beim FHEM-Start (eager) oder der ersten Blockausführung des DOIFs (lazy) ausgeführt werden müsste.
Außerdem sollte er auch nach jedem modify der Definition aufgerufen werden, was anscheinend ebenfalls nicht der Fall ist.
#2
Heizungssteuerung/Raumklima / Aw: Vitoconnect bringt FHEM zu...
Letzter Beitrag von stefanru - 09 Juli 2025, 23:29:05
Hi Olaf,
sorry für die späte Antwort.
Bin leider noch ziemlich unter Wasser helfen will ich dir aber trotzdem.

Welche Version des Moduls verwendest du?
Das ganze ist schon etwas mysteriös, da ich auch wegen des schlechten WLAN Moduls der Vitoconnect ab und zu mal ein
statusCode: 400 errorType: DEVICE_COMMUNICATION_ERROR message:  error: undef reason: GATEWAY_OFFLINE
habe.

Dabei aber dann nicht die Probleme wir du. Auch habe ich schon anderen mit statusCode: 400 geholfen niemand hatte dann einen Absturz von FHEM.

Schreib mir mal deine genaue Version, ich schaue mal ins Coding was mir dazu einfällt.

@Beta-User: Das File handling war schon so drin, wenn etwas anderes besser wäre schaue ich mir das auch an.

Viele Grüße,
Stefan
#3
Sonstige Systeme / Aw: Netatmo Modul - 38_netatmo...
Letzter Beitrag von BroPi - 09 Juli 2025, 21:52:06
Nach einem FHEM-Neustart hatte Netatmo sich wieder gefangen und alles ist wieder OK.
#4
Solaranlagen / Aw: PowerFlow [animiertes SVG,...
Letzter Beitrag von Marlen - 09 Juli 2025, 21:27:51
Guten Abend,

danke 😘😘.
Jetzt steig ich ein bisschen mehr durch!

Vielen lieben Dank!

Marlen
#5
FHEMapp / Aw: Date/Time Picker
Letzter Beitrag von OliS. - 09 Juli 2025, 21:13:39
Hallo,
ich gehe mal davon aus, dass es in dieser Sache keine Neuigkeiten gibt, oder?

Ich habe versucht, anstelle eines Time Pickers, die Zeiten (das FHEM Device verlangt sie im Format HH:MM) so zu übergeben.

"00\\:10:set nixie_timer 00\\:10"

Das funktioniert aus mir nicht ersichtlichen Gründen jedoch nicht. Im Menü wird die Zeit "00:10" korrekt als Auswahl angezeigt. Der Befehl kommt jedoch in FHEM nicht an.

Wenn ich den Doppelpunkt versuche mit nur einem \ zu maskieren, wie es in der Doku steht, bekomme ich übrigens einen JSON-Parse Error im Code-Editor angezeigt.

Was übersehe ich?

LG
Oli
#6
FRITZ!Box / Aw: 72_FRITZBOX.pm ab Version...
Letzter Beitrag von juemuc - 09 Juli 2025, 21:06:47
Hallo Jörg,

ja das ist nur bei der FB6690. Hier müsste grundsätzlich "?ui=" durch "/" ersetzt werden. Dann gehen diese Befehle. Zum Beispiel:

Result of data = generic/aura
----------------------------------------------------------------------
{
  'data' => {
              'enabled' => '0',
              'aura4printer' => '0',
              'aura4other' => '0',
              'status' => '1',
              'aura4storage' => '0'
            },
  'sidNew' => 0,
  'sid' => 'ace79b41eb2a8e6a'
}

Dort wo schon ein "/" oder nur ein Wort steht, habe ich keine Idee. Diese funktionieren nicht.

Viele Grüße
Jürgen
#7
DOIF / Aw: Ausführung DOIF subs block
Letzter Beitrag von Damian - 09 Juli 2025, 20:33:52
Der subs-Block wird als erster Block per eval während der Definitionsphase des DOIF-Devices ausgeführt. Darin selbst definierte Funktionen befinden sich im DOIF-Package und können in anderen DOIF-Perlblöcken, die per Event-Trigger oder Zeittrigger ausgeführt werden, unmittelbar genutzt werden. Die eigenen Perlfunktionen sollten alle zum Ausführungszeitpunkt bereits existieren, da Trigger erst nach der Initialisierungsphase des FHEM-Systems kommen können und da sind bereits alle Devices definiert.

Zu beachten ist, dass alle DOIF-Devices den gleichen Namensraum (package DOIF) nutzen. Das bedeutet, dass die Funktionsnamen definiert im subs-Block über alle DOIF-Devices eindeutig sein müssen, sonst werden sie von anderen überschrieben.

Wenn du eine konkrete Definition hast, die nachvollziehbar zu einem Problem führt, dann kannst du sie hier posten.

#8
MQTT / Aw: MQTT2 zu MQTT2
Letzter Beitrag von Beta-User - 09 Juli 2025, 20:11:57
Zitat von: maci am 09 Juli 2025, 18:09:35Yeep!  :)
Das hat schon mal funktioniert

8)

Als nächstes musst du entscheiden, wie die Topic-Struktur in diese Richtung aussehen soll, dann, welcher Event-Handler oder Timer auf dem Haupt-FHEM eingesetzt werden soll, um das Aktualisieren zu übernehmen (at, notify, DOIF oder MQTT_GENERIC_BRIDGE).
#9
Wiki / Aw: EEBUS
Letzter Beitrag von klaus.schauer - 09 Juli 2025, 19:55:49
Zitat von: Parallix am 09 Juli 2025, 19:15:14Es gibt sehr wohl eine Notwendigkeit eine Mindesteinspeiseleistung zuzulassen, da andernfalls einige Dinge, wie z.B. das "Überschussladen" von Elektoautos, einfach nicht mehr funktionieren!
Weshalb verhindert die Nulleinspeisung "einige" Dinge? Welche Dinge denn noch?
#10
Home Connect / Aw: Verbesserungswünsche/Anreg...
Letzter Beitrag von Prof. Dr. Peter Henning - 09 Juli 2025, 19:24:21
Zitat von: Floon am 27 Juni 2025, 14:05:08Denke also es sollte auch über die API mit deinem Modul verfügbar gemacht werden können?
Woher kommt diese Überzeugung? Wir haben bereits an anderer Stelle darüber diskutiert, dass Favoritenprogramme mit der für FHEM zugänglichen API-Version nicht funktioniert.

Zitat von: Adimarantis am 27 Juni 2025, 22:43:51Ich weiss ganz ehrlich nicht genau, was das machen soll
Hier müsste BSH erst einmal Ordnung im API schaffen.

LG

pah