Neueste Beiträge

#1
FHEMapp / Aw: [gelöst] Fehlende Panels
Letzter Beitrag von Muffin4711 - 14 Mai 2024, 15:05:47
Ja, Danke :-) Problem wurde gelöst.
#2
Sonstige Systeme / Aw: IO-Homecontrol Devices übe...
Letzter Beitrag von sig10680 - 14 Mai 2024, 14:48:02
Zitat von: sig10680 am 22 April 2024, 14:44:42
Zitat von: eckonator am 05 April 2024, 23:04:24
Zitat von: mrfloppy am 20 Juni 2023, 14:18:10
Zitat von: mike3436 am 19 Juni 2023, 14:12:01Zum Developer Mode:
Ich würde die Änderungen von IT-Fuzzi gern übernehmen, habe aber leider nichts von ihm gehört. Vielleicht muss ich ihn mal direkt anschreiben.

DAs wäre super wenn du das machen würdest, vielleicht wird das ganze ja noch was.

LG


Hallo zusammen, ich habe auch Interesse an der Version mit der Local API. Nachdem ich mich hier eingelesen habe, befürchte ich allerdings, dass die Version von IT-Fuzzi hier nicht mehr ankommen wird.

Meine gebrauchte Tahoma Box Premium habe ich eben erst in ebay erstanden und befindet sich noch auf dem Weg zu mir.

@mike3436 schau dir mal folgende Code-Anpassungen an - so sollte man die Local API in der Theorie angesprochen bekommen. Kannst du daraus was zusammen mergen?


sub tahoma_login($) {
  my ($hash) = @_;
  my $name = $hash->{NAME};
  Log3 $name, 3, "$name: tahoma_login";

  HttpUtils_Close($hash);
  $hash->{logged_in} = undef;
  $hash->{startup_run} = undef;
  $hash->{startup_done} = undef;

  # URL und Pod für lokale API
  my $local_url = "https://ha101-1.overkiz.com/enduser-mobile-web/enduserAPI/";
  my $pod = "YOUR_GATEWAY_PIN"; # Ersetzen Sie dies durch Ihre Gateway-PIN

  # Anmeldeinformationen für lokale API
  my $username = "YOUR_EMAIL_ADDRESS";
  my $password = "YOUR_PASSWORD";

  # Login-Anfrage an lokale API senden
  my $login_url = "${local_url}login";
  my $login_body = "userId=$username&userPassword=$password";
  my %login_headers = (
    'Content-Type' => 'application/x-www-form-urlencoded'
  );

  HttpUtils_NonblockingGet({
    timeout => 10,
    noshutdown => 1,
    hash => $hash,
    url => $login_url,
    data => $login_body,
    headers => \%login_headers,
    callback => \&tahoma_handle_login_response,
    nonblocking => 1,
  });
}

sub tahoma_handle_login_response($) {
  my ($hash, $response) = @_;
  my $name = $hash->{NAME};

  if ($response->{httpCode} == 200) {
    my $session_id = $response->{HTTPCookies}->{'JSESSIONID'}; # Sitzungs-ID aus der Antwort erhalten
    Log3 $name, 2, "$name: Login erfolgreich, Session-ID: $session_id";
   
    # Nach erfolgreicher Anmeldung können weitere Aktionen ausgeführt werden
    # Z.B. Token generieren, um die lokale API zu autorisieren
    tahoma_generate_token($hash, $session_id);
  } else {
    Log3 $name, 2, "$name: Login fehlgeschlagen, HTTP-Code: $response->{httpCode}";
    # Hier können Sie entsprechend auf einen fehlgeschlagenen Login reagieren
  }
}

sub tahoma_generate_token($) {
  my ($hash, $session_id) = @_;
  my $name = $hash->{NAME};

  # Token-Generierungs-Anfrage an lokale API senden
  my $token_url = "${local_url}config/$pod/local/tokens/generate";
  my %token_headers = (
    'Content-Type' => 'application/json',
    'Cookie' => "JSESSIONID=$session_id"
  );

  HttpUtils_NonblockingGet({
    timeout => 10,
    noshutdown => 1,
    hash => $hash,
    url => $token_url,
    headers => \%token_headers,
    callback => \&tahoma_handle_token_response,
    nonblocking => 1,
  });
}

sub tahoma_handle_token_response($) {
  my ($hash, $response) = @_;
  my $name = $hash->{NAME};

  if ($response->{httpCode} == 200) {
    my $token = $response->{data}->{token}; # Token aus der Antwort erhalten
    Log3 $name, 2, "$name: Token erfolgreich generiert: $token";
    # Hier können Sie den generierten Token speichern und für zukünftige lokale API-Anfragen verwenden
  } else {
    Log3 $name, 2, "$name: Fehler beim Generieren des Tokens, HTTP-Code: $response->{httpCode}";
    # Hier können Sie entsprechend auf einen Fehler beim Generieren des Tokens reagieren
  }
}




Hallo @eckonator,
ich biete mich auch als tester an. Ich habe meine Box schon für die locale nutzung freigeschaltet.

mfg Sig10680

Hallo in die Runde,

ich habe meine Box für die local Api freigeschaltet und kann die Geräte über Curl befehle steuern. Ausserdem habe ich versucht es mit Fhem und diesen Modul hinzubekommen bin aber gescheitert. Mal sehen vielleicht hat ja einer eine Idee wie man es in das vorhanden Modul einbauen könnte.

mfg Sig10680
#3
FHEM Code changes / Revision 28876: AutomowerConne...
Letzter Beitrag von System - 14 Mai 2024, 14:11:08
Revision 28876: AutomowerConnect: add Reading mower_inactiveReason, fix js

AutomowerConnect: add Reading mower_inactiveReason, fix js

Source: Revision 28876: AutomowerConnect: add Reading mower_inactiveReason, fix js
#4
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 14 Mai 2024, 13:52:01
Hallo Hazel,

für die "normale" Planung kann man das Attr affectConsForecastInPlanning dafür verwenden.
Im beschriebenen Fall geht es nicht, da 1. in der Nacht und 2. aus der Batterie verbraucht werden soll.

Es gibt mit "get ... nextHours" den Schlüssel "confcEx" der den Verbrauch ohne den Erfahrungsanteil registrierter Verbraucher enthält. Wenn du des Perl mächtig bist, kannst du dir diese Werte rausziehen (Schnittstelle "NexthoursVal" ist im Wiki beschrieben).

Anderenfalls könnte ich anbieten, über das Attr ctrlStatisticReadings ein Reading statistic_ConsumptionForecastEx_Sum04 zuschaltbar erstellen zu lassen, welches du dann auswerten kannst.
Das muß ich aber erst einbauen.

Ansonsten hast du alles richtig erkannt und beschrieben. ;)

Grüße,
Heiko
#5
Sonstige Systeme / Aw: [Neues Modul] 74_Automower...
Letzter Beitrag von Ellert - 14 Mai 2024, 13:33:13
Hab die Änderung eingecheckt.

Wie erzeugt man in FHEMWEB eine Seite ohne id="content" und ohne HTML-Attribut room= ?

Wenn ich das weiß kann ich so eine Seite zum Testen verwenden.
#6
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von hazelnut - 14 Mai 2024, 13:03:26
Hallo in die Runde,

ich bastel so langsam weiter und habe immer mehr Spaß am SolarForecast-Modul :-)

Da ja aktuell - und vermutlich auch die nächsten Monate - jede Menge Energie durch die PV-Anlage erzeugt wird und ich auch den Speicher nicht mehr so ohne Weiteres leer bekomme, hab ich überlegt, ob ich nachts ein Stück was Energie aus dem Akku in den Brauchwasserspeicher schieben kann, so dass die Ölheizung aus bleibt.

Die Bedingungen würden grob so aussehen:

- Unterschreitung einer Temperatur im Brauchwasserspeicher
- Mindestladezustand Akku
- erwarteter Verbrauch für die nächsten Stunden
- Zeitpunkt, ab dem mit einer Einspeisung über ... gerechnet wird.

Brauchwassertemperatur und Ladezustand vom Akku sind kein Problem. Den Zeitpunkt, mit Einspeisung > als ... finde ich in den
Today_HourXX_PVforecast- Readings. Da kann erst einmal ein Haken dran.

Bleibt der erwartete Verbrauch. Hier habe ich das Reading
NextHours_Sum04_ConsumptionForecast. Und zu genau diesem Reading hätte ich eine Frage.

Wenn ich das recht verstehe, gibt mir das Reading den erwarteten Verbrauch für die nächsten 4h aus. Faktisch wäre das genau das, was ich brauche. Wenn ich das aber recht verstehe, wird dieser Wert durch "Erfahrungswerte" gebildet.

Sprich: wenn ich nach aktuellem Stand Nachts um 02:00 Uhr drauf schaue, sehe ich, was ich bis 06:00 als summierten Ruhestrom verbrauche. Das ist das, was ich eigentlich möchte.

Wenn ich jetzt feststelle, dass der Akku um 02:00 Uhr (um beim Beispiel zu bleiben) noch so voll ist, dass ich den Ruhestrom der nächsten 4 Stunden abdecken kann und gleichzeitig noch Energie übrig ist, die ich in das Brauchwasser stecken könnte (sagen wir 2 kWh) und das auch tue, würde das System doch daraus lernen, richtig?

D.h. ich bekomme, wenn ich das eine Woche so mache, bei
NextHours_Sum04_ConsumptionForecast den Wert inkl. der Arbeit, die ich in den Heizstab gesteckt habe (also quasi 2kWh mehr). Das würde die Entscheidung, ob die Einschaltbedingung vorhanden ist, jedoch verfälschen, da ich letztlich von einer höheren erwarteten Last ausgehe und ich nicht mehr den "reinen" Ruhestromverbrauch sehe.

Von daher: hab ich das so richtig verstanden? Und gibt es eine Möglichkeit, Lasten bzw. Verbraucher vom Trainingsdatensatz auszuschließen, so dass diese bei den Lastprognosen nicht berücksichtigt werden?

Im Voraus schon einmal vielen Dank und Grüße

Hazel
#7
Automatisierung / Aw: Modul 93_DbRep - Reporting...
Letzter Beitrag von betateilchen - 14 Mai 2024, 12:35:37
Solche Meldungen, die auf ein mögliches Problem hindeuten, sollten bitte NICHT unterdrückt werden.
#8
MQTT / Aw: Bestway LayZSpar Wirlpool
Letzter Beitrag von Beta-User - 14 Mai 2024, 11:41:43
Zitat von: Tueftler1983 am 13 Mai 2024, 23:31:48Hätte diesen zwar gerne unter den Icons aber das geht wohl nicht im devStateIcon/StateFormat
Geht schon, aber man müßte es komplett in Perl notieren. Falls (!) du Code suchst: die sonos-Geschichte ist vermutlich das am weitesten in diese Richtung fortgeschrittene Beispiel, das mir grade einfällt.

ZitatWas mir noch nicht gefällt ist:
 1. Das man 0 und 1 auswählen muss oder halt set spa bubbles 1
Anstatt
set spa bubbles on
2. Das ich 2 Icons für die Heizung habe da es 2 Readings für die Heizung gibt,
"RED" 0 = Heizung aus, oder Soll Temperatur erreicht
"RED" 1 = Heizung an aber noch nicht Soll Temperatur
"GRN" 0 Heizung aus, oder Soll Temperatur noch nicht erreicht
"GRN" 1 Heizung an und Soll Temperatur erreicht
Da hätte ich lieber 1 Icon
Rot aus
Orange an und Soll Temperatur noch nicht erreicht
Grün Soll Temperatur erreicht
ad 1:
a) Vermutlich sollte der setter "AIR" heißen, das scheint jedenfalls das Reading zu sein, das rückwärts dazu kommt.
b) Man kann das schon von "0" nach "off" mappen etc.. Ist dann halt Nacharbeit in Sende- und Empfangsrichtung (Perl...)

ad 2: auch das ließe sich mit Perl-devStateIcon-Code lösen. Ist halt die Frage, ob es dir den Aufwand wert ist...
#9
Sonstige Systeme / Aw: [Neues Modul] 74_Automower...
Letzter Beitrag von foxjr - 14 Mai 2024, 11:41:22
Funktioniert alles.

Web ist Standard Webfrontend "FHEMWEB". Fehler taucht nicht mehr auf.

Vielen Dank!
#10
Anfängerfragen / VERSCHOBEN: Zeilenumbruch bei ...
Letzter Beitrag von Otto123 - 14 Mai 2024, 11:26:36