Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. ICal + Sayit

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    333

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

ICal + Sayit

Geplant Angeheftet Gesperrt Verschoben ioBroker скрипты
25 Beiträge 5 Kommentatoren 5.6k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #9

    @spectrekr:

    Bluefox подскажите пожалуйста в строкеvar volume = getState('sayit.0.tts.volume').val;мы громкость получаем в тесктовом виде, а можно ли уменьшить ее методом вычитания или надо преобразовывать в число, а потом обратно в текст? `
    Что то я не пойму, что делает 0/10 в "0/10 8-22 * * *" ? Либо */10, либо 0-59/10.

    В Javascript отнимать, умножать и делить можно и строку. Она будет автоматом сконвертирована в число, а вот прибавлять нельзя.

    console.log("80" - 10) => 70
    console.log("80" + 10) => "8010"
    

    Поэтому я всегда при получении значения преобразую его с parseInt(x, 10);

    var volume = parseInt(getState('sayit.0.tts.volume').val, 10);
    if (isNaN(volume)) volume = 100;
    
    
    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      spectrekr
      schrieb am zuletzt editiert von
      #10

      @Bluefox:

      @spectrekr:

      Что то я не пойму, что делает 0/10 в "0/10 8-22 * * *" ? Либо */10, либо 0-59/10.
      Эту строчку взял со скрипта проговаривания времени, не стал изменять.

      Поправил в скрипте :-)

      По громкости, в объектах значение присутствует, а вот в настройках где регулировать громкость не нашел. Или это берется уровень системной громкости?

      Правильно понял, это будет работать?

          if(hour == 22 ) volume = volume - 10;
          if((hour == 7) && (hour == 8)) volume = volume - 30;
      
      
      1 Antwort Letzte Antwort
      0
      • E Offline
        E Offline
        electric69
        schrieb am zuletzt editiert von
        #11

        @spectrekr:

        По громкости, в объектах значение присутствует, а вот в настройках где регулировать громкость не нашел. Или это берется уровень системной громкости?

        Правильно понял, это будет работать?

            if(hour == 22 ) volume = volume - 10;
            if((hour == 7) && (hour == 8)) volume = volume - 30;
        
        ```` `  
        

        А зачем устанавливаете относительную громкость?

        Не проще ли абсолютную?

        Вот http://forum.iobroker.org/viewtopic.php?f=15&t=265 публиковал скрипт для CCU.IO, думаю оттуда можно взять работу с громкостью, принцип сам, функции чуть другие в ioBroker.

        1 Antwort Letzte Antwort
        0
        • V Offline
          V Offline
          vtec
          schrieb am zuletzt editiert von
          #12

          Тоже не понимаю извращения с громкостью.

          Делай везде 100, а где нужно уменьшай до например 80

          В моем же скрипте про время вот как:

          var volume = 100;

          if(hour == 23) volume = 80;

          setState (idSayIt, volume+';Привет);

          Зачем чего то там вычетать и складывать

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            spectrekr
            schrieb am zuletzt editiert von
            #13

            Извращение потому что уже 2 скрипта которые что-то проговаривают, может появится и еще, со временем. Хотел соответственно чтоб громкость была у вех одна, и уже регулировать только ее одну.

            vtec вот именно что в вашем скрипте конкретно прописано, т.е. после смены колонок мне бы надо было регулировать параметры громкости во всех скриптах, где указана конкретная цифра. А вычитал, потому что не знал как устанавливать значения, только учусь :-) и пытаюсь разобраться.

            А благодаря наводки electric69 накропал скрипт, который будет менять громкость в зависимости от времени, потом можно будет расширить функционал, например на присутствие в доме.

            Может это и полное извращение, но мне удобней чтоб все настройки были в минимальном количестве мест.

            1 Antwort Letzte Antwort
            0
            • V Offline
              V Offline
              vtec
              schrieb am zuletzt editiert von
              #14

              Я не увидел, где ты громкость выставляешь обратно в 100%.

              Представь 1-ый скрипт установил громкость в 80%, а через 10 минут отработает скрипт по новой, то твоя громкость будет составлять уже не 80%, а 60%. Т.к. переменная сама в 100% не возвращается.

              Может я конечно чего то не знаю :)

              Если ты заменишь колонку, то ты должен будешь выставить громкость на колонке, потому что громкость здесь измеряется в процентах, а не в децибелах. А давай смодулируем ситуацию, что у тебя не одна зона а пять, что ты будешь делать с громкостью?

              Мы все здесь учимся, я ни в коем случае не назжаю, а пытаюсь понять и сделать скрипт как можно оптимальней и функциональней. Если окажется что твой вариант более гибкий, то я готов свой скрипт переписать ;)

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                spectrekr
                schrieb am zuletzt editiert von
                #15

                В данном скрипте вообще переменная просто берется из системы. В скрипте с временем, там строка определяющая основную громкость стоит первой, а потом уже по наступлению времени изменяет только на данное время, при следующем запуске скрипта будет начальная громкость. Опять же в этих обоих скриптах, уже в данный момент, параметры громкости только берутся из системной переменной. Убрал я это уменьшение :-) Оставил уменьшение в отдельном скрипте, которое может регулировать и зонально и по времени, и вообще по присутствию в комнате, дабы не воспроизводил там где отсутствуют люди.

                Про колонку, настроил и спрятал далеко. Но вот моделируем ситуацию что рядом с домом\квартирой устроили ремонт и уровень постороннего шума поднялся, надо будет лезть и добавлять громкость на колонке. А по окончанию работ - убирать.

                Опять же, у меня нет системы сонос, может она по другому работает и можно более гибко сделать.

                1 Antwort Letzte Antwort
                0
                • I Offline
                  I Offline
                  instalator
                  schrieb am zuletzt editiert von
                  #16

                  @spectrekr:

                  …. и вообще по присутствию в комнате, дабы не воспроизводил там где отсутствуют люди. `
                  А как вы определяете присутствие?

                  Высокий уровень Децибел вреден для здоровья!

                  http://blog.instalator.ru/

                  1 Antwort Letzte Antwort
                  0
                  • V Offline
                    V Offline
                    vtec
                    schrieb am zuletzt editiert von
                    #17

                    @spectrekr:

                    В данном скрипте вообще переменная просто берется из системы. `
                    Если вы про это: var volume = getState('sayit.0.tts.volume').val;

                    То все выше изложенное как раз про это. Вы взяли значение из переменной volume, потом изменяете (например -20) и сохраняете обратно. Если скрипт повторно отработает, то он снова возьмет из переменной sayit.0.tts.volume значение. А оно там будет уже не 100%, а 80% и соответственно еще раз уменьшится громкость на -20, но уже от 80%.

                    Не знаю понятно ли объяснил :)

                    @spectrekr:

                    Убрал я это уменьшение :-) Оставил уменьшение в отдельном скрипте, которое может регулировать и зонально и по времени, и вообще по присутствию в комнате, дабы не воспроизводил там где отсутствуют люди. `
                    А вот это хорошая идея, вынести управление громкостью в отдельный скрипт и пусть он по шедулеру устанавливает громкость…. хм надо обдумать.

                    @spectrekr:

                    Про колонку, настроил и спрятал далеко. Но вот моделируем ситуацию что рядом с домом\квартирой устроили ремонт и уровень постороннего шума поднялся, надо будет лезть и добавлять громкость на колонке. А по окончанию работ - убирать.

                    Опять же, у меня нет системы сонос, может она по другому работает и можно более гибко сделать. `
                    У меня была такая ситуация, там где находилась колонка, я ее все равно слышал. А вот если уходишь например на кухню то там уже не слышно, но это уже другая история про мультирум :)
                    4489_erstes_skript_mit_blockly.pdf

                    1 Antwort Letzte Antwort
                    0
                    • V Offline
                      V Offline
                      vtec
                      schrieb am zuletzt editiert von
                      #18

                      @spectrekr:

                      дабы не воспроизводил там где отсутствуют люди. `
                      У вас есть многозонность? Как вы регулируете громкость в разных комнатах?

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        spectrekr
                        schrieb am zuletzt editiert von
                        #19

                        @instalator:

                        @spectrekr:

                        …. и вообще по присутствию в комнате, дабы не воспроизводил там где отсутствуют люди. А как вы определяете присутствие?
                        Еще не делал, но, например, датчик движения.
                        @vtec:

                        Если вы про это: var volume = getState('sayit.0.tts.volume').val;

                        То все выше изложенное как раз про это. Вы взяли значение из переменной volume, потом изменяете (например -20) и сохраняете обратно. Если скрипт повторно отработает, то он снова возьмет из переменной sayit.0.tts.volume значение. А оно там будет уже не 100%, а 80% и соответственно еще раз уменьшится громкость на -20, но уже от 80%. `
                        Так он только берет и уменьшает на данное воспроизведение, объект он новое значение не записывает, для этого надо отдельно setState делать, что уже и выполняется у меня в отдельном скрипте. Так даже удобней получилось.

                        @vtec:

                        А вот это хорошая идея, вынести управление громкостью в отдельный скрипт и пусть он по шедулеру делает громкость…. хм надо обдумать. `
                        Могу выложить свою вариацию. Уже работает :-)

                        @vtec:

                        У меня была такая ситуация, там где находилась колонка, я ее все равно слышал. А вот если уходишь например на кухню то там уже не слышно, но это уже другая история про мультирум :) `
                        Мультирум чуть другая ситуация, комната бывает большой. И колонку не всегда получается в центр комнаты разместить, чтоб равномерно по комнате было. По-этому, в некоторой ситуации, может быть и не слышно.

                        @vtec:

                        У вас есть многозонность? Как вы регулируете громкость в разных комнатах? `
                        Это пока в задумке, но думаю Bluefox с коллегами не зря сделал категории(комнаты) думаю от них можно будет оттолкнутся.

                        1 Antwort Letzte Antwort
                        0
                        • V Offline
                          V Offline
                          vtec
                          schrieb am zuletzt editiert von
                          #20

                          @spectrekr:

                          Так он только берет и уменьшает на данное воспроизведение, объект он новое значение не записывает, для этого надо отдельно setState делать, что уже и выполняется у меня в отдельном скрипте. Так даже удобней получилось. `
                          Хм… понял, попробую проверить на самом деле так или нет.
                          @spectrekr:

                          Могу выложить свою вариацию. Уже работает :-) `
                          Давайте конечно же. Если громкостью будет удбней из отдельного скрипта управлять, то в скрипте про время уберу тоже.

                          @spectrekr:

                          Это пока в задумке, но думаю Bluefox с коллегами не зря сделал категории(комнаты) думаю от них можно будет оттолкнутся. `
                          А вот этого пока нет :)

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            spectrekr
                            schrieb am zuletzt editiert von
                            #21

                            @vtec:

                            @spectrekr:

                            Могу выложить свою вариацию. Уже работает :-) Давайте конечно же. Если громкостью будет удбней из отдельного скрипта управлять, то в скрипте про время уберу тоже.
                            Создал тему и выложил, чтобы раздельно обсуждать и улучшать.
                            4489_erstes_skript_mit_blockly.pdf

                            1 Antwort Letzte Antwort
                            0
                            • V Offline
                              V Offline
                              vtec
                              schrieb am zuletzt editiert von
                              #22

                              Маленький недочет. С сб. и вс. скрипт в 9.00 расскажет и разбудит если еще спим :)

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                spectrekr
                                schrieb am zuletzt editiert von
                                #23

                                @vtec:

                                Маленький недочет. С сб. и вс. скрипт в 9.00 расскажет и разбудит если еще спим :) `
                                Ну тут варианты: Либо всегда оповещать часов в 10-11, раз так поздно встаете, потому что потом может быть отпуск и тоже в 9 будет будить. Ну или сделать условие и в субботу-воскресенье воспроизводить позже. Предлагайте :-)

                                1 Antwort Letzte Antwort
                                0
                                • V Offline
                                  V Offline
                                  vtec
                                  schrieb am zuletzt editiert von
                                  #24

                                  var hour_control = '09:00';

                                  Правильно будет так: 9:00, т.к. дальше в скрипте идет сравнение time_now == hour_control и оно не выполнится, потому что hour идет без нуля

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    spectrekr
                                    schrieb am zuletzt editiert von
                                    #25

                                    Поправил и поместил в первое сообщение, чтобы, как бы в "шапке" было.

                                    1 Antwort Letzte Antwort
                                    0
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    429

                                    Online

                                    32.5k

                                    Benutzer

                                    81.7k

                                    Themen

                                    1.3m

                                    Beiträge
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Anmelden

                                    • Du hast noch kein Konto? Registrieren

                                    • Anmelden oder registrieren, um zu suchen
                                    • Erster Beitrag
                                      Letzter Beitrag
                                    0
                                    • Home
                                    • Aktuell
                                    • Tags
                                    • Ungelesen 0
                                    • Kategorien
                                    • Unreplied
                                    • Beliebt
                                    • GitHub
                                    • Docu
                                    • Hilfe