Hauptmenü

Neueste Beiträge

#11
Wallboxen und E-Fahrzeuge / Aw: 72_Wattpilot - Einbindung ...
Letzter Beitrag von Flachzange - 19 April 2026, 21:01:42
Zitat von: Blablubblaber am 19 April 2026, 07:54:05Klasse kannst du mal ein Auto an Stöpseln und alles real testen?
Muss ich erst noch besorgen. Gib mir ein paar Tage ;)
#12
Sonstige Systeme / Aw: FHEM-Integration von Tapo ...
Letzter Beitrag von andre07 - 19 April 2026, 20:59:54
Danke für die Antwort. Was kommt nun in die  crendentials .py rein ?

# /opt/fhem/tapo/tapo_credentials.py

CAMERA_IP = "192.168.178.45"
USERNAME = "andre@gamil.com" account bei tapo username
PASSWORD = "passwortvonderkamera"

FHEMIP = "192.168.178.78"
FHEMPORT = "8084"
FHEMCSRF = "static csrf"
FHEMDEVICE = "TapoCamP"

Andre
#13
Off-Topic / Aw: Shelly Group an der Frankf...
Letzter Beitrag von enno - 19 April 2026, 20:53:58
Moin,

ich verkaufe meine Anteile nicht, die ich 2021 gekauft habe. Wird also erst mal nichts mit "den ganzen Laden kaufen" ;)

https://forum.fhem.de/index.php?topic=114855.0

Vielleicht nachkaufen, keine schlechte Idee....

Gruss
  Enno
#14
Sprachsteuerung / Aw: (WIP) FHEMWEB interaktiv (...
Letzter Beitrag von schwatter - 19 April 2026, 20:36:40
Zitat von: Beta-User am 18 April 2026, 11:32:41
Zitat von: schwatter am 18 April 2026, 07:15:12Daher ignoriere mich einfach...
Ungern ;D .

Brauchst du denn jetzt noch eine Anleitung oder nicht? Ich hatte neulich auf Basis meiner hier geposteten Notizen auf einem Testsystem die Installation nochmal gemacht, und das hat da ohne größere Umstände funktioniert. Dabei habe ich die Installation erst mit meinem Standarduser gemacht, und dann danach die Rechte auf /opt/piper auf fhem:dialout geändert und in der systemd-unit-file fhem als User angegeben.

Danke erstmal nicht. Komme zu einem späteren Zeitpunkt darauf zurück. Mir schwirrt der Kopf. Gerade weil soviel
Nachholbedarf besteht und viele Sachen sich gerade vermischen.
Da kommt schon wieder die nächste Idee. Ich habe gerade neben Rudi seinem STT Button noch einen Audiobutton eingebaut.
Damit konnte ich erfolgreich eine MP3 abspielen. Im Modul TTS kann auch der Pfad in einem Adressraum geändert werden,
den der Browser versteht.
Ziel: Button 1 x drücken, JS im f18 lauscht dauerhaft nach neuen TTS-Events und spielt direkt immer die aktuelle MP3 ab.
Hier kommt dann das neue attr additionalInform TTS ins Spiel.

Gruß schwatter
#15
Sprachsteuerung / Aw: [gelöst] Alexa + homebrid...
Letzter Beitrag von Moli - 19 April 2026, 20:34:48
Das sieht jetzt alles gut aus, nochmals danke, das hat mir sehr geholfen. Jetzt weiß ich, wie es richtig sein muss im Log, und habe es so eingestellt.

Es geht noch immer nicht, aber ich warte jetzt auf Amazon, nicht dass da doch etwas hängt!
#16
Codeschnipsel / Aw: json2nameValue verstehen -...
Letzter Beitrag von JoWiemann - 19 April 2026, 20:26:52
Eventuell hilft Dir das weiter: https://forum.fhem.de/index.php?topic=132371.0

Grüße Jörg
#17
Sprachsteuerung / Aw: [gelöst] Alexa + homebrid...
Letzter Beitrag von Moli - 19 April 2026, 20:19:04
Oh falsch, das war ein Logfilter Problem!!

[19/04/2026, 20:17:57] [FHEM] esp_klima_gaeste is thermostat
[19/04/2026, 20:17:57] [FHEM] esp_klima_gaeste has
[19/04/2026, 20:17:57] [FHEM]   Custom Power [power]
[19/04/2026, 20:17:57] [FHEM]   TargetTemperature [desired-temp]
[19/04/2026, 20:17:57] [FHEM]   CurrentTemperature [measured-temp]
[19/04/2026, 20:17:57] [FHEM]   CurrentHeatingCoolingState [mode]
[19/04/2026, 20:17:57] [FHEM]   On [mode;mode auto,mode off]
[19/04/2026, 20:17:57] [FHEM]   TargetHeatingCoolingState [mode]
[19/04/2026, 20:17:57] [FHEM] esp_klima_gaeste will try to send proactive events
[19/04/2026, 20:17:57] [FHEM] esp_klima_gaeste uses ID: 69c9027a-f33f-18b8-40fe-8f5803560ed5a2e7
  2026-04-19 20:17:57 caching: esp_klima_gaeste-power: 8
[19/04/2026, 20:17:57] [FHEM]     caching: Custom Power: 8 (as number; from '8')
  2026-04-19 20:17:57 caching: esp_klima_gaeste-desired-temp: 23.0
  2026-04-19 20:17:57 caching: esp_klima_gaeste-measured-temp: 20.8
  2026-04-19 20:17:57 caching: esp_klima_gaeste-mode: off
#18
Off-Topic / Aw: Shelly Group an der Frankf...
Letzter Beitrag von JudgeDredd - 19 April 2026, 20:04:55
Gut eine Milliarde Marktkapitalisierung. Da kann ich ja gleich den ganzen Laden kaufen 😅
#19
TabletUI / FTUI 3 nach FHEM update Syntax...
Letzter Beitrag von Schniebi - 19 April 2026, 19:50:42
Hallo,

Ich habe heute ein updat von FHEM durchgeführt. Seit dem habe ich folgenden Fehler auf den Tablet UIs:

FHEM Command failed
SyntaxError: JSON.parse: unexpected end od data at line 1column 1 of the JSON data

Refresh request failed: Result is null

Es werden viele Sachen nicht mehr dar gestellt.

Hier mal meine HTML:

<!DOCTYPE html>
<html>

<head>
  <!--
    /* FHEM tablet ui - FTUI */
    /**
    * UI builder framework for FHEM
    *
    * Version: 3.0.0
    *
    * Copyright (c) 2015-2021 Mario Stephan <mstephan@shared-files.de>
    * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
    * https://github.com/knowthelist/ftui
    */
    -->
  <script src="ftui.js"></script>

  <link href="ftui.css" rel="stylesheet">
  <link href="themes/ftui-theme.css" rel="stylesheet">
  <link href="favicon.ico" rel="icon" type="image/x-icon" />
  <link href="themes/retro-theme.css" rel="stylesheet"
        ftui-binding [disabled]="local:theme | map('`.*`:true, retro:false') | toBool()">

  <!-- avoid 300ms delay on click-->
  <meta name="viewport" content="width=device-width">

  <meta name="mobile-web-app-capable" content="yes">
  <meta name="toast_position" content="topLeft">


  <!-- verbose level 0-4 -->
  <meta name="debug" content="0">


  <title>FTUI Schniebi</title>
</head>

<body>
  <ftui-speak [text]="speakFlur:state"></ftui-speak>
  <ftui-grid base-width="106" base-height="85" margin="5" shape="round" color="success">

      <ftui-grid-tile row="1" col="1" height="3" width="5" shape="round" color="dark">
        <ftui-row width="80%" height="0%">
          <ftui-clock format="ee" class="size-9 thin" unit="."></ftui-clock>
          <ftui-clock format="DD.MM.YYYY" class="size-9 thin"></ftui-clock>
        </ftui-row>
        <ftui-row width="90%" height="0%">
          <ftui-clock format="hh:mm" class="size-11 thin"></ftui-clock>
          <ftui-label class="size-11 thin">Uhr</ftui-label>
        </ftui-row>
      </ftui-grid-tile>

      <ftui-grid-tile row="4" col="1" height="2" width="5" color="dark">
        <header class="thin"><ftui-label size="3" color="orange">WETTERVOHERSAGE</ftui-label></header>
         <ftui-row width="80%" height="10%">
          <ftui-label size="4">Heute</ftui-label>
         <ftui-weather icon-set="meteocons" provider="proplanta" [condition]="DWD_Wetter:fc0_3_wwd" size="1"></ftui-weather>
           <ftui-label [text]="DWD_Wetter:fc0_Tn | round(0)" size="4" unit="°C">min.    </ftui-label>
           <ftui-label [text]="DWD_Wetter:fc0_Tx | round(0)" size="4" unit="°C">max.    </ftui-label>
        </ftui-row>
        <ftui-row width="80%" height="10%">
          <ftui-label size="4">Morgen</ftui-label>
          <ftui-weather icon-set="meteocons" provider="DWD" [condition]="DWD_Wetter:fc1_3_wwd" size="1"></ftui-weather>
           <ftui-label [text]="DWD_Wetter:fc1_Tn | round(0)" size="4" unit="°C">min.    </ftui-label>
           <ftui-label [text]="DWD_Wetter:fc1_Tx | round(0)" size="4" unit="°C">max.    </ftui-label>
        </ftui-row>
      </ftui-grid-tile>
    
     <ftui-grid-tile row="4" col="6" height="2" width="2" color="dark">
        <header class="thin"><ftui-label size="3" color="orange">POOL</ftui-label></header>
        <ftui-column width="80%" height="10%">
          <ftui-column align-items="center">
             <ftui-label [text]="ESPEasy_Pool_Temp_Pool:temperature | fix(1)" class="size-8 thin" unit="°C"></ftui-label>
          </ftui-column>
          
       <ftui-row width="65%">
          <ftui-column height="10%">
             <ftui-icon class="size-1" [name]="ESPEasy_Pool_Pumpe:State | map('off:sani_garden_pump, on:sani_garden_pump')" [color]="ESPEasy_Pool_Pumpe:State | map('off:gray, on:green')"></ftui-icon>
          </ftui-column>
          <ftui-column height="10%">
             <ftui-icon class="size-1" [name]="ESPEasy_Pool_Heizung:State | map('off:sani_heating, on:sani_heating')" [color]="ESPEasy_Pool_Heizung:State | map('off:gray, on:green')"></ftui-icon>
          </ftui-column>
       </ftui-row>
      </ftui-column>     
      
   <ftui-column>
      <ftui-row width="65%">
         <ftui-column>
            <ftui-label size="1">Pumpe</ftui-label>
         </ftui-column>
         <ftui-column>
            <ftui-label size="1">Heizung</ftui-label>
         </ftui-column>
      </ftui-row>
   </ftui-column>
      </ftui-grid-tile>
    
     <ftui-grid-tile row="4" col="8" height="4" width="1" color="dark">
        <header class="thin"><ftui-label size="3" color="orange">ESPs</ftui-label></header>
      <ftui-icon class="size-0" [name]="MQTT2_ESP_Strom:LWT | map('Offline:it_memory, Online:it_memory')" [color]="MQTT2_ESP_Strom:LWT | map('Offline:red, Online:green')"></ftui-icon>
       <ftui-label size="1">Strom</ftui-label>
       <ftui-icon class="size-0" [name]="ESPEasy_Pool_state:presence | map('absent:it_memory, present:it_memory')" [color]="ESPEasy_Pool_state:presence | map('absent:red, present:green')"></ftui-icon>
       <ftui-label size="1">Pool</ftui-label>
       <ftui-icon class="size-0" [name]="ESPEasy_Aquarium_state:presence | map('absent:it_memory, present:it_memory')" [color]="ESPEasy_Aquarium_state:presence | map('absent:red, present:green')"></ftui-icon>
       <ftui-label size="1">Aquarium</ftui-label>
       <ftui-icon class="size-0" [name]="ESPEasy_MV_State:presence | map('absent:it_memory, present:it_memory')" [color]="ESPEasy_MV_State:presence | map('absent:red, present:green')"></ftui-icon>
       <ftui-label size="1">Magnetventile</ftui-label>
       <ftui-icon class="size-0" [name]="ESPEasy_Temp_Schlafzimmer_state:presence | map('absent:it_memory, present:it_memory')" [color]="ESPEasy_Temp_Schlafzimmer_state:presence | map('absent:red, present:green')"></ftui-icon>
       <ftui-label size="1">Schlafzimmer</ftui-label>
       <ftui-icon class="size-0" [name]="ESPEasy_Temp_Lena_state:presence | map('absent:it_memory, present:it_memory')" [color]="ESPEasy_Temp_Lena_state:presence | map('absent:red, present:green')"></ftui-icon>
       <ftui-label size="1">Lena</ftui-label>   
      </ftui-grid-tile>
    
     <ftui-grid-tile row="4" col="9" height="2" width="1" color="dark">
        <header class="thin"><ftui-label size="3" color="orange">MÄHNDY</ftui-label></header>
        <ftui-icon class="size-4" [name]="dummy_Landroid_Steuerung:state | map('off:scene_robo_lawnmower, on:scene_robo_lawnmower')" [color]="dummy_Landroid_Steuerung:state | map('off:gray, on:green')"></ftui-icon>
      <ftui-label size="1" [text]="dummy_Landroid_Steuerung:state | map('off:Partymodus, on:Aktiv')"></ftui-label>
      </ftui-grid-tile>
     
      <ftui-grid-tile row="6" col="1" height="1" width="2" color="dark">
       <header class="thin"><ftui-label size="3" color="orange">AUSSENTEMPERATUR</ftui-label></header>
        <ftui-label [text]="Gartenpumpe:temperature_0 | fix(1)" class="size-7 thin" unit="°C"></ftui-label>
      </ftui-grid-tile>
     
      <ftui-grid-tile row="7" col="1" height="1" width="2" color="dark">
       <header class="thin"><ftui-label size="3" color="orange">INNENTEMPERATUR</ftui-label></header>
        <ftui-label [text]="HM_54BF41:temperature | fix(1)" class="size-7 thin" unit="°C"></ftui-label>
      </ftui-grid-tile>
    
     <ftui-grid-tile row="6" col="3" height="2" width="5" color="dark">
      <header class="thin"><ftui-label size="3" color="orange">ABFALLTERMINE</ftui-label></header>
      <ftui-column>
      <ftui-row margin-top="3" margin-bottom="3" width="70%">
       <ftui-label size="3">Biotonne:</ftui-label>
         <ftui-label [text]="abfall_Abfall:calendar_Abfall_Biotonne_date" size="3"></ftui-label>
       <ftui-label [text]="abfall_Abfall:calendar_Abfall_Biotonne_weekday" size="3"></ftui-label>
      </ftui-row>
      </ftui-column>
      <ftui-column>
      <ftui-row margin-top="3" margin-bottom="3" width="70%">
       <ftui-label size="3">Gelber Sack:</ftui-label>
         <ftui-label [text]="abfall_Abfall:calendar_Abfall_GelberSack_date" size="3"></ftui-label>
       <ftui-label [text]="abfall_Abfall:calendar_Abfall_GelberSack_weekday" size="3"></ftui-label>
      </ftui-row>
      </ftui-column>
      <ftui-column>
      <ftui-row margin-top="3" margin-bottom="3" width="70%">
       <ftui-label size="3">Papiertonne:</ftui-label>
         <ftui-label [text]="abfall_Abfall:calendar_Abfall_Papiertonne_date" size="3"></ftui-label>
       <ftui-label [text]="abfall_Abfall:calendar_Abfall_Papiertonne_weekday" size="3"></ftui-label>
      </ftui-row>
      </ftui-column>
      <ftui-column>
      <ftui-row margin-top="3" margin-bottom="3" width="70%">
       <ftui-label size="3">Restabfall:</ftui-label>
         <ftui-label [text]="abfall_Abfall:calendar_Abfall_Restabfall_date" size="3"></ftui-label>
       <ftui-label [text]="abfall_Abfall:calendar_Abfall_Restabfall_weekday" size="3"></ftui-label>
      </ftui-row>
       </ftui-column>   
      </ftui-grid-tile>
     
      <ftui-grid-tile row="1" col="6" height="3" width="3" color="dark">
        <header class="thin"><ftui-label size="3" color="orange">SOLAR</ftui-label></header>
        <ftui-column>
         <ftui-row margin-top="3" margin-bottom="3" width="80%">
            <ftui-column align-items="left">
            <ftui-label text="Ersparnis:" size="4"></ftui-label>
            </ftui-column>
             <ftui-column align-items="right">
            <ftui-label [text]="dummy_Stromersparnis_gesamt:Preis | fix(2)" size="4" unit="€"></ftui-label>
            </ftui-column>
         </ftui-row>
         <ftui-row margin-top="3" margin-bottom="3" width="80%">
            <ftui-column align-items="left">
            <ftui-label text="Momentan:" size="4"></ftui-label>
            </ftui-column>
             <ftui-column align-items="right">
            <ftui-label [text]="dummy_PV_Leistung_Momentan:Leistung | round(0)" size="4" unit="W"></ftui-label>
            </ftui-column>
         </ftui-row>
         <ftui-row margin-top="3" margin-bottom="3" width="80%">
            <ftui-column align-items="left">
            <ftui-label text="Gesamt:" size="4"></ftui-label>
            </ftui-column>
             <ftui-column align-items="right">
            <ftui-label [text]="PV_Leistung_Gesamt:STATE | round(1)" size="4" unit="Kwh"></ftui-label>
            </ftui-column>
         </ftui-row>
         <ftui-row margin-top="3" margin-bottom="3" width="80%">
            <ftui-column align-items="left">
            <ftui-label text="Effektivität:" size="4"></ftui-label>
            </ftui-column>
             <ftui-column align-items="right">
            <ftui-label [text]="dummy_Effektivitaet:Prozent | round(1)" size="4" unit="%"></ftui-label>
            </ftui-column>
         </ftui-row>
         <ftui-row margin-top="3" margin-bottom="3" width="80%">
            <ftui-column align-items="left">
            <ftui-label text="Stromzähler:" size="4"></ftui-label>
            </ftui-column>
             <ftui-column align-items="right">
            <ftui-label [text]="StromzaehlerMomentan:state | round(0)" size="4" unit="W"></ftui-label>
            </ftui-column>
         </ftui-row>
         </ftui-column>
      </ftui-grid-tile>
    
     <ftui-grid-tile row="1" col="9" height="3" width="1" color="dark">
        <header class="thin"><ftui-label size="3" color="orange">ABFALL</ftui-label></header>
        <ftui-icon name="trash-o" size="7" [class-name]="dummy_Abfall_morgen:state  | step('0:``, 1:hop, 2:``')" [color]="dummy_Abfall_morgen:state  | step('0:gray, 1:orange, 2:gray')"></ftui-icon>
        </ftui-row>
        <ftui-row width="40%" height="0%">
         <ftui-label [text]="abfall_Abfall:next_weekday" size="1"></ftui-label>
        </ftui-row>
      </ftui-grid-tile>
    
     <ftui-grid-tile row="6" col="9" height="2" width="1" color="dark">
        <header class="thin"><ftui-label size="3" color="orange">NACHT-PV</ftui-label></header>
      <ftui-label class="size-5" [text]="MQTT2_solar_114184531895:power | round(0)" [color]="MQTT2_solar_114184531895:power | map('0.0:gray, .*:green')" unit="W"></ftui-label>
      </ftui-grid-tile>

   </ftui-grid>

</body>

</html>
#20
Codeschnipsel / json2nameValue verstehen - ein...
Letzter Beitrag von martinp876 - 19 April 2026, 19:50:07
Ich habe versucht json2nameValue zu verstehen - im Zusammenhang mit MQTT2.
MQTT2 liefert "im Automode" indiuskutabel lange Namen - und zu viel sowieso. Also muss man filtern und übersetzen.
Aktuelles Beispiel ist ein ESP32 mit (aktuell) 5 Temperatursensoren. GEht erst einmal prima. das Zerlegen der Tasmota MQTT Infos geht mit json2nameValue gut. Da nun die Namen quatsch sind muss man den Sensoren Namen geben um die Readings zu erzeugen.

json2nameValue bietet nun die Option "map" sowie einen Positiv und einen negativ filter. Ich habe keine schlüssige Dokumentation hierzu gefunden - eben so keine Beispiele.
Musss man den Code prüfen: Negativ Filter betreffen die ürsprünglichen Namen während positv-filter die "gemappten" Daten betreffen. Da ich allerding das Mapping nicht einfichten konnte ist es am Ende eh egal - ich konnte es nicht zum Laufen bekommen.

Am Ende war ich deutlich schneller, selbst eine Funktion zu erstellen. Die einfache Option, diese in MQTT readlingList einzupflegen scheitert dann wieder an der Einschrängung, ein Kommando in eine Zeile schreiben zu müssen. Da hat man ich den Trenner gespart bzw \n genutzt.

Also noch ein Umweg. Wirklich userfreindlich ist das nicht - aber möglich, wie alles.
Ich werde noch ein einer eleganteren Version arbeiten
==> gibt es schon bessere Funktionen und gibt es eine komplette Doku zu json2nameValue?
  • #funktion als Reading einbauen
  • # Funktion definieren "evalRead"
  • # Readingslist erstellen

  userattr  EvalRead:textField-long
  EvalRead
{
my $x= json2nameValue($EVENT);
my $mttqID ="StatusSNS_DS18B20-";
my %didH = ("000000505B1A" => "WPRaum"
    ,"00000051CAD9" => "WP_ein"
    ,"000000526D95" => "WP_aus"
    ,"000000544C2C" => "Wasser"
    ,"0000005310E3" => "Boiler");
my (%midH,%resH);
for my $n (grep/_Id$/,keys %{$x}) {
    $n =~ m/.*-(.*?)_Id/;
    $midH{$1."_Id"}= defined $didH{%{$x}{$n}} ? $didH{%{$x}{$n}} : $1."_undef"};
for my $n (grep/_Temperature$/,keys %{$x}){
    $n =~ m/.*-(.*?)_Temp/;
    $resH{"temp_".$midH{$1."_Id"}}= %{$x}{$n}};
\%resH}
  readingList DVES_FB81CC:stat/tasmota_FB81CC/STATUS8:.* {eval AttrVal($NAME,"EvalRead","")}