Hauptmenü

Neueste Beiträge

#1
Sonstige Systeme / Aw: Eigenen carbon footprint v...
Letzter Beitrag von chrissi29 - 06 Oktober 2025, 13:57:52
Ich weiß nicht, was früher in den Daten war, aber im Monent ist nur noch das Reading "carbonIntensity" interessant. Rest sind Zeitstempel, etc. Bei mir funkionert es wie gehabt.
#2
Anfängerfragen / Aw: Benachrichtigungsnotify zu...
Letzter Beitrag von MadMax-FHEM - 06 Oktober 2025, 13:18:35
Zitat von: Marko1976 am 06 Oktober 2025, 10:47:03Also nichts für ungut, aber ich frage mich gerade wer dumm und wer dümmer ist, dass wir so im Kreis reden. Genau das schreibe ich seit etlichen Tagen. Doch es gibt Leute hier im Forum die das eben nicht akzeptieren können und meinen nur weil Sie Perl kennen und Fhem damit erweitern MUSS das jeder andere auch können/tun.
Zu dumm und dümmer sage ich jetzt nichts...

Und ich habe nie behauptet, dass ich Perl kenne/kann, auch ich tue mich manchmal "schwer"...
Aber wie geschrieben bzgl. Logik ist es eine (halbwegs) "normale" Programmierprache und mal Syntax o.ä. nachschlagen stört mich nicht.
MMn findet programmieren unabhängig von der Umsetzungssprache statt (gut Ausnahmen gibt es, z.B. wenn es keine Objektorientierung in einer Sprache gibt, dann muss man es eben anders lösen).

Und dann versucht man das "ausgedachte" eben in der jeweiligen Sprache zu formulieren...
EDIT: also überlegen was ich tun will und wie ich es umsetzen will überlege ich unabhängig von der letztendlich zu nutzenden Programmiersprache, im Kopf behalten nat, wenn bestimmte Konstrukte nicht gehen (selten passiert), die dann entweder gleich etwas anders denken oder spät. bei Umsetzung anpassen an die sprachlichen Möglichkeiten. Und mal nachschlagen, wie eine for-Schleife o.ä. in der jeweiligen Programmiersprache nun "formuliert" werden muss, stört mich nicht (google weiß das meist auf Nachfrage ;) ). Dadurch bin ich maximal flexibel. Ja, auch das ist meine Herangehensweise. Und (nochmal) ich will und wollte dir nie meine Herangehensweise "aufzwingen" oder "du musst Perl" lernen vermitteln. Nur eben, dass in fhem manches halt nur durch dich anpassbar ist so wie du es möchtest, wenn du eben Perl nutzt. Wenn dir Word keine Fettschrift bieten würde, du es aber haben wolltest: geht GAR NICHT. Wenn dir in fhem etwas nicht passt, "Kröte schlucken und Perl verwenden" und du kannst dir fhem genau so machen, wie du es willst... Du kannst aber auch (wie bei Word) hinnehmen, dass es eben keine Fettschrift gibt.


Ja, meine Sicht auf die Sache.

Zitat von: Marko1976 am 06 Oktober 2025, 10:47:03Beispiel 1: In jeder mir bekannten Programmiersprache muss eine Variable vor benutzung deklariert werden, einzige Ausnahme ist VBA wo es eine Art Autodeklaration gibt. In Fhem wurde erst gestern hier oder dem anderen Threat geschrieben wo zu, das ginge ja auch anders.
Das ist keine Logik, das ist "Vereinbarung".

EDIT: weitere Ausnahmen C# Java(Script) ... Und auch bei Perl musst du sie deklarieren!? my Variable = ... Oder verstehe ich da was falsch. Oder anders: keiner "verbietet" dass du es tust...

Zitat von: Marko1976 am 06 Oktober 2025, 10:47:03Beispiel 2: In jeder mir bekannten Programmiersprache bedeutet Variable1 = Variable1 "+" Variable2 (Inhaltanführungszeichen ist unterschiedlich je nach Sprache), dass der Inhalt einer zweiten Variable an eine erste angehangen und diese mit dem neuen Inhalt überschrieben wird, in Fhem funktioniert das nicht.
Das ist Syntax.
Und klar geht das auch in fhem bzw. in Perl...
Bei Zeichenketten ist es eben ein Punkt und kein Plus.
Erneut: Syntax nicht Logik

Zitat von: Marko1976 am 06 Oktober 2025, 10:47:03Beispiel 3: Es gibt keine einheitliche Syntex, je nach Einsatzort wird mal mit einem Semikolon, mal mit zwei Semikolon und mal mit Komma statt Semikolon ein Befehl beendet - in jeder anderen Sprache bleibt die Syntext egal wann und wo sie gebraucht wird immer gleich. Das sind nur 3 einfache Beispiele, es gibt sicherlich noch mehr.
Das ist fhem bzw. fhem-Eingabe ;)
Das ist nicht Perl...
-> Grundlagen fhem

Ähnlich, wie du auch lernen musst, wie man in Word bestimmte Dinge tut ;)
(Früher, also vor wisiwig noch viel mehr)

Zitat von: Marko1976 am 06 Oktober 2025, 10:47:03Und wenn eine Sache ohne Perl nicht geht bleibt eben die Frage ob und wie man vorgeht.
Dann geht es nicht (in fhem mit fhem Mitteln ohne Perl). Punkt.

Das war bei allen meinen Antworten meine Quintessenz: manches geht halt ohne Perl nicht, da in fhem nicht so vorgesehen, wie du es willst. Dann geht eine Anpassung eben nur, mit Perl.

D.h. "Briefe schreiben", so wie fhem es eben leistet. Dort wo du was anders haben möchtest (wie bei Word, wenn du etwas besonderes willst, was Microsoft nicht vorgesehen hatte), musst du eben fhem (Word) anpassen und bist dann halt bei fhem auf Perl-Ebene (bei Word auf VBA <- limitiert, direkt an Word kannst du GAR NICHTS ändern oder haben ich verpasst, dass Word open source ist!? ;)  / an fhem könntest du alles ändern, wenn du möchtest).

Gruß, Joachim
#3
Automatisierung / [02_HTTPAPI.pm] patch - Erweit...
Letzter Beitrag von betateilchen - 06 Oktober 2025, 13:09:11
Hallo Klaus,

anbei ein patch, mit dem man über die API auch trigger-Befehle schicken kann. Im Prinzip ist das identisch zu 'set', deshalb beschränkt sich die Änderung auf die Erweiterung der Befehlsabfrage selbst.

Index: 02_HTTPAPI.pm
===================================================================
--- 02_HTTPAPI.pm       (Revision 30353)
+++ 02_HTTPAPI.pm       (Arbeitskopie)
@@ -107,7 +107,7 @@
   my $link;
   return($hash, 503, 'close', "text/plain; charset=utf-8", encode($encoding, "error=503 Service Unavailable")) if(IsDisabled($name));
 
-  if($request =~ m/^(\/$infix)\/(set|get|read|readtimestamp|readinternal|write)\?(.*)$/) {
+  if($request =~ m/^(\/$infix)\/(set|get|read|readtimestamp|readinternal|write|trigger)\?(.*)$/) {
     $link = $1;
     $apiCmd = $2;
     $apiCmdString = $3;
@@ -166,7 +166,7 @@
           } else {
             return($hash, 400, 'close', "text/plain; charset=utf-8", encode($encoding, "error=400 Bad Request, $request > attribute reading or internal is missing"))
           }
-        } elsif ($apiCmd eq 'set') {
+        } elsif ($apiCmd eq 'set' || $apiCmd eq 'trigger') {
           my $setCmd;
           if ($apiCmdString =~ /&action(\=[^&]*)?(?=&|$)|^action(\=[^&]*)?(&|$)/) {
             $setCmd = substr(($1 // $2), 1);
@@ -174,7 +174,7 @@
             $setCmd =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
             #my $ret = CommandSet(undef, "$fhemDevName $setCmd");
             #my $ret = AnalyzeCommand($defs{$hash->{SNAME}}, "set $fhemDevName $setCmd");
-            my $ret = AnalyzeCommand($defs{$name}, "set $fhemDevName $setCmd");
+            my $ret = AnalyzeCommand($defs{$name}, "$apiCmd $fhemDevName $setCmd");
             if ($ret) {
               return($hash, 400, 'close', "text/plain; charset=utf-8", encode($encoding, "error=400 Bad Request, $request > $ret"))
             } else {
@@ -365,7 +365,7 @@
 <a id="HTTPAPI"></a>
 <h3>HTTPAPI</h3>
 <ul>
-  HTTPAPI is a compact HTML API server that performs http requests to execute set and get commands
+  HTTPAPI is a compact HTML API server that performs http requests to execute set, get and trigger commands
   and reads and writes readings.<br><br>
 
   <a id="HTTPAPI-define"></a>
@@ -435,6 +435,22 @@
   </ul>
   <br><br>
 
+  <a id="HTTPAPI-trigger"></a>
+  <b>Trigger</b>
+  <ul>
+    <li>API command line for executing a trigger command<br>
+      Request:
+      <ul>
+        <code>http://&lt;ip-addr&gt;:&lt;port&gt;/&lt;apiName&gt;/trigger?device=&lt;devname&gt;&action=&lt;cmd&gt;</code><br>
+      </ul>
+      Response:
+      <ul>
+        <code>&lt;device&gt;=&lt;cmd&gt;|error=&lt;error message&gt;</code><br>
+      </ul>
+    </li>
+  </ul>
+  <br><br>
+
   <a id="HTTPAPI-events"></a>
   <b>Generated events</b>
   <ul>
#4
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 06 Oktober 2025, 12:58:13
ZitatNa ja, so unvermittelt wie sie verschwunden sind, werden sie dann wieder irgendwann auftauchen.
Ehrlich gesagt bezweifle ich das. Man hat sich wieder tolle Security Features einfallen lassen, welche vermutlich die Einbettung von SVG-Dateien in eine SVG-Grafik verhindern.

Wenn ich in dem einzubettenden Icon die SVG-Kennung entferne, stellt der Browser die Icons wieder dar:

          ($scale, $cicon) = __normIconScale ($name, $cicon);

        my $inner = $cicon;
        $inner =~ s{^\s*<svg[^>]*>}{}i;            # öffnendes svg entfernen
        $inner =~ s{</svg>\s*$}{}i;                # schließendes svg entfernen

        $ret .= qq{<g id="consumer_${c}_$stna" transform="translate($cons_left $y_pos) scale($scale)">};
        $ret .= "<title>$calias</title>" . $inner;
        $ret .= '</g> ';

Nachteil: die Normierung aller unserer Icons (sie sind leider nicht gleich) auf eine einheitliche Größe funktioniert nicht mehr. Einfach nur zum ko...n. Man hat ja sonst nichts zu tun. Wer also eine praktikable Lösung hat ohne alles neu schreiben zu müssen, kann gern mal seine Idee teilen.

#5
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von klaus.schauer - 06 Oktober 2025, 12:30:01
Zitat von: DS_Starter am 06 Oktober 2025, 12:04:29Habe jetzt mal upgedated und Edge ist jetzt auf der Version 141.0.3537.57 (Offizielles Build) (64-Bit).
Nun sind die Icons wie bei dir weg. Liegt also definitiv an der Chromium Engine. Tja ... tolle Sache....
Na ja, so unvermittelt wie sie verschwunden sind, werden sie dann wieder irgendwann auftauchen. Danke für die Unterstützung.
#6
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 06 Oktober 2025, 12:04:29
Habe jetzt mal upgedated und Edge ist jetzt auf der Version 141.0.3537.57 (Offizielles Build) (64-Bit).
Nun sind die Icons wie bei dir weg. Liegt also definitiv an der Chromium Engine. Tja ... tolle Sache....
#7
Anfängerfragen / Aw: Benachrichtigungsnotify zu...
Letzter Beitrag von juergen012 - 06 Oktober 2025, 11:33:48
bei mir sieht das so aus:
defmod notify_fhem_reload notify global:INITIALIZED set Telegrambot message FHEM neu gestartet !
#8
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von klaus.schauer - 06 Oktober 2025, 11:26:09
Zitat von: DS_Starter am 06 Oktober 2025, 10:41:01
ZitatGleiches Problem wie bei mir und Damian?
Könnte sein. Mit den von mir getesteten / genutzten Browsern Firefox, Edge und Chrome 140.0.xxx auf Android gibt es keine Probleme.
Ich nutze Microsoft Edge Version 141.0.3537.57 (Windows 11 64-Bit).
#9
Automatisierung / Aw: Midea Comfee Klimaanlage ü...
Letzter Beitrag von pink99panther - 06 Oktober 2025, 11:04:52
Zitat von: JudgeDredd am 05 Oktober 2025, 14:20:34Ist diese Funktion denn bereits mit dem original Programm von GitHub möglich ? Dann schaue ich gerne mal das in FHEM aufzunehmen.
Bei mac-zhou hab ich nichts greifbares gefunden. Aber hier hat einer die Arbeit aufgegriffen und weiter entwickelt.
Auch die Frotschutzfunktion wurde anscheinend integriert.
Wäre ein nice to have, aber kein must have. 8)
#10
Anfängerfragen / Aw: Benachrichtigungsnotify zu...
Letzter Beitrag von Marko1976 - 06 Oktober 2025, 11:02:36
@passibe
Grundsätzlich stimme ich dir da vollkommen zu. Wenn du meine Post mal alle durchschaust wirst du feststellen, dass ich keine Frage (zu der eine Antwort erfolgte) ein zweites Mal gestellt habe. Und das ich Fhem schon seit über 10 Jahren betreibe zeugt davon, dass ich mir sehr vieles selbst erarbeitet habe. Manchmla waren dazu Tipps aus einem Post nötig, manchel auch nicht. Und was dir auch auffallen wird ist, dass ich eigentlich bei jeder Gelegenheit eindeutig schreibe, dass ich keine Perl-Lösungen suche und auch erkläre warum.

Was du aber in deiner Ausführung leider etwas vergessen hast ist der Punkt, dass der Hilfesuchende kein Bitsteller ist. Wenn ich hier die Antworten einiger User lese (egal ob Erstantwort oder im Laufe einer Diskussion) habe ich oftmal den Eindruck, dass man sich für etwas Besseres hält und die Erwartung pflegt, dass der Hilfesuchende auf Knieen angerutscht kommen müsste - ein Bild, dass sich übrigens nicht nur bei mir darstellt, sondern ganz allgemein im ganzen Netz. Ich habe mindestens zwei Netzuser gefunden, die offen schreiben, dass sie eben wegen dieser Art die Kommunity verlassen haben bzw. nichts mehr dafür zun wollen.
Das soll weder eine Entschuldigung noch ein Vorwurf sein, sondern nur mal ein Blick in den Spiegel.

Es gibt einfach Leute die nicht akzeptieren wollen wenn man sagt man will nur Briefe schreiben und nicht mehr - um mal wieder zu plastischen Anschauung zurückzukommen. Es gibt Leute die nicht akzeptieren wenn man sagt, dass man etwas nicht versteht weil es zu undeutlich, nichtssagend oder einfach nur in Englisch geschrieben ist. Es gibt Leute, die nicht akzeptieren wollen, dass es unterschiedliche Formen von Lernen gibt - die einen pauken unentwegt trockenen Stoff in Büchern/Dokumenten, andere lernen am praktischen Beispiel und wieder andere Lernen einfach aus der Diskussion heraus. Für diese Leute gibt es nur ihre eigene persönliche Sichtweise und wenn diese nicht erfüllt wird, dass erfolgen themenunbezogene Angriffe und Verunglimpfungen in der Form, dass es schon Mobbing gleicht (Popcorn etc.). Es wird sich einfach nur über die Person (in dem Fall mich) lustig gemacht und gar nicht versucht sachbezogen zu reagieren. Und das ist es was regelmäßig zu solchen Threats hier führt.

Also ja, ich gebe dir Recht, schränke es aber soweit ein, dass man das Ganze auch aus der anderen Perspektive betrachten muss.
Du kannst mir glauben wenn ich schreibe, dass ich der erste bin der diese Postings absolut überdrüssig ist.