Autor Thema: Esp easy rules ws2812 zwischen zwei werten dimmen  (Gelesen 115 mal)

Offline MC_Arthur

  • New Member
  • *
  • Beiträge: 37
Moin

Möchte in esp easy rules eine led schalten wenn ein Wert zwischen zB 30 und 40 liegt

Kenne leider nur < > =

Aber nix zwischen

Oder geht das dann zB mit

....
If [dht#temp]>30 and [dht#temp]<40
.....

Also der and Funktion ?!

Danke

Offline steffen83

  • Full Member
  • ***
  • Beiträge: 243
Antw:Esp easy rules ws2812 zwischen zwei werten dimmen
« Antwort #1 am: Gestern um 07:01:15 »
Genau so :-)

Gesendet von meinem MI 8 mit Tapatalk

Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

Offline MC_Arthur

  • New Member
  • *
  • Beiträge: 37
Antw:Esp easy rules ws2812 zwischen zwei werten dimmen
« Antwort #2 am: Gestern um 09:10:07 »
Vielen Dank für die Rückmeldung .

Super . Danke


Du kennst dich nicht evtl auch noch damit aus in Verbindung ws2812 über neopixel ?!
Also das sie leuchten klappt und auch die Farbe wechseln .

Aber wenn die Farbe rot dran ist . Hätte ich die gerne Rauf und  runter gedimmt.Nennt man das fade in ?


Offline DasQ

  • Full Member
  • ***
  • Beiträge: 274
  • Allgeier Mechlar / ned gschimpft isch globt gnua
    • ich
Antw:Esp easy rules ws2812 zwischen zwei werten dimmen
« Antwort #3 am: Gestern um 09:22:50 »
Wenn du den Bereich von 30 bis 40 brauchst, musst du natürlich größer 29 und kleiner 41 nutzen, sonst hättest du ja nur von 31 bis 39.

Zu deiner zweiten Frage würde ich einen zweiten Thread aufmachen oder das Topic anpassen.
BTW. Kann ich dieser Frage Stellung absolut nicht folgen, sonst hätt ich dir da auch geholfen.

Hast mal nen Sketch oder file auf was du dich beziehst?
wer meine rechtschreibfehler findet, oder nachmacht, oder gefundene nachgemachte verfälscht, wird mit ziebelsuppe, nicht unter 2 teller bestraft.

Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung

Offline MC_Arthur

  • New Member
  • *
  • Beiträge: 37
Antw:Esp easy rules ws2812 zwischen zwei werten dimmen
« Antwort #4 am: Gestern um 10:01:34 »
also: momentan sieht das ganze in Rules so aus.

on dht#temp do
    if [dht#temp]>25 and [dht#temp]<28
        NeoPixel,1,0,0,255
        NeoPixel,2,0,0,255
    endif
    if [dht#temp] < 25
        NeoPixel,1,0,255,0
        NeoPixel,2,0,255,0
    endif
    if [dht#temp] > 28
        NeoPixel,1,255,0,0
        NeoPixel,2,255,0,0
    endif
endon

und wenn der wert höher 28 ist, geht die WS2812 auf rot.
aber nur rot leuchten möchte ich nicht. Sondern,  das rot aufhellt und abdunkelt. solange bis dann wieder eine andere Temperatur anliegt.
Sprich von dunkel langsam heller wird, wenn max Helligkeit erreicht dann wieder langsam dunkler wird.so lange bis wert unter 28.

Gruß

Offline DasQ

  • Full Member
  • ***
  • Beiträge: 274
  • Allgeier Mechlar / ned gschimpft isch globt gnua
    • ich
Antw:Esp easy rules ws2812 zwischen zwei werten dimmen
« Antwort #5 am: Gestern um 10:43:11 »
ahhh jetzt wird ein strumpf drauss.

müsst jetzt selber nachlesen aber ich mach des jetzt einfach im [hypotesemode] und zwar müsste fade-in in dem zusammenhang, analog bzw pwm sein, das bringt dir nichts.

die neopixel sind ja intelligente leds, die rgb verstehen also einen farbraum von 256 von 0 - 255.
um das in espeasy "variabler" händelbar zu machen würde ich mit TaskValueSet und timern arbeiten. (ich hab heut leider nicht den kopf dafür, sonst würd ich dir das anhand von beispielen zeigen).

aber ich versuchs mal in worte zu fassen. und zwar kann TaskValueSet in laufzeit variablen speichern, mit den du rechnen kannst. also eine "kleine schleife" die in einem timer liegt und jedemal dein variablen mathematisch verändert, die led triggert mit neuem wert und wiederum den timerstartet usw.
die werte aus deim TaskValueSet nutzt du für die farbwerte deiner neopixel als variablenwerte.


als beispiel von mir mein garagentor.
im screenshot siehst du das generic-dummy-device, das ist der inhalt aus TaskValueSet. den ich wiederum in den rules per inkrement hochzähl.

On System#Boot do
 Publish %sysname%/ip,%ip%
 timerSet,1,60
 TaskValueSet 2,1,0
endon

On Rules#Timer=1 do
 Publish %sysname%/uptime,%c_m2dhm%(%uptime%)
 Publish %sysname%/ip,%ip%
 timerSet,1,600
  if [torposition#DoorPos]=1
    publish %sysname%/torposition,oben
  else
    publish %sysname%/torposition,unten
  endif
endon

on httpimpuls do
  pulse,10,1,300
  pulse,10,0,500 
  pulse,10,1,300
  pulse,10,0,500
  pulse,10,1,300
  gpio,10,0
  pulse,2,1,500
  gpio,2,0
  publish %sysname%/TorWebCmd,Done
  TaskValueSet 2,1,[zaehler#counter]+1
endon

on torposition#DoorPos do
  timerSet,2,10
endon

on Rules#Timer=2 do
  if [torposition#DoorPos]=1
    publish %sysname%/torposition,oben
    publish %sysname%/Counter,[zaehler#counter]
  else
    publish %sysname%/torposition,unten
    publish %sysname%/Counter,[zaehler#counter]
  endif
endon


« Letzte Änderung: Gestern um 10:55:08 von DasQ »
wer meine rechtschreibfehler findet, oder nachmacht, oder gefundene nachgemachte verfälscht, wird mit ziebelsuppe, nicht unter 2 teller bestraft.

Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung

Offline MC_Arthur

  • New Member
  • *
  • Beiträge: 37
Antw:Esp easy rules ws2812 zwischen zwei werten dimmen
« Antwort #6 am: Gestern um 11:26:46 »
moin,

dank dir.

ich weiß wirklich noch nicht ob ich das verstanden habe. muss mir das nochmal anschauen...

dir aber auch kein stress....

danke