NEWS


  • Hallo Gemeinde, ich habe versucht eine Steuerung zu bauen aber irgendwie funktioniert dieses nicht, könnt ihr mir da bitte helfen?

    Ich möchte das meine poolpumpe jeden tag einmal um 6:00-8:00, 14:00-16:00 und 24:00-02:00 Uhr auf true gesetzt ist. ich habe einmal versucht dies zu realisieren doch leider wird die pumpe nicht geschaltet.

    hier mal mein code:

    function poolpumpe () {
    
        if(compareTime('6:00', '8:00', 'between') || compareTime('14:00', '16:00', 'between') || compareTime('23:59', '02:00', 'between')) { 
            setState('sonoff.0.Poolpumpe.POWER', true);
        } else setState('sonoff.0.Poolpumpe.POWER', false);
    };
    
    schedule('0 6 * * *', poolpumpe);
    schedule('0 8 * * *', poolpumpe);
    schedule('0 14 * * *', poolpumpe);
    schedule('0 16 * * *', poolpumpe);
    schedule('59 23 * * *', poolpumpe);
    schedule('0 2 * * *', poolpumpe);
    

    danke grüße Axel

  • Forum Testing Most Active

    @fischi87 sagte in Hilfe bei script:

    tag einmal um 6:00-8:00

    was heißt das:

    um 06:00 ?
    um 07:00 ?
    um 08:00 ?

    schreibe mal genau:
    wann auf true ?
    wann auf false ?

  • Forum Testing Most Active

    @fischi87 sagte in Hilfe bei script:

    setState('sonoff.0.Poolpumpe.POWER', false)

    Jetzt hab ich dich verstanden.
    um 06:00 auf true
    und um 08:00 auf false

    dann so:

    schedule('0 0,6,14 * * *', function () {    // um 6, 14, 0 Uhr auf true
        setState('sonoff.0.Poolpumpe.POWER', true);
    });
    
    schedule('0 2,8,16 * * *', function () {    // um 2, 8, 16 Uhr auf true
        setState('sonoff.0.Poolpumpe.POWER', false);
    });
    
  • Forum Testing Most Active

    @fischi87 sagte in Hilfe bei script:

    schedule('0 16 * * *', poolpumpe);

    Hier lag dein Fehler!

    Um 16:00 hast du wieder auf true geschaltet.

    d.h. false ist nie eingetreten.

    richtig wäre gewesen:

    schedule('1 16 * * *', poolpumpe);
    

    16:01 wäre dann außerhalb gewesen.


  • @bahnuhr sagte in Hilfe bei script:

    @fischi87 sagte in Hilfe bei script:

    tag einmal um 6:00-8:00

    was heißt das:

    um 06:00 ?
    um 07:00 ?
    um 08:00 ?

    schreibe mal genau:
    wann auf true ?
    wann auf false ?

    ich möchte das die pumpe 6:00 Uhr true ist bis 8:00 dann false. dann einmal 14:00 Uhr bis 16:00 Uhr und dann einmal von 24 Uhr bis 2 Uhr. besser? sorry für die ungenaue angeben.

  • Forum Testing Most Active

    Lösung siehe oben.



  • @bahnuhr

    danke euch 👍🏻


  • @bahnuhr

    nochmal hallo, ich musste das Skript nochmal bissl abändern um den State zu benennen, ist dies so okay, würde dies so funktionieren?

    var logging = true;
    
    const idpoolpumpe = getState('sonoff.0.Poolpumpe.POWER').val;
    var poolpumpe = idpoolpumpe;
    var poolstate = 'javascript.0.Pool.Status'
    
    createState(poolstate, {
    type: 'string',
    name: ' ',
    desc: ' ',
    def: ' ',
    role: 'value'
    });
    
    function pool () { 
        (idpoolpumpe);
        if(poolpumpe) poolstate = "Ein";
        else poolstate = "Aus";
        if(logging) log(poolstate);
    }
    
    on('sonoff.0.Poolpumpe.POWER', function(dp) {
        poolpumpe = dp.state.val;
        pool();
    });
    
    schedule('0 1,5,9,13,15,21 * * *', function (dp) {    // um 6, 14, 0 Uhr auf true
        setState('sonoff.0.Poolpumpe.POWER', true);
        pool();
    });
      
    schedule('0 2,6,10,14,16,22 * * *', function (dp) {    // um 2, 8, 16 Uhr auf true
        setState('sonoff.0.Poolpumpe.POWER', false);
        pool();
    
    });
    
    pool();
    

Suggested Topics

  • 3
  • 1
  • 8
  • 5
  • 4
  • 31
  • 6
  • 17

1.5k
Online

38.3k
Users

43.8k
Topics

611.8k
Posts