http://192.168.178.46/control?cmd=epd,txl,1,Zeile1,2,Zeile2
kann ich das Display ansteuern. Ich kann dabei bis zu 24 Zeilen ansteuern. Ich hätte es gern so, dass ab einem Fenster offen folgender Text auf dem Display angezeigt wird:my $string = "http://192.168.178.46/control?cmd=epd,txl,"
for each $win in @"^Window":state:"open" $string + "," + $index +"," + $win
Hat einer von euch eine Idee wie man das schön in Code gießen kann?(["^*.fk.*:open"]) {GetHttpFile("192.168.178.46","/control?cmd=epd,txl,1,Test,2,offen")}
DOELSE
{GetHttpFile("192.168.178.46","/control?cmd=epd,clear")}
Zitat von: betateilchen am 12 Mai 2024, 16:12:57Was sollte denn da fehlen? es sollen ja alle Readings des devices PortA0-PortB7 aktualisiert werden.{fhem "get MCP0x20"}
Fehlt da nicht irgendwas?
Muss man dem get nicht mitgeben, WAS man denn vom device gerne zurückbekommen möchte?
Zitathab ich überlegt, ob ich nachts ein Stück was Energie aus dem Akku in den Brauchwasserspeicher schieben kann, so dass die Ölheizung aus bleibt.
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: 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