HTML Kachelsammlung (Bewohnerstatus, Wärmepumpe etc...)

hier die Einstellungen:


Ferndiagnose immer schwierig…

Schau mal bitte was für eine Variable du bei den Phasen eingestellt hast. Die Variable darf nur eine Zahl wie 1, 2 oder 3 enthalten. Bei dir ist aber ein Text in der Variable…

Gruß Stephan

Fehler hab ich gefunden. Fix auf dem Betakanal im Store.

Viele Grüße
Stephan

…und auch das lüppt!
Hervorragend, danke!

Hallo, habe die Variable geändert mit den 3 Phasen - das scheint es gewesen zu sein. Am IPhone schaut es jetzt gut aus - am iPad noch der Fehler mit der darstellungsgroesse. Am PC kann ich erst in 2 Tagen wieder testen.
Vielen Dank für deine tolle Arbeit und die schnelle Reaktion.
Kannst ja die Fehlerbehandlung nochmal optimieren bei Gelegenheit.
Gruß Manfred

Super, schön das es jetzt funktioniert. Ich hab in der Beta schon eine Beschränkung auf Integer Variablen eingebaut.

Viele Grüße
Stephan

Hi,

auf dem Betakanal im Store gibt es jetzt die Möglichkeit eine URL und ein Updateintervall anzugeben. @thezepter Darfst du gerne mal testen …

Das Bild mit der URL wird nur angezeigt wenn kein Medienobjekt ausgewählt ist und der Schalter Standard-Hintergrundbild auf aus steht.

Das Updateintervall löst einen kompletten Reload des iFrame aus. Da gibts bestimmt elegantere Lösungen, das ist aber was für die Zukunft.

Viele Grüße
Stephan

1 „Gefällt mir“

Ich hatte seit Monaten das hier im Einsatz, dass ist deine erste Variante ohne Modul.



Ich habe hier dieses Skript

<?php

//Variablen holen 
$Archiv = 24614;
$Erzeugte_Wirkarbeit = 52431;
$Gesamtverbrauch = 53798;
$Eigenverbrauch = 40830;
$Lieferung = 40611;
$Bezug = 14067;

//Zeitbereich Start 
$tStart = GetValueInteger(42664);
//Zeitbereich Ende
$tEnde = GetValueInteger(17776);

//Schnellwahl Zeitbereiche
$tStart_Schnellwahl = GetValueInteger(41241);
$tEnde_Schnellwahl = GetValueInteger(12782);



$ID_Sender = $_IPS['EVENT'];  

//Ausgelöst durch Ereignis Zeitbereiche
$ID_Zeitbereich_Start = 16409;
$ID_Zeitbereich_Ende = 59593; 
$ID_Schnellwahl = 30191;
$ID_Zyklisch = 35749;



if ((($ID_Sender == $ID_Zeitbereich_Start) || ($ID_Sender == $ID_Zeitbereich_Ende)) && !($ID_Sender == $ID_Schnellwahl))
{

        //Erzeugung PV Anlage nach Zeitbereich aus Time Picker
        $Erzeugung_kWh_roh = AC_GetAggregatedValues($Archiv, $Erzeugte_Wirkarbeit, 1 /* täglich */,$tStart, $tEnde, 0);
        foreach($Erzeugung_kWh_roh as $Erzeugung) {
            $Erzeugung_Avg[] = $Erzeugung['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Erzeugung_Avg)) 
        {
        $Erzeugung_kWh = array_sum($Erzeugung_Avg);
        }

        
        //Gesamtverbrauch nach Zeitbereich aus Time Picker
        $Gesamtverbrauch_kWh_roh = AC_GetAggregatedValues($Archiv, $Gesamtverbrauch, 1 /* täglich */,$tStart, $tEnde, 0);
        foreach($Gesamtverbrauch_kWh_roh as $Gesamt) {
            $Gesamtverbrauch_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Gesamtverbrauch_Avg)) 
        {
        $Gesamtverbrauch_kWh = array_sum($Gesamtverbrauch_Avg);
        }

        //Eigenverbrauch nach Zeitbereich aus Time Picker
        $Eigenverbrauch_kWh_roh = AC_GetAggregatedValues($Archiv, $Eigenverbrauch, 1 /* täglich */,$tStart, $tEnde, 0);
        foreach($Eigenverbrauch_kWh_roh as $Gesamt) {
            $Eigenverbrauch_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Eigenverbrauch_Avg)) 
        {
        $Eigenverbrauch_kWh = array_sum($Eigenverbrauch_Avg);
        }


        //Lieferung nach Zeitbereich aus Time Picker
        $Lieferung_kWh_roh = AC_GetAggregatedValues($Archiv, $Lieferung, 1 /* täglich */,$tStart, $tEnde, 0);
        foreach($Lieferung_kWh_roh as $Gesamt) {
            $Lieferung_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Lieferung_Avg)) 
        {
        $Lieferung_kWh = array_sum($Lieferung_Avg);
        }

       


        //Bezug nach Zeitbereich aus Time Picker
        $Bezug_kWh_roh = AC_GetAggregatedValues($Archiv, $Bezug, 1 /* täglich */,$tStart, $tEnde, 0);
        foreach($Bezug_kWh_roh as $Gesamt) {
            $Bezug_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Bezug_Avg)) 
        {
        $Bezug_kWh = array_sum($Bezug_Avg);
        }

}

//Durch Schnellwahl 
if ($ID_Sender == $ID_Schnellwahl)
{
        //Erzeugung PV Anlage nach Schnellwahl 
        $Erzeugung_kWh_roh = AC_GetAggregatedValues($Archiv, $Erzeugte_Wirkarbeit, 0 /* täglich */,$tStart_Schnellwahl, $tEnde_Schnellwahl, 0);
        foreach($Erzeugung_kWh_roh as $Erzeugung) {
            $Erzeugung_Avg[] = $Erzeugung['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Erzeugung_Avg)) 
        {
        $Erzeugung_kWh = array_sum($Erzeugung_Avg);
        }

        

        //Gesamtverbrauch PV Anlage nach Schnellwahl
        $Gesamtverbrauch_kWh_roh = AC_GetAggregatedValues($Archiv, $Gesamtverbrauch, 0 /* täglich */,$tStart_Schnellwahl, $tEnde_Schnellwahl, 0);
        foreach($Gesamtverbrauch_kWh_roh as $Gesamt) {
            $Gesamtverbrauch_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Gesamtverbrauch_Avg)) 
        {
        $Gesamtverbrauch_kWh = array_sum($Gesamtverbrauch_Avg);
        }

        //Eigenverbrauch PV Anlage nach Schnellwahl
        $Eigenverbrauch_kWh_roh = AC_GetAggregatedValues($Archiv, $Eigenverbrauch, 0 /* täglich */,$tStart_Schnellwahl, $tEnde_Schnellwahl, 0);
        foreach($Eigenverbrauch_kWh_roh as $Gesamt) {
            $Eigenverbrauch_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Eigenverbrauch_Avg)) 
        {
        $Eigenverbrauch_kWh = array_sum($Eigenverbrauch_Avg);
        }


        //Lieferung PV Anlage nach Schnellwahl
        $Lieferung_kWh_roh = AC_GetAggregatedValues($Archiv, $Lieferung, 0 /* täglich */,$tStart_Schnellwahl, $tEnde_Schnellwahl, 0);
        foreach($Lieferung_kWh_roh as $Gesamt) {
            $Lieferung_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Lieferung_Avg)) 
        {
        $Lieferung_kWh = array_sum($Lieferung_Avg);
        }

       


        //Bezug PV Anlage nach Schnellwahl
        $Bezug_kWh_roh = AC_GetAggregatedValues($Archiv, $Bezug, 0 /* täglich */,$tStart_Schnellwahl, $tEnde_Schnellwahl, 0);
        foreach($Bezug_kWh_roh as $Gesamt) {
            $Bezug_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Bezug_Avg)) 
        {
        $Bezug_kWh = array_sum($Bezug_Avg);
        }

       
}


//Zyklisches Ereignis
if ($ID_Sender == $ID_Zyklisch)
        {
           //Erzeugung PV Anlage nach Schnellwahl 
        $Erzeugung_kWh_roh = AC_GetAggregatedValues($Archiv, $Erzeugte_Wirkarbeit, 0 /* täglich */,strtotime("today 00:00"), time(), 0);
        foreach($Erzeugung_kWh_roh as $Erzeugung) {
            $Erzeugung_Avg[] = $Erzeugung['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Erzeugung_Avg)) 
        {
        $Erzeugung_kWh = array_sum($Erzeugung_Avg);
        }

        //Gesamtverbrauch PV Anlage nach Schnellwahl
        $Gesamtverbrauch_kWh_roh = AC_GetAggregatedValues($Archiv, $Gesamtverbrauch, 0 /* täglich */,strtotime("today 00:00"), time(), 0);
        foreach($Gesamtverbrauch_kWh_roh as $Gesamt) {
            $Gesamtverbrauch_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Gesamtverbrauch_Avg)) 
        {
        $Gesamtverbrauch_kWh = array_sum($Gesamtverbrauch_Avg);
        }

        //Eigenverbrauch PV Anlage nach Schnellwahl
        $Eigenverbrauch_kWh_roh = AC_GetAggregatedValues($Archiv, $Eigenverbrauch, 0 /* täglich */,strtotime("today 00:00"), time(), 0);
        foreach($Eigenverbrauch_kWh_roh as $Gesamt) {
            $Eigenverbrauch_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Eigenverbrauch_Avg)) 
        {
        $Eigenverbrauch_kWh = array_sum($Eigenverbrauch_Avg);
        }


        //Lieferung PV Anlage nach Schnellwahl
        $Lieferung_kWh_roh = AC_GetAggregatedValues($Archiv, $Lieferung, 0 /* täglich */,strtotime("today 00:00"), time(), 0);
        foreach($Lieferung_kWh_roh as $Gesamt) {
            $Lieferung_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Lieferung_Avg)) 
        {
        $Lieferung_kWh = array_sum($Lieferung_Avg);
        }


        //Bezug PV Anlage nach Schnellwahl
        $Bezug_kWh_roh = AC_GetAggregatedValues($Archiv, $Bezug, 0 /* täglich */,strtotime("today 00:00"), time(), 0);
        foreach($Bezug_kWh_roh as $Gesamt) {
            $Bezug_Avg[] = $Gesamt['Avg'];
        }
        //Array auf Inhalt prüfen 
        if (!empty($Bezug_Avg)) 
        {
        $Bezug_kWh = array_sum($Bezug_Avg);
        } 
        }



//Eigenverbrauch in Prozent
if ((!empty($Eigenverbrauch_kWh)) && (!empty($Erzeugung_kWh)))
    {
    $Eigenverbrauch_Pr = $Eigenverbrauch_kWh/$Erzeugung_kWh*100;
    }

//Lieferung in Prozent
if ((!empty($Lieferung_kWh)) && (!empty($Erzeugung_kWh)))
    {
    $Lieferung_Pr = $Lieferung_kWh/$Erzeugung_kWh*100;
    }
//Autarkie in Prozent
if ((!empty($Eigenverbrauch_kWh)) && (!empty($Gesamtverbrauch_kWh)))
    {
    $Autarkie_Pr = $Eigenverbrauch_kWh/$Gesamtverbrauch_kWh*100;
    } 
//Bezug in Prozent
if ((!empty($Bezug_kWh)) && (!empty($Gesamtverbrauch_kWh))) 
    {
    $Bezug_Pr = $Bezug_kWh/$Gesamtverbrauch_kWh*100;
    }




# Prozentwerte
$eigenverbrauch_prozent = round($Eigenverbrauch_Pr,2);
$einspeisung_prozent = round($Lieferung_Pr,2);
# kWh-Werte
$produktion_kwh =  round($Erzeugung_kWh,2);
$eigenverbrauch_kwh = round($Eigenverbrauch_kWh,2);
$einspeisung_kwh = round($Lieferung_kWh,2);



# Prozentwerte
$eigenproduktion_prozent = round($Autarkie_Pr,2);
$zukauf_prozent = round($Bezug_Pr,2);
# kWh-Werte
$verbrauch_kwh = round($Gesamtverbrauch_kWh,2);
$eigenproduktion_kwh = round($Erzeugung_kWh,2);
$zukauf_kwh = round($Bezug_kWh,2);



$htmlpv = '
<style>
    .container1 {
        width: 100%;
        display: flex;
        position: relative;
    }
    .overlay {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: white;
        z-index: 10;
    }
    .container2 {
        width: 100%;
        display: flex;
        position: relative;
        font-size: 0.9em;
        padding-top: 5px;
        padding-bottom: 15px;
    }
    .eigenverbrauch {
        width: '.$eigenverbrauch_prozent.'%;
        background: #28cdab;
        padding-top: 10px;
        padding-left: 10px;
        padding-bottom: 10px;
        color: white;
    }
    .einspeisung {
        width: ' .$einspeisung_prozent.'%;
        background: #15c603;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-right: 10px;
        direction: rtl;
        color: white;
    }
    .bezug {
        width: '.$zukauf_prozent.'%;
        background: #d00000;
        padding-top: 10px;
        padding-right: 10px;
        padding-bottom: 10px;
        white-space: nowrap;
        direction: rtl;
        color: white;
    }
    .eigenproduktion {
        width: '.$eigenproduktion_prozent.'%;
        background: #28cdab;
        padding-top: 10px;
        padding-left: 10px;
        padding-bottom: 10px;
        color: white;
    }
    .einspeisungsubtext {
        width: 50%;
        direction: rtl;
    }
    .eigenverbrauchsubtext {
        width: 50%;
    }
    .bezugsubtext {
        width: 50%;
        direction: rtl;
    }
    .eigenproduktionsubtext {
        width: 50%;
    }
</style>
</head>
<body>
<div class="container1">
    <div class="overlay">Produktion: '.$produktion_kwh.' kWh</div>
    <div class="eigenverbrauch">'.$eigenverbrauch_prozent.'%</div>
    <div class="einspeisung">'.$einspeisung_prozent.'%</div>
</div>
<div class="container2">
    <div class="eigenverbrauchsubtext">Eigenverbrauch: <font style="color: #28cdab; font-weight: bold;">'.$eigenverbrauch_kwh.'&nbsp;kWh</font></div>
    <div class="einspeisungsubtext">Einspeisung: <font style="color: #15c603; font-weight: bold;">'.$einspeisung_kwh.'&nbsp;kWh</font></div>
</div>
<div class="container1">
    <div class="overlay">Verbrauch: '.$verbrauch_kwh.' kWh</div>
    <div class="eigenproduktion">'.$eigenproduktion_prozent.'%</div>
    <div class="bezug">'.$zukauf_prozent.'%</div>
</div>
<div class="container2">
    <div class="eigenproduktionsubtext">Eigenproduktion: <font style="color: #28cdab; font-weight: bold;">'.$eigenproduktion_kwh.'&nbsp;kWh</font></div>
    <div class="bezugsubtext">Zukauf: <font style="color: #d00000; font-weight: bold;">'.$zukauf_kwh.'&nbsp;kWh&nbsp;</font></div>
</div>
';


Setvalue(52318, $htmlpv);




Hier kann ich über die Schnellwahl einfach die Balken mit allen Infos grafisch abrufen, wenn ich es genauer wissen möchte dann kann ich alternativ über die Time Picker die Bereiche einstellen.

Jetzt habe ich das ganze mal mit deinem Modul getestet und festgestellt, es wird so nicht funktionieren, ausser ich übersehe was?
Meine Frage:
Könnte man sowas integrieren, bzw. es so gestalten, dass man sich die Werte der Variablen mit seinen eigenen Zeitbereichen dem Modul zur Verfügung stellt?

Deine Idee finde ich gut, ich denke mal drüber nach wie ich das integrieren könnte.

Viele Grüße
Stephan

1 „Gefällt mir“

Stephan !!! Geil ! :slight_smile: Das ist ja der Hammer !!!
Bewegtes Regenradar als gif formatfüllend in der Kachel. You made my Day

3 „Gefällt mir“

Hallo Stephan.
Wollte mal die HTML Wallbox testen, leider wir nur der Status angezeigt. Kein Bild und keine der anderen aktivierten Variablen.
Was mach ich falsch?


Hi,

Am Computer mit Chrome Browser könntest du mal einen Rechtsklick auf die Kachel machen und „Untersuchen“ auswählen und schauen ob in der Konsole Fehlermeldungen auftauchen.

Teste mal bitte was passiert wenn du nur die Status Variable konfigurierst. Alle anderen Einträge bitte mal löschen. So ein Fehler tritt meist auf wenn eine Variable etwas enthält mit dem die Kachel nicht umgehen kann.

Viele Grüße
Stephan

Hat sich erledigt, plötzlich funktioniert die Kachel mit der Wallbox.
Danke!

kann es sein das du eine Bool-Variable als Status ausgewählt hast? Da gab es noch einen Fehler.
Der Fehler ist auf dem Beta-Kanal im Module Store gefixt.

Zu der PV Kachel:

Alle Variablen müssen im Archiv geloggt werden. Alle Variablen müssen die Werte in kWh liefern. Die Kachel zieht sich dann aus dem Archiv die aktuellen Tageswerte. Werte in Watt etc. haben hier nichts zu suchen die Kachel zeigt KEINE aktuelle Leistung an sondern die Verbrauch- und Produktionswerte des Tages.

Gruß Stephan

Muss auch ein kleines Problem melden.

Mein Geschirrspüler Forstschritt wird nicht aktualisiert …

image

Bleibt standhaft bei 0%

Anwenderfehler? oder Modulproblem? Ging jedenfalls schon mal!

Gruß Heiko

Moin Heiko,

hast du hier den Statusbalken auf aktiv gesetzt?

hoffe du wäscht dein Geschirr nicht ersthaft in der Waschmaschine :wink:

Gruß Stephan

Natürlich nicht :frowning: … Anwenderfehler :slight_smile: Danke!

Immer, das Modul bietet mir ja nichts anderes an :slight_smile: Da hab ich es in die Waschmaschine getan :loveips:

LG Heiko

Nicht dass ich der Rechtschreibexperte wäre, aber das stimmt so wohl nicht:
image

bb

1 „Gefällt mir“

[quote=„bbernhard, post:441, topic:136180“] :innocent:
Nicht dass ich der Rechtschreibexperte wäre, aber das stimmt so wohl nicht:
[/quote]

:innocent: oh je, ich alter Legastheniker!

Wenn ich mein Geschirr schon in der Waschmaschine waschen muss, dann darf ich das auch Spühler nennen :rofl:

Danke! Geändert!
Heiko

Konsequenterweise wäre das dann die Waschmahschine.

2 „Gefällt mir“