Advertisement
FAREFEX

YAML - DISPLAY TM1651 BRIGHTNESS

Dec 16th, 2024
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.13 KB | Source Code | 0 0
  1. Der YAML-Code für die Steuerung der Helligkeit deines TM1651-Moduls, wie in deinem Beispiel gezeigt, wird in einem Trigger eingesetzt. Ein solcher Trigger kann durch Ereignisse wie einen Tasterdruck, einen Sensorwert oder eine Bedingung ausgelöst werden.
  2.  
  3. Hier ein Beispiel, wie dieser Code korrekt in einem ESPHome-Skript verwendet wird:
  4. Beispiel: Helligkeit ändern bei Tastendruck
  5. Angenommen, du möchtest die Helligkeit auf 1 setzen, wenn ein Taster gedrückt wird:
  6. yaml
  7. Code kopieren
  8. esphome:
  9.   name: tm1651_d1_mini
  10.  
  11. esp8266:
  12.   board: d1_mini
  13.  
  14. wifi:
  15.   ssid: "DEIN_SSID"
  16.   password: "DEIN_PASSWORT"
  17.  
  18. logger:
  19. api:
  20. ota:
  21. # Konfiguration des TM1651
  22. display:
  23.   - platform: tm1651
  24.     id: tm1651_battery
  25.     data_pin: D5
  26.     clock_pin: D6
  27.     update_interval: 500ms
  28.     brightness: 0.5  # Standardhelligkeit
  29.  
  30. # GPIO-Schalter für den Taster
  31. binary_sensor:
  32.   - platform: gpio
  33.     pin: D2
  34.     name: "Helligkeit Taster"
  35.     id: brightness_button
  36.     on_press:
  37.       - tm1651.set_brightness:
  38.           id: tm1651_battery
  39.           brightness: 1  # Helligkeit auf 100% setzen
  40.     on_release:
  41.       - tm1651.set_brightness:
  42.           id: tm1651_battery
  43.           brightness: 0.5  # Helligkeit auf 50% zurücksetzen
  44.  
  45. Erklärung:
  46. on_press und on_release:
  47. Bei einem Tasterdruck (on_press) wird die Helligkeit des TM1651-Displays auf 1 (100%) gesetzt.
  48. Sobald der Taster losgelassen wird (on_release), wird die Helligkeit auf 0.5 (50%) zurückgesetzt.
  49. tm1651.set_brightness:
  50. Mit dieser Aktion wird direkt die Helligkeit des TM1651 geändert.
  51. Der id-Wert muss mit der ID des Displays (tm1651_battery) übereinstimmen, die im display-Block definiert ist.
  52. Weitere Anwendungsbeispiele:
  53. Beispiel: Helligkeit durch Zeit steuern
  54. Die Helligkeit wird um 18:00 Uhr auf 100% und um 22:00 Uhr auf 20% gesetzt:
  55.  
  56. time:
  57.   - platform: homeassistant
  58.     id: homeassistant_time
  59.     on_time:
  60.       - seconds: 0
  61.         minutes: 0
  62.         hours: 18
  63.         then:
  64.           - tm1651.set_brightness:
  65.               id: tm1651_battery
  66.               brightness: 1
  67.       - seconds: 0
  68.         minutes: 0
  69.         hours: 22
  70.         then:
  71.           - tm1651.set_brightness:
  72.               id: tm1651_battery
  73.               brightness: 0.2
  74.  
  75. Beispiel: Helligkeit per Sensorwert anpassen
  76. Die Helligkeit wird abhängig von der Umgebung (z. B. gemessen durch einen Lichtsensor) gesteuert:
  77. sensor:
  78.   - platform: adc
  79.     pin: A0
  80.     name: "Helligkeitssensor"
  81.     on_value:
  82.       then:
  83.         - tm1651.set_brightness:
  84.             id: tm1651_battery
  85.             brightness: !lambda |-
  86.               if (x > 0.8) {
  87.                 return 1.0;  // Maximale Helligkeit
  88.               } else if (x > 0.4) {
  89.                 return 0.5;  // Mittlere Helligkeit
  90.               } else {
  91.                 return 0.2;  // Geringe Helligkeit
  92.               }
  93.  
  94. Zusammenfassung:
  95. - tm1651.set_brightness:
  96.     id: tm1651_battery
  97.     brightness: 1
  98.  
  99. wird immer innerhalb eines Triggers wie on_press, on_release, on_value, on_time oder anderen Ereignissen verwendet. Stelle sicher, dass der id-Wert korrekt definiert und auf das TM1651-Display verweist.
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement