ESPHome default_transition_length fernsteuern

Tueftler

New member
Hi!

Ich möchte gerne über Node-Red die Fading-Zeit der ESP-Home-PWM vom ESP8266
verändern können.
Ich kann hin senden was ich möchte - Ich bekomme es einfach nicht hin.

z.B. via JSON:
Code:
{
    "default_transition_length": "20s",
    "brightness_pct": 100
}

ESP-Home-Ausschnitt des Gerätes:
Code:
- platform: monochromatic
    output: pwm_output8
    name: "Licht Nebenraum"
    default_transition_length: 0.5s

Ich dachte dann es könnte mit Variablen funktionieren, aber da weigert er sich zu Compilieren.
Er beanstandet die fadetime bei der transition_length:
Code:
globals:
  - id: fade_time
    type: std::string
    restore_value: no
    initial_value: '"0.5s"'
- platform: monochromatic
    output: pwm_output8
    name: "Licht Nebenraum"
    default_transition_length: fade_time

Ich hoffe mir kann jemand hier helfen.
Leider finde ich auch bei dem Thema nichts im Internet.
Bei allen Einträgen finde ich fixe Zeiten in der Firmware...

Danke Euch erst einmal!
 
Wenn default_transition_length: 0.5s funktioniert und die Variable mit dem Wert initial_value: '"0.5s"' abgelehnt wird, mal versucht die Anführungszeichen dabei zu reduzieren?
 
Hi!

Leider bekomme ich keine Kombination hin mit der der Syntax zu stimmen scheint.

Hier meckert er:
Unknown value 'fade_time', valid options are 'us', 'microseconds', 'ms', 'milliseconds', 's', 'sec', 'seconds', 'min', 'minutes', 'h', 'hours', 'd', 'days'. default_transition_length: fade_time

Er kommt mit dem "s" im String von Sekunden nicht klar.
 
Wenn man sich die Doku dazu anschaut scheint tendenziell mit id() drauf zugegegriffen zu werden.

Mal mit etwas wie lambda: 'return id(fade_time);' versucht? Und die Definition als initial_value: '0.5s' oder als initial_value: 0.5s?
 
Guten Abend.
Ich konnte bisher nicht testen.
Nun wieder alle möglichen Syntax getestet - Aber er meckert immer die Reihe an:
Code:
default_transition_length: 'return id(fade_time);'

Ich habe so das Gefühl, als ob ich ihm sagen müsste, dass das was ich schreibe als Programmcode zu werten ist.
Gibts doch nicht.
Vor Allem, warum möchte niemand anderes die Fade-Time verstellen können?
Ich kann da doch nicht der einzige sein!?
 
Zuletzt bearbeitet:
Ich habe parallel nun einmal im Englisch-Sprachigen ESP-Home Forum angefragt.
Wenn ich eine positive Rückmeldung erhalte schreibe ich es natürlich auch hier hin.
Ich möchte nun aber gerne eine Lösung haben - Das ärgert mich, dass ich den Fehler nicht sehe ;)
 
Sinnvoll :)

Aber ich glaube nicht, dass ein return ohne das lamda davor funktionieren kann, das hattest Du auch versucht?
 
Also es gibt ja diese Definition der "Light"-Komponente:
https://esphome.io/components/light/index.html#light-turn-on-action

Hier gibt es die "transition_length" welche das eigentlich sein müsste.
Komischerweise funktioniert der Befehl bei mir jedoch nicht.
Die Beleuchtung reagiert nicht.

Dann habe ich einen Node-Red Code gefunden bei dem jemand nur "transition" mit einem dezimalen Wert sendet - Ganz ohne angehängte Einheit!?
Versucht und funktionierte plötzlich.

Nur warum?
Dieser Befehl, genau wie mein genutzter "brightness_pct" zur Dimmung über Prozente ist nicht in der Doku beschrieben - Und dieser, der in der Doku beschrieben ist funktioniert nicht :)
Das ist echt eine komische Sache...

Code:
{
    "brightness_pct": 50,
    
    //funktioniert:
    "transition":5

    //-> funktioniert nicht:
    //"transition_length": 5s
    //"transition_length": "5s"
    //"transition_length": 5000
}

Dein "Lambda" habe ich im Text tatsächlich übersehen! Endschuldige bitte.
Ich war so am rum testen, dass ich zwar den Befehl testete, aber das Lambda nicht sah...

Aber es muss ja ohnehin über die transition_length funktionieren....eigentlich :)
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.383
Beiträge
45.257
Mitglieder
3.984
Neuestes Mitglied
Blitzkriegbob90
Zurück
Oben