Zitat von: sig10680 am 22 April 2024, 14:44:42Zitat von: eckonator am 05 April 2024, 23:04:24Zitat von: mrfloppy am 20 Juni 2023, 14:18:10Zitat 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
Today_HourXX_PVforecast
- Readings. Da kann erst einmal ein Haken dran.NextHours_Sum04_ConsumptionForecast
. Und zu genau diesem Reading hätte ich eine Frage.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.Zitat von: Tueftler1983 am 13 Mai 2024, 23:31:48Hätte diesen zwar gerne unter den Icons aber das geht wohl nicht im devStateIcon/StateFormatGeht 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:ad 1:
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