Új hozzászólás Aktív témák

  • cpt rodgi

    tag

    válasz cpt rodgi #4250 üzenetére

    jajj istenem,.. nekem ciki.. megvan..

    en a fileben kerestem.. de rajottem h a feltett menüben van.. köszi...

    valami nem ok.. beallitva, mentve, ujrainditva, es igy sem megy..

    [ Szerkesztve ]

  • cpt rodgi

    tag

    esp vel megy, pedig mindent ( szerintem) jol csinaltam es beallitottam.. annyit tudtam meg, h sokaknak nem megy a s20,

    valami 5 let?

  • enesbcs

    tag

    válasz cpt rodgi #4248 üzenetére

    Ha a webes felületen a "Toggle" gombra kattintva nem hallod a relé kattanását, ott valami komoly baj van, mert nem megfelelő GPIO-t akar váltani.
    Ha más a baj, akkor konkretizáld milyen módon szeretnéd be-kikapcsolni? MQTT?

  • sambenez

    addikt

    Van egy Beninca heady kapuvezérlőm. Ebben van egy kimenet amin a kapu állapotát tudom megnézni.
    Gyakorlatilag egy relé zárja vagy nyitja ezt a kimentet. Ha nyitva a kapu a relé zár ha zárva akkor nyit, és nyitás közben nyit/zár folyamatosan. Van valakinek ötlete mit köthetnék erre a kimenetre, hogy domoticz-cal le tudjam kérdezni a kapu szárnyak állapotát?

  • cpt rodgi

    tag

    válasz enesbcs #4253 üzenetére

    igen ez a baj. es ami feltunt, h tetves lassu az eleres, es a local fizikai gombra is neha reagal, illetve lassan. mqtt lenne az igeny, na meg a valos gomb is..

    most esp vel ketyeg, de a gomb nem el, es a 2 ledbol az egyik jelzi h on v off.. bar ez vszinu h beallitas kerdese

  • enesbcs

    tag

    válasz cpt rodgi #4255 üzenetére

    Gondolom a gyári alkalmazásával kipróbáltad, mielőtt firmware-t cseréltél, és nem egy hardverhibás eszközzel küzdesz.

    ESPEasy-vel le kell programozni a működését, talán már említettem korábban, hogy ezzel több munka van, itt egy leírás a Rules leprogramozására, de a benne levő GPIO számok feltehetőleg nem fognak stimmelni, mert ezek a Tasmota alapértelmezései is...
    https://diyprojects.io/hack-connected-sonoff-s20-plug-esp-easy-rules/

    Ahogy a fenti leírásban is szerepel: a GPIO-0 a nyomógomb, és a GPIO-12 lenne a relé+vörös LED(ezek együtt működnek csak, nem lehet különválasztani), a GPIO-13 vezérli a zöld LED-et. A nyomógomb valószínűleg stimmel. Lehet a 12 és 13 van összecserélve? De előfordulhat még a GPIO4,5,14 is, ezek is népszerűek a Sonoff klónok között. De az eredeti Sonoff-oknál nem szokták váltogatni ezeket.

    Ha meg tudod találni melyik GPIO vezérli a relét, akkor a Tasmotát is be tudod állítani, "18 Generic/Wemos" típusra, és akkor egyesével meg tudod neki mondani, melyik GPIO vezérli a relét és melyiken van a nyomógomb. Ezt én egy multiméterrel ejteném meg, de e nélkül is véges számú lépésben megoldható a feladat, bár a multimétert gyorsabbnak látom.

    [ Szerkesztve ]

  • cpt rodgi

    tag

    válasz enesbcs #4256 üzenetére

    kiprobaltam.. esp ben ezek voltak a beallitasok, (gipo0 12, 13, ahogy irtad, es ment... de tasmota alatt a "18 generic" ben beallitottam, es nem akarja az igazat .

    pont ez a link alapjan allitottam be az esp-t..

    most a tasoma alatt, halott a dolog .

  • cpt rodgi

    tag

    válasz cpt rodgi #4257 üzenetére

    igy jobban megvizsalva esp alatt sem megy a manualis gomb.
    az eletjel annyi h a "gpio, 12,1" mozdul a rele...

    maga a hardver hetekig mukodott, es hasznaöatban volt, csak ra akartam rakni a domora...

    [ Szerkesztve ]

  • Pubi78

    csendes tag

    Sziasztok. Lehet butaságot kérdezek,de Broadlink rm3 minit össze lehet kötni Sonoff Touch 1-es kapcsolóval?és ha igen akkor,hogy?Köszönöm

  • enesbcs

    tag

    válasz Pubi78 #4259 üzenetére

    A sima Touch-ban nincs RF vevő, az csak WiFi-s. A T1-ben van RF is a WiFi mellett, azt be tudod állítani.
    A T1 oldalán meg kell nyomnod a gombot, amíg sípol, majd a Broadlinkben kell mókolni valamit, ami gombnyomást küld felé, amit már biztos tudsz, ha van más kapcsolód.

    Részlet a Sonoff manualból:
    "Press and hold the touch button of T1 until you hear a beep sound. Press a button on RF Remote. You’ll hear a beep sound when it’s being learned successfully. Repeat above steps to pair the other gangs with the RF Remote. One RF button can learn with more than 1 gang. 1 gang can remember 14 RF keys."

  • cpt rodgi

    tag

    válasz cpt rodgi #4262 üzenetére

    a s20 as (elvileg gyari) sonoff ugyfest megdoglott

    mas
    talaltam egy linket ahol az ipv6 ot tudom beallitani. [link] de a 2. sortol engedely megtagadva.
    nem ez az elso eset h ezt irja ki nekem..
    hogy oldjam meg? nekem kelene a ipv6, ( mert itt az van) h elerjem kivulrol.. aztan meg majd a kovetkezo kerdes, a hogyan erem el ipv6 alatt

    ketelkedoknek: Es tenyleg 6 van, es nincs nat, meg egyeb a routerben, 4-es alhalot (is) oszt, de azt kintrol semmikepp nem lehet elerni.
    szoval csak a a6 .. vagy valami loginos oldal. a mydomo nem megy, sajtos..

  • Pubi78

    csendes tag

    válasz enesbcs #4260 üzenetére

    Köszönöm. Nekem sima van nem T1,de valóban nincs a miniben Rf. Így akkor esélytelen ezekszerint a dolog. Méga T1 lenne akkor sem lenne jó a mini.

  • cpt rodgi

    tag

    válasz Pubi78 #4264 üzenetére

    en szerintem domoval meglehet oldani. ha maskepp nem akkor 2 kapcsolo, egyik a sonoff a masik a broad, es alkiszolgalo eszkozkent . vagy egy script, amiben mindketto lefut.

  • Janaboy

    veterán

    válasz cpt rodgi #4263 üzenetére

    Probald ki elsonek a sudo -i parancsot, ha itt megvagy mehetnek a parancsok sudo nelkul.

    Amugy van egy raspberry pi topic, lehet ott jobban tudnak segíteni.

    Janaboy

  • cpt rodgi

    tag

    válasz Janaboy #4266 üzenetére

    pi@domoticz:~ $ sudo modprobe ipv6
    pi@domoticz:~ $ sudo -i echo "ipv6" >> /etc/modules
    -bash: /etc/modules: Engedély megtagadva
    pi@domoticz:~ $

    :(

  • Janaboy

    veterán

    válasz cpt rodgi #4267 üzenetére

    :)

    Nem, először csak magaban sudo -i mas nem kell utana modprobe stb de mar sudo nelkul.

    Janaboy

  • cpt rodgi

    tag

    válasz Janaboy #4268 üzenetére

    jonak tunik.. koszi.. de ( szamomra) nem derul ki h kaptam e 6 os cimet, es h mi az .. pi@domoticz:~ $ sudo -i
    root@domoticz:~# modprobe ipv6
    root@domoticz:~# echo "ipv6" >> /etc/modules
    root@domoticz:~# echo "iface eth0 inet6 dhcp" >> /etc/network/interfaces
    root@domoticz:~#

  • cpt rodgi

    tag

    válasz Janaboy #4270 üzenetére

    szia .a sonoff s20 amra nincs semmi egyeb 5 let? megdoglott, bucsu, aso?

  • cpt rodgi

    tag

    válasz cpt rodgi #4272 üzenetére

    annyit tudtam meg, h a gipo0 a kapcsolo, es a 12 a rele..
    espeasy alatt:
    Mert ha nyomom a gombot akkor valozik az allapot a 0-an
    es ha a gipo, 12, 1/0 küldom , kapcsol a rele
    de nincs a gomb a relevel egy hullamhosszon.

  • cpt rodgi

    tag

    válasz cpt rodgi #4273 üzenetére

    talaltam egy tasmota minimalt. nem tudom mire jo, de ez felmegy a s20 ra, 4x megnyomas utan bejon az ap, de akarhogyis adom meg az en ssid-m meg a pw ot, nem all fell.. de legalabb a gomb kapcsolja a ralet...

  • cpt rodgi

    tag

    válasz cpt rodgi #4274 üzenetére

    ugyfest megvan.. a miertet nem tudom:

    innen a minimal ahogy alobb irtam, a "backwards compatibly ugyfest megy..
    a relemet a innen szedtem le.. es ezzel volt hasznalhatatlan az s20..

    ha valaki tudja, ert h miert, erdekel..
    ha mas is szivott ezzel , hat a megoldas itt van... bat erhetetlen h miert. ( nekem )

    [ Szerkesztve ]

  • cpt rodgi

    tag

    par apro kerdesem volna.. Hatha valaki tudja a megoldast:

    1: van 2 sonoff (rele, es s20) cucc, iranyitom domo alol, es mukodik. de a logg ban error van, szerinte nem fut le. pedig de.. miert, es mi baj lehet ha hagyom igy?

    2: ipv6 ot az istennek nem tudom engedelyezni. nincs ennek valami egyszeru parancsa?

    3: szeretnek egy hangero "potit" a domora, h a 3,6 os jacket ( analog out) tudjam sabalyozni. -ami megy rola az a mpalyer internetradioradio, es Airplay-

    4: a domon van egy rf redony broadlinken at iranyitva. minden jo, meg az apple home app is es alexa is iranyitja. webwsn a domoticz is. es minden app ( eve, pilot) is. de a domoticz gyari app ja nem . es csak a redonyt nem . olyan a kapcsoloja mint a tobbi, de akarhogy kapcsolom, "visszaugrik" es a jelet kuldi a fel iranyba. megint probalom atkapcsolni, es (sose) marad ugy, de a jelet minden alkalommal nyomja.

    koszi elore is. :R

  • napis

    újonc

    Sziasztok !

    Van egy esp12F espeasy fút rajta kb 85 perc után 10 percre nem elérhető , utána megint elérhető majd 85 perc múlva ismét nem elérhető . Ha pedig webservert töltök rá szintén ezt csinálja . Router ilyenkor megnézve aktív kapcsolatban látom az espt , viszont böngészőből nem elérhető . Mi lehet a gond ? Ja a 9091 portot használom a domoticz-hoz , ha viszont a beállított eszköz közül egyik frissítési idejét leveszem 60 s alá akkor szépen működik .

    Köszi

    [ Szerkesztve ]

  • enesbcs

    tag

    válasz napis #4277 üzenetére

    Feltehetőleg elfogy a memória az eszközön, ezért nem tudod elérni a webes felületet, aztán ha kikerül a hosszú ciklusból, amibe belefutott, és felszabadul némi memória, akkor megint elérhető

    Rengeteg lehetőséged van...
    - Az ESPEasy legújabb fejlesztői verziói rendre nem stabilak. Próbálj egy régebbit. :)
    - ha Testing/Dev binárist használsz, tölts le inkább egy normal-t ebben kevesebb plugin van
    - használj kevesebb eszközt egy ESP-n
    - ha használod a Rules engine-t nézd át a kódot, töröld belőle azokat a sorokat, amik nem feltétlenül szükségesek
    - ha nagyon belejössz saját binárist is tudsz fordítani, amik csak a szükséges pluginokat tartalmazzák, pl
    - bármelyik eszközön csökkentve a frissítési időt javul a helyzet, vagy csak egy bizonyos eszköznél csökkentve? mert ha utóbbi, akkor megvan merre kell keresni a hibát.

    [ Szerkesztve ]

  • napis

    újonc

    válasz enesbcs #4278 üzenetére

    Normal espeasy-t használok , próbáltam egyszerű webserver rátölteni , sajnos azzal is ezt csinálja . Most úgy működik , hogy 30 másodpercenként elküldöm domoticzhoz az esp load értékét , így hibátlanul elérem bármikor .

    [ Szerkesztve ]

  • krisztián28

    csendes tag

    Sziasztok!
    Segítséget szeretnék kérni!
    Adott egy MySensors sketch ami egy ledet hivatott dimmerelni.
    Szeretném duplikálni, magyarul egy Arduino Nanoval két külön led szalagot vezérelni két külön nyomógombbal.
    Programozásban nem vagyok jártas, de megpróbáltam átírni a programot viszont nem igazán úgy működik ahogy kéne.
    Valaki ránézne, hogy mit rontottam el? :F :F :F

    /*
    Board Transmit Receive PWM Unusable
    ----- -------- ------- ------------
    Arduino Uno 9 8 10
    Arduino Mega 46 48 44, 45
    */

    #define SN "tobb_led_dimmer_teszt_proba"
    #define SV "1.0"

    #define MY_DEBUG
    #define MY_NODE_ID 10
    #define MY_RS485
    #define MY_RS485_DE_PIN 2
    #define MY_RS485_BAUD_RATE 9600

    #include <OneButton.h>
    #include <MySensors.h>

    #define CHILD_ID_LIGHT1 1
    #define CHILD_ID_LIGHT2 2
    #define LED1_PIN 6 //nappali fehér led
    #define LED2_PIN 7 //előszoba led
    #define BUTTON1_PIN 3 //nappali fehér led gomb GND-re
    #define BUTTON2_PIN 4 //előszoba led gomb GND-re
    #define FADE_DELAY 10 // Delay in ms for each percentage fade up/down (10ms = 1s full-range dim)

    byte ledLevel;
    boolean ledDimWay;

    OneButton button1(BUTTON1_PIN, false);
    OneButton button2(BUTTON2_PIN, false);

    void setup()
    {

    // Setup the buttons
    pinMode(BUTTON1_PIN, INPUT_PULLUP);
    pinMode(BUTTON2_PIN, INPUT_PULLUP);

    button1.attachClick(click1);
    button1.attachDuringLongPress(press1);
    button1.attachLongPressStart(pstart1);
    button1.attachLongPressStop(pstop1);

    button2.attachClick(click2);
    button2.attachDuringLongPress(press2);
    button2.attachLongPressStart(pstart2);
    button2.attachLongPressStop(pstop2);

    // Pull the gateway's current dim level - restore light level upon sendor node power-up
    request(CHILD_ID_LIGHT1, V_DIMMER);
    request(CHILD_ID_LIGHT2, V_DIMMER);
    }

    void presentation()
    {
    sendSketchInfo(SN, SV);

    // Register the LED Dimmable Light with the gateway
    present(CHILD_ID_LIGHT1, S_DIMMER, "nappali fehér led");
    present(CHILD_ID_LIGHT2, S_DIMMER, "előszoba világítás");
    }

    void loop()
    {
    button1.tick();
    button2.tick();
    }


    void receive(const MyMessage &message)
    {
    if (message.type == V_LIGHT || message.type == V_DIMMER) {

    // Retrieve the power or dim level from the incoming request message
    int requestedLevel = atoi(message.data);

    // Adjust incoming level if this is a V_LIGHT variable update [0 == off, 1 == on]
    requestedLevel *= ( message.type == V_LIGHT ? 100 : 1 );

    // Clip incoming level to valid range of 0 to 100
    requestedLevel = requestedLevel > 100 ? 100 : requestedLevel;
    requestedLevel = requestedLevel < 0 ? 0 : requestedLevel;

    setLED(requestedLevel);
    }
    }

    void setLED(byte level)
    {
    //Fade LED to set level
    int delta = (level - ledLevel) < 0 ? -1 : 1;

    while (ledLevel != level)
    {
    ledLevel += delta;
    analogWrite(LED1_PIN, (int)(ledLevel / 100. * 255) );
    analogWrite(LED2_PIN, (int)(ledLevel / 100. * 255) ); //????????????????????????jó????
    delay(FADE_DELAY);
    }

    MyMessage lightMsg1(CHILD_ID_LIGHT1, V_LIGHT);
    MyMessage dimmerMsg1(CHILD_ID_LIGHT1, V_DIMMER);
    MyMessage lightMsg2(CHILD_ID_LIGHT2, V_LIGHT);
    MyMessage dimmerMsg2(CHILD_ID_LIGHT2, V_DIMMER);

    send(lightMsg1.set(ledLevel > 0));
    send(dimmerMsg1.set(ledLevel));
    send(lightMsg2.set(ledLevel > 0));
    send(dimmerMsg2.set(ledLevel));
    }

    void writeToLED()
    {
    analogWrite(LED1_PIN, map(ledLevel,0,100,0,255));
    analogWrite(LED2_PIN, map(ledLevel,0,100,0,255));
    }

    void click1() {setLED(ledLevel>0 ? 0 : 100); }
    void pstart1() {ledDimWay = ledLevel<100; }
    void press1() {if(ledDimWay && ledLevel<100) ledLevel++; if(!ledDimWay && ledLevel>5) ledLevel--; writeToLED(); delay(25); }
    void pstop1() {setLED(ledLevel); }

    void click2() {setLED(ledLevel>0 ? 0 : 100); }
    void pstart2() {ledDimWay = ledLevel<100; }
    void press2() {if(ledDimWay && ledLevel<100) ledLevel++; if(!ledDimWay && ledLevel>5) ledLevel--; writeToLED(); delay(25); }
    void pstop2() {setLED(ledLevel); }

    Köszönöm előre is!

  • itanczos

    senior tag

    válasz krisztián28 #4280 üzenetére

    Első látásra van olyan változó, amit nem dupláztál meg.
    A ledlevel és leddimway. Ez szándékos?
    Hangsúlyozom, csak átfutottam, nem ellenőriztem a ciklusokat!

    Használd a keresőt! | iPhone 13 Pro 256GB | 3D: Tevo Tarantula | NAS: HP MicroServer Gen8 - Proxmox/XPenology | Okos otthon: HomesAssistant - HomeKit - Hirdetéseim: https://hardverapro.hu/aprok/hirdeto/itanczos/index.html

  • krisztián28

    csendes tag

    válasz itanczos #4281 üzenetére

    Szia!
    Köszönöm, hogy ránéztél! Nem szándékosan nem dupláztam azokat, azt hittem, hogy mást nem kell duplikálni...
    Átnézem még egyszer. :)

  • layerke

    aktív tag

    válasz krisztián28 #4280 üzenetére

    A "nem igazán úgy működik ahogy kéne." részt kérlek, hogy részletezd, mert nehezebb így segíteni, ha nem ismert a pontos hibajelenség.

  • krisztián28

    csendes tag

    válasz layerke #4283 üzenetére

    Szia!

    Abszolút igazad van!

    Némileg módosítottam a programot, alább fel is töltöm...

    Annyi a lényeg, hogy az első led tökéletesen működik, lehet dimmelni, ki és bekapcsolni (bekapcsoláskor és kikapcsoláskor is van fade-lése) nyomógombról és a domoticz alól is.
    A második led viszont ha például megnyomom a második nyomógombot akkor a gomb hatására fade-lés nélkül bekapcsol majd újabb gombnyomásra fadelés nélkül kikapcsol. Dimmelni nem lehet hosszú gombnyomással. Domoticz alól pedig ha a virtuális gombra kattintok akkor csak az első ledet kapcsolja ki és be.
    Úgy gondolom hogy amit a vázlaton kiemeltem részt, oda kellene még valamit beírni illetve duplikálni, csak azt nem tudom, hogy mit...
    #define SN "eloszoba led"
    #define SV "1.0"

    #define MY_DEBUG
    #define MY_NODE_ID 6
    #define MY_RS485
    #define MY_RS485_DE_PIN 10
    #define MY_RS485_BAUD_RATE 9600

    #include <OneButton.h>
    #include <MySensors.h>

    #define CHILD_ID_LIGHT1 1
    #define CHILD_ID_LIGHT2 2
    #define FADE_DELAY 10 // Delay in ms for each percentage fade up/down (10ms = 1s full-range dim)
    #define LED1_PIN 6 //led szalag
    #define LED2_PIN 7 //led szalag
    #define BUTTON1_PIN 3 //nyomógomb
    #define BUTTON2_PIN 4 //nyomógomb

    byte ledLevel;
    boolean ledDimWay;
    byte ledLevel2;
    boolean ledDimWay2;

    OneButton button1(BUTTON1_PIN, HIGH); //a 3-as lábat kell GND-re húzni! nyomógomb
    OneButton button2(BUTTON2_PIN, HIGH); //a 3-as lábat kell GND-re húzni! nyomógomb

    void setup()
    {
    pinMode(BUTTON1_PIN, INPUT_PULLUP);

    button1.attachClick(click1);
    button1.attachDuringLongPress(press1);
    button1.attachLongPressStart(pstart1);
    button1.attachLongPressStop(pstop1);

    request(CHILD_ID_LIGHT1, V_DIMMER); // Pull the gateway's current dim level - restore light level upon sendor node power-up


    pinMode(BUTTON2_PIN, INPUT_PULLUP);

    button2.attachClick(click2);
    button2.attachDuringLongPress(press2);
    button2.attachLongPressStart(pstart2);
    button2.attachLongPressStop(pstop2);

    request(CHILD_ID_LIGHT2, V_DIMMER); // Pull the gateway's current dim level - restore light level upon sendor node power-up
    }


    void presentation()
    {
    sendSketchInfo(SN, SV);

    present(CHILD_ID_LIGHT1, S_DIMMER, "előszoba világítás1"); // Register the LED Dimmable Light with the gateway
    present(CHILD_ID_LIGHT2, S_DIMMER, "előszoba világítás2"); // Register the LED Dimmable Light with the gateway
    }


    void loop()
    {
    button1.tick();
    button2.tick();
    }

    //-------------------------------------------------------------------------------------------------------------------------------------------------
    void receive(const MyMessage &message)
    {
    if (message.type == V_LIGHT || message.type == V_DIMMER) {

    int requestedLevel = atoi(message.data); // Retrieve the power or dim level from the incoming request message

    requestedLevel *= ( message.type == V_LIGHT ? 100 : 1 ); // Adjust incoming level if this is a V_LIGHT variable update [0 == off, 1 == on]

    requestedLevel = requestedLevel > 100 ? 100 : requestedLevel; // Clip incoming level to valid range of 0 to 100
    requestedLevel = requestedLevel < 0 ? 0 : requestedLevel; // Clip incoming level to valid range of 0 to 100

    setLED(requestedLevel);
    }
    }
    //---------------------------------------------------------------------------------------------------------------------------------------------------

    void setLED(byte level)
    {
    int delta = (level - ledLevel) < 0 ? -1 : 1; //Fade LED to set level

    while (ledLevel != level)
    {
    ledLevel += delta;
    analogWrite(LED1_PIN, (int)(ledLevel / 100. * 255) );
    delay(FADE_DELAY);
    }

    MyMessage lightMsg(CHILD_ID_LIGHT1, V_LIGHT);
    MyMessage dimmerMsg(CHILD_ID_LIGHT1, V_DIMMER);

    send(lightMsg.set(ledLevel > 0));
    send(dimmerMsg.set(ledLevel));
    }

    void setLED2(byte level)
    {
    int delta = (level - ledLevel2) < 0 ? -1 : 1; //Fade LED to set level

    while (ledLevel2 != level)
    {
    ledLevel2 += delta;
    analogWrite(LED2_PIN, (int)(ledLevel2 / 100. * 255) );
    delay(FADE_DELAY);
    }

    MyMessage light2Msg(CHILD_ID_LIGHT2, V_LIGHT);
    MyMessage dimmer2Msg(CHILD_ID_LIGHT2, V_DIMMER);

    send(light2Msg.set(ledLevel2 > 0));
    send(dimmer2Msg.set(ledLevel2));
    }


    void writeToLED()
    {
    analogWrite(LED1_PIN, map(ledLevel,0,100,0,255));
    }

    void writeToLED2()
    {
    analogWrite(LED2_PIN, map(ledLevel2,0,100,0,255));
    }

    void click1() {setLED(ledLevel>0 ? 0 : 100); }
    void pstart1() {ledDimWay = ledLevel<100; }
    void press1() {if(ledDimWay && ledLevel<100) ledLevel++; if(!ledDimWay && ledLevel>5) ledLevel--; writeToLED(); delay(25); }
    void pstop1() {setLED(ledLevel); }

    void click2() {setLED2(ledLevel2>0 ? 0 : 100); }
    void pstart2() {ledDimWay2 = ledLevel2<100; }
    void press2() {if(ledDimWay2 && ledLevel2<100) ledLevel2++; if(!ledDimWay2 && ledLevel2>5) ledLevel2--; writeToLED2(); delay(25); }
    void pstop2() {setLED2(ledLevel2); }

  • Yoshida

    aktív tag

    válasz krisztián28 #4284 üzenetére

    nem tudom, hogy neked ez okozhat-e gondot, de én még 2-es mysensors-hoz nem találtam normális LED dimmer sketch-et (igaz én RGBW szalaghoz keresek, tehát van egy rgb vezérlés, és egy sima fehér vezérlés).

    Az [openhardware.io-n levő lastsamurai-ossal] kerültem a legközelebb hozzá, domoticzban meg is jelent egy lámpa, és lehet a szivárványskálán állítani a színt is, meg külön kapcsolni a fehéret, de valahogy a ledet már nem vezérelte, pedig a felkapcsolás is pl. sikerült a domoticz szerint, de a valóságban nem kapcsolódott fel. (de még itt bekötési hiba is lehet, egyelőre 5 órát sikerült foglalkozni vele, és feladtam per pillanat :D )

    Viszont! a te sketch-edben is látok V_DIMMER-t (és a lastsamurai-osban is van), ami elvileg már 2-es mysensors-ban nem használatos:

    [link]

    De ha átírom V_PERCENTAGE-ra, akkor meg a sketch újrafeltöltése után már meg se jelent az rgbw eszköz domoticzban...

    Majd lehet kipróbálom a te sketch-ed, ha már legalább a fehér ledet tudnám vezérelni, az is valami lenne :)

    [ Szerkesztve ]

  • ghck

    csendes tag

    válasz krisztián28 #4284 üzenetére

    Az alapvető hiba az, hogy a led2pin-ed a 7-es, ami nem PWM pin, tehát nem tudsz rá analogwrite-olni... dugd át másikra... (3, 5, 9, 10, 11)

    [ Szerkesztve ]

  • radokristof

    csendes újonc

    Sziasztok! Néztem a topikot de nem nagyon láttam, hogy lennének bejegyzések openHabról.
    Én már használom egy ideje, ha lenne rá igény, szívesen indítanék egyet, tippekkel, magyar leírásokkal.

  • krisztián28

    csendes tag

    válasz ghck #4286 üzenetére

    Szia!
    Nagyon köszönöm a segítséget!!! Tökéletesen működik így, hogy átírtam egy másik lábra :C :C :C
    Nagy az öröm!!!

    Ha valakit érdekel feltöltöm a működő kódot, hátha valaki hasznát veszi !
    Az eredeti kód nem az én szüleményem! Innen származik!
    Az átalakított programban egy arduino nano RS485-ön kommunikál a központtal ami szintén egy arduino nano ami usb-n van csatlakoztatva egy raspberry pi-re. A gomb megnyomásakor a rákötött led szalag fokozatosan (fadel-ve) bekapcsol 100%-ra, következő gombnyomásra fokozatosan lekapcsol 0%-ra. Ha hosszan tartod nyomva a gombot akkor pedig lehet fényerőt szabályozni. Domoticz alatt is tökéletesen működik ott is lehet ki -be kapcsolni és a csúszkán (át kell állítani dimmerre) is lehet szabályozni a fényerőt. A programban jelenleg összesen 2 db különálló led szalagot lehet szabályozni 2 db nyomógombbal.
    /*
    Board Transmit Receive PWM Unusable
    ----- -------- ------- ------------
    Arduino Uno 9 8 10
    Arduino Mega 46 48 44, 45
    */

    #define SN "eloszoba led"
    #define SV "1.0"

    #define MY_DEBUG
    #define MY_NODE_ID 6
    #define MY_RS485
    #define MY_RS485_DE_PIN 10
    #define MY_RS485_BAUD_RATE 9600

    #include <OneButton.h>
    #include <MySensors.h>

    #define CHILD_ID_LIGHT1 1
    #define CHILD_ID_LIGHT2 2
    #define FADE_DELAY 10 // Delay in ms for each percentage fade up/down (10ms = 1s full-range dim)
    #define FADE_DELAY2 10 // Delay in ms for each percentage fade up/down (10ms = 1s full-range dim)
    #define LED1_PIN 6 //led szalag
    #define LED2_PIN 5 //led szalag
    #define BUTTON1_PIN 3 //nyomógomb
    #define BUTTON2_PIN 4 //nyomógomb

    byte ledLevel;
    boolean ledDimWay;
    byte ledLevel2;
    boolean ledDimWay2;

    OneButton button1(BUTTON1_PIN, HIGH); //a 3-as lábat kell GND-re húzni! nyomógomb
    OneButton button2(BUTTON2_PIN, HIGH); //a 3-as lábat kell GND-re húzni! nyomógomb

    void setup()
    {
    pinMode(BUTTON1_PIN, INPUT_PULLUP);

    button1.attachClick(click1);
    button1.attachDuringLongPress(press1);
    button1.attachLongPressStart(pstart1);
    button1.attachLongPressStop(pstop1);

    request(CHILD_ID_LIGHT1, V_DIMMER); // Pull the gateway's current dim level - restore light level upon sendor node power-up


    pinMode(BUTTON2_PIN, INPUT_PULLUP);

    button2.attachClick(click2);
    button2.attachDuringLongPress(press2);
    button2.attachLongPressStart(pstart2);
    button2.attachLongPressStop(pstop2);

    request(CHILD_ID_LIGHT2, V_DIMMER); // Pull the gateway's current dim level - restore light level upon sendor node power-up
    }


    void presentation()
    {
    sendSketchInfo(SN, SV);

    present(CHILD_ID_LIGHT1, S_DIMMER, "előszoba világítás1"); // Register the LED Dimmable Light with the gateway
    present(CHILD_ID_LIGHT2, S_DIMMER, "előszoba világítás2"); // Register the LED Dimmable Light with the gateway
    }


    void loop()
    {
    button1.tick();
    button2.tick();
    }

    //-------------------------------------------------------------------------------------------------------------------------------------------------
    void receive(const MyMessage &message)
    {
    if (message.type == V_LIGHT || message.type == V_DIMMER) {

    if (message.sensor == 1){

    int requestedLevel = atoi(message.data); // Retrieve the power or dim level from the incoming request message

    requestedLevel *= ( message.type == V_LIGHT ? 100 : 1 ); // Adjust incoming level if this is a V_LIGHT variable update [0 == off, 1 == on]

    requestedLevel = requestedLevel > 100 ? 100 : requestedLevel; // Clip incoming level to valid range of 0 to 100
    requestedLevel = requestedLevel < 0 ? 0 : requestedLevel; // Clip incoming level to valid range of 0 to 100

    setLED(requestedLevel);
    }

    if (message.sensor == 2){

    int requestedLevel2 = atoi(message.data); // Retrieve the power or dim level from the incoming request message

    requestedLevel2 *= ( message.type == V_LIGHT ? 100 : 1 ); // Adjust incoming level if this is a V_LIGHT variable update [0 == off, 1 == on]

    requestedLevel2 = requestedLevel2 > 100 ? 100 : requestedLevel2; // Clip incoming level to valid range of 0 to 100
    requestedLevel2 = requestedLevel2 < 0 ? 0 : requestedLevel2; // Clip incoming level to valid range of 0 to 100

    setLED2(requestedLevel2);
    }
    }
    }
    //---------------------------------------------------------------------------------------------------------------------------------------------------

    void setLED(byte level)
    {
    int delta = (level - ledLevel) < 0 ? -1 : 1; //Fade LED to set level

    while (ledLevel != level)
    {
    ledLevel += delta;
    analogWrite(LED1_PIN, (int)(ledLevel / 100. * 255) );
    delay(FADE_DELAY);
    }

    MyMessage lightMsg(CHILD_ID_LIGHT1, V_LIGHT);
    MyMessage dimmerMsg(CHILD_ID_LIGHT1, V_DIMMER);
    send(lightMsg.set(ledLevel > 0));
    send(dimmerMsg.set(ledLevel));
    }


    void setLED2(byte level2)
    {

    int delta = (level2 - ledLevel2) < 0 ? -1 : 1; //Fade LED to set level

    while (ledLevel2 != level2)
    {
    ledLevel2 += delta;
    analogWrite(LED2_PIN, (int)(ledLevel2 / 100. * 255) );
    delay(FADE_DELAY);
    }

    MyMessage lightMsg2(CHILD_ID_LIGHT2, V_LIGHT);
    MyMessage dimmerMsg2(CHILD_ID_LIGHT2, V_DIMMER);
    send(lightMsg2.set(ledLevel2 > 0));
    send(dimmerMsg2.set(ledLevel2));
    }


    void writeToLED()
    {
    analogWrite(LED1_PIN, map(ledLevel,0,100,0,255));
    }

    void writeToLED2()
    {
    analogWrite(LED2_PIN, map(ledLevel2,0,100,0,255));
    }

    void click1() {setLED(ledLevel>0 ? 0 : 100); }
    void pstart1() {ledDimWay = ledLevel<100; }
    void press1() {if(ledDimWay && ledLevel<100) ledLevel++; if(!ledDimWay && ledLevel>5) ledLevel--; writeToLED(); delay(25); }
    void pstop1() {setLED(ledLevel); }

    void click2() {setLED2(ledLevel2>0 ? 0 : 100); }
    void pstart2() {ledDimWay2 = ledLevel2<100; }
    void press2() {if(ledDimWay2 && ledLevel2<100) ledLevel2++; if(!ledDimWay2 && ledLevel2>5) ledLevel2--; writeToLED2(); delay(25); }
    void pstop2() {setLED2(ledLevel2); }

    Használjátok egészséggel!
    Mindenkinek köszönöm a segítséget!
    Szép estét! :)

  • krisztián28

    csendes tag

    válasz Yoshida #4285 üzenetére

    Szia!

    Ha RGBW szalagot szeretnél vezérelni nézd meg ezt a kódot!
    Ezt a programot még nem próbáltam, de szerintem jó lehet!
    /**
    * This program is free software; you can redistribute it and/or
    * modify it under the terms of the GNU General Public License
    * version 2 as published by the Free Software Foundation.
    *
    * LED STRIP sketch for Mysensors
    *******************************
    *
    * REVISION HISTORY
    * 1.0
    * Based on the example sketch in mysensors
    * 1.1
    * prgspeed parameter (send as V_VAR1 message)
    * HomeAssistant compatible (send status to ack)
    * 1.2
    * OTA support
    * 1.3
    * Power-on self test
    * 1.4
    * Bug fix
    * 1.5
    * Other default values
    * 1.6
    * Repeater feature
    * 1.7
    * Multitasking. Alarm and RELAX modes.
    * 1.8
    * Reengineered programs/modes logic.
    * RGBW variant. Requires 4 PWM pins, so we need to move use a different pin for one of radio connections.
    */

    #define MY_OTA_FIRMWARE_FEATURE
    // #define MY_REPEATER_FEATURE
    #define MY_NODE_ID AUTO

    #define MY_RADIO_NRF24

    //#define MY_DEBUG

    // Normally the radio uses pin 9 for CE
    #define MY_RF24_CE_PIN 8

    #include <MySensors.h>

    #define CHILD_ID_LIGHT 1

    #define SN "LED Strip"
    #define SV "1.8"

    MyMessage lightMsg(CHILD_ID_LIGHT, V_LIGHT);
    MyMessage rgbwMsg(CHILD_ID_LIGHT, V_RGBW);
    MyMessage dimmerMsg(CHILD_ID_LIGHT, V_DIMMER);
    MyMessage prgspeedMsg(CHILD_ID_LIGHT, V_VAR1);
    MyMessage programMsg(CHILD_ID_LIGHT, V_VAR2);

    #define RR 0
    #define GG 1
    #define BB 2
    #define WW 3

    byte current[] = {255, 255, 255, 255};
    byte target[] = {255, 255, 255, 255};
    byte save[] = {0, 0, 0, 0};
    byte temp[] = {0, 0, 0, 0};

    float delta[] = {0.0, 0.0, 0.0, 0.0};

    char rgbwstring[] = "000000ff";

    int on_off_status = 0;
    int dimmerlevel = 100;
    int prgspeed = 20;
    unsigned long last_update = 0;
    unsigned long tick_length = 5;
    int fade_step = 0;

    int program_timer;
    int program_cycle;
    int program_step;

    // Make sure these are PWM pins
    #define REDPIN 6
    #define GREENPIN 5
    #define BLUEPIN 3
    #define WHITEPIN 9

    #define LIGHT_NORMAL 0
    #define LIGHT_FADING 1

    #define PROGRAM_NOP 0

    int light_mode = LIGHT_NORMAL;
    int program_mode = PROGRAM_NOP;

    #define SET 0
    #define SET_AND_WAIT 1
    #define SET_RANDOM 2
    #define SET_RANDOM_AND_WAIT 3
    #define FADE 4
    #define FADE_RANDOM 5
    #define WAIT 6

    typedef struct rgb_cmd {
    byte cmd;
    int p;
    byte rgbw[4];
    } rgb_cmd;

    rgb_cmd program_ALARM[] = {
    {SET_AND_WAIT, 25, {255, 255, 255, 0}},
    {SET_AND_WAIT, 25, {0, 0, 0, 0}},
    {SET_AND_WAIT, 25, {0, 0, 0, 255}},
    {SET_AND_WAIT, 25, {0, 0, 0, 0}}
    };

    rgb_cmd program_RELAX[] = {
    {FADE, 1000, {255, 32, 0, 0}},
    {FADE, 1000, {255, 32, 16, 0}},
    {FADE, 1000, {255, 16, 32, 0}},
    {FADE, 1000, {255, 128, 0, 0}},
    {FADE, 1000, {255, 32, 0, 0}},
    {FADE, 1000, {255, 32, 32, 0}},
    {FADE, 1000, {255, 0, 32, 0}}
    };

    rgb_cmd program_PARTY[] = {
    {SET_AND_WAIT, 10, {255, 0, 0, 0}},
    {SET_AND_WAIT, 10, {0, 0, 0, 255}},
    {SET_AND_WAIT, 10, {255, 0, 0, 0}},
    {SET_AND_WAIT, 10, {0, 0, 0, 255}},
    {SET_AND_WAIT, 10, {255, 0, 0,0}},
    {SET_AND_WAIT, 10, {0, 0, 0, 255}},
    {SET_AND_WAIT, 10, {255, 0, 0,0}},
    {SET_AND_WAIT, 10, {0, 0, 0, 255}},
    {SET_AND_WAIT, 10, {255, 0, 0, 0}},
    {SET_AND_WAIT, 10, {0, 0, 0, 255}},
    {FADE_RANDOM, 50, {255, 255, 255, 0}},
    {FADE_RANDOM, 50, {255, 255, 255, 0}},
    {FADE_RANDOM, 50, {255, 255, 255, 0}},
    {FADE_RANDOM, 50, {255, 255, 255, 0}},
    {SET_AND_WAIT, 50, {0, 0, 255, 0}},
    {SET_AND_WAIT, 50, {0, 255, 255 ,0}},
    {SET_AND_WAIT, 50, {255, 255, 0, 0}},
    {SET_AND_WAIT, 50, {0, 255, 0, 0}},
    {FADE_RANDOM, 50, {255, 255, 255, 0}},
    {FADE_RANDOM, 50, {255, 255, 255, 0}},
    {FADE_RANDOM, 50, {255, 255, 255, 0}},
    {FADE_RANDOM, 50, {255, 255, 255, 0}},
    {FADE_RANDOM, 50, {255, 255, 255, 0}}
    };


    rgb_cmd* programs[] = {
    &program_ALARM[0], &program_RELAX[0], &program_PARTY[0]
    };

    const int program_steps[] = {
    sizeof(program_ALARM)/sizeof(rgb_cmd),
    7,
    22
    };

    void setup()
    {
    // Fix the PWM timer. Without this the LEDs will flicker.
    TCCR0A = _BV(COM0A1) | _BV(COM0B1) | _BV(WGM00);

    // Output pins
    pinMode(REDPIN, OUTPUT);
    pinMode(GREENPIN, OUTPUT);
    pinMode(BLUEPIN, OUTPUT);
    pinMode(WHITEPIN, OUTPUT);

    }

    void presentation()
    {
    // Send the Sketch Version Information to the Gateway
    sendSketchInfo(SN, SV);
    present(CHILD_ID_LIGHT, S_RGBW_LIGHT);
    }

    void selftest() {
    on_off_status = 1;
    current[RR] = 255;
    current[GG] = 0;
    current[BB] = 0;
    current[WW] = 0;
    set_hw_status();
    wait(200);
    current[RR] = 0;
    current[GG] = 255;
    set_hw_status();
    wait(200);
    current[GG] = 0;
    current[BB] = 255;
    set_hw_status();
    wait(200);
    current[BB] = 0;
    current[WW] = 255;
    set_hw_status();
    wait(200);
    current[RR] = 0;
    current[GG] = 0;
    current[BB] = 0;
    set_hw_status();
    wait(200);
    on_off_status = 0;
    }

    void loop()
    {
    static bool first_message_sent = false;
    if ( first_message_sent == false ) {
    selftest();
    set_hw_status();
    send(rgbwMsg.set(rgbwstring));
    send(lightMsg.set(on_off_status));
    send(dimmerMsg.set(dimmerlevel));
    send(prgspeedMsg.set(prgspeed));
    send(programMsg.set(program_mode));
    first_message_sent = true;
    }

    unsigned long now = millis();
    // Maybe we wrapped around? Then reset last_update to 0.
    if (now < last_update) {
    last_update = 0;
    }

    if (now - last_update > tick_length) {
    last_update = now;

    // If we're fading, finish that before we do anything else
    if (light_mode == LIGHT_FADING) {
    calc_fade();
    } else {
    if (program_mode > PROGRAM_NOP) {
    handle_program();
    }
    }
    }

    set_hw_status();

    }

    void receive(const MyMessage &message)
    {
    int val;

    if (message.type == V_RGBW) {
    for (int i=0; i<=3; i++) {
    temp[i] = hextoint(message.data[i*2]) * 16 + hextoint(message.data[i*2+1]);
    }
    // Save old value
    strcpy(rgbwstring, message.data);

    init_fade(prgspeed, temp);
    send(rgbwMsg.set(rgbwstring));

    } else if (message.type == V_LIGHT || message.type == V_STATUS) {
    val = atoi(message.data);
    if (val == 0 or val == 1) {
    on_off_status = val;
    send(lightMsg.set(on_off_status));
    }

    } else if (message.type == V_PERCENTAGE) {
    val = atoi(message.data);
    if (val >= 0 and val <=100) {
    dimmerlevel = val;
    send(dimmerMsg.set(dimmerlevel));
    }

    } else if (message.type == V_VAR1 ) {
    val = atoi(message.data);
    if (val >= 0 and val <= 2000) {
    prgspeed = val;
    send(prgspeedMsg.set(val));
    }

    } else if (message.type == V_VAR2 ) {
    val = atoi(message.data);
    if (val == PROGRAM_NOP) {
    stop_program();
    send(programMsg.set(val));
    } else {
    init_program(val);
    send(programMsg.set(val));
    }

    } else {
    return;
    }

    }

    void execute_step(rgb_cmd cmd) {

    if (cmd.cmd == SET) {
    set_rgb(cmd.rgbw);
    } else if (cmd.cmd == SET_AND_WAIT) {
    set_rgb(cmd.rgbw);
    program_timer = cmd.p;
    } else if (cmd.cmd == SET_RANDOM) {
    set_rgb_random(cmd.rgbw);
    } else if (cmd.cmd == SET_RANDOM_AND_WAIT) {
    set_rgb_random(cmd.rgbw);
    program_timer = cmd.p;
    } else if (cmd.cmd == FADE) {
    init_fade(cmd.p, cmd.rgbw);
    } else if (cmd.cmd == FADE_RANDOM) {
    init_fade_random(cmd.p, cmd.rgbw);
    } else if (cmd.cmd == WAIT) {
    program_timer = cmd.p;
    }
    }

    void init_program(int program) {
    program_mode = program;
    program_step = 0;
    program_timer = 0;
    save_state();
    execute_step(programs[program_mode-1][0]);
    }

    void handle_program() {
    if (program_timer > 0) {
    program_timer--;
    }

    if (program_timer == 0) {
    program_step++;
    if (program_step == program_steps[program_mode-1]) {
    program_step = 0;
    }
    execute_step(programs[program_mode-1][program_step]);
    }
    }

    void stop_program() {
    restore_state();
    light_mode = LIGHT_NORMAL;
    program_mode = PROGRAM_NOP;
    }

    void save_state() {
    memcpy(save, current, 4 );
    }

    void restore_state() {
    memcpy(current, save, 4 );
    }

    void set_rgb (byte rgbw[]) {
    light_mode = LIGHT_NORMAL;
    memcpy(current, rgbw, 4);
    }

    void set_rgb_random (byte rgbw[]) {
    light_mode = LIGHT_NORMAL;
    for (int i=0; i <= 3; i++){
    current[i] = random(rgbw[i]);
    }
    }

    void init_fade(int t, byte rgbw[]) {
    light_mode = LIGHT_FADING;
    fade_step = t;
    memcpy(target, rgbw, 4);
    for (int i=0; i<=3; i++) {
    delta[i] = (target[i] - current[i]) / float(fade_step);
    }
    }

    void init_fade_random(int t, byte rgbw[]) {
    light_mode = LIGHT_FADING;
    fade_step = t;
    for (int i=0; i<=3; i++) {
    target[i] = random(rgbw[i]);
    delta[i] = (target[i] - current[i]) / float(fade_step);
    }
    }

    void calc_fade() {
    if (fade_step > 0) {
    fade_step--;
    for (int i=0; i<=3; i++) {
    current[i] = target[i] - delta[i] * fade_step;
    }
    } else {
    light_mode = LIGHT_NORMAL;
    }
    }

    void set_hw_status() {
    analogWrite(REDPIN, on_off_status * (int)(current[RR] * dimmerlevel/100.0));
    analogWrite(GREENPIN, on_off_status * (int)(current[GG] * dimmerlevel/100.0));
    analogWrite(BLUEPIN, on_off_status * (int)(current[BB] * dimmerlevel/100.0));
    analogWrite(WHITEPIN, on_off_status * (int)(current[WW] * dimmerlevel/100.0));
    }

    byte hextoint (byte c) {
    if ((c >= '0') && (c <= '9')) return c - '0';
    if ((c >= 'A') && (c <= 'F')) return c - 'A' + 10;
    if ((c >= 'a') && (c <= 'f')) return c - 'a' + 10;
    return 0;
    }

    [ Szerkesztve ]

  • Norby-007

    tag

    Sziasztok,
    Sajnos hónapok óta nincs semmi időm foglalkozni a félig-meddig összetákolt "okos otthonommal" és 5-ik hete folyik otthon az átalakítási munka, így kb két hete már a pc is félre van téve egy sarokba szétkapva. Eddig minden ment rendesen ami ki volt alakítva, de tegnap a kedves elmű jóvoltából akadt egy 6 órás áramkimaradás amivel együtt járt az is, hogy net sem volt a településen.
    Szünetmentes már ki volt építve (igaz mivel nem voltam otthon fogalmam sincs meddig bírta) így RPi-n futó Home Assistant futott tovább (nem tudom meddig, de amikor hazaértem már volt áram és működött az RPi is)
    Itt jön a kérdés, aki eddig kitartott annak nagyon köszönöm és várom a véleményt.
    Van egy olyan automatizmus kialakítva, hogy a kamra ajtón van egy xiaomi nyitás érzékelő, az amikor nyitást érzékel a HA-ban megírt automatizmuson keresztül egy sonoff kapcsolóval felkapcsolja a villanyt.
    Nos ez nem működik tegnap óta. A nyitás érzékelőt látom a Mi homban, hogy jól működik, nyitáskor logolja a nyitást. A telón fut a HA alkalmazás azzal tudom kapcsolgatni a kamrában a sonoffot, tehát fut a HA az Rpi-n, működik a Xiaomi Gateway, de mégsem kapcsolja az automatizmus a lámpát.
    Sajnos nem tudok belenézni a HA-ba a PC-n, mert nem tudom most összerakni, de hogyan lehetséges az, hogy a telón futó HA-ban mindent tudok kapcsolgatni, az automatizmust megnyitva ott is tudom triggerelni és akkor kapcsol is, de a két kütyü (nyitás érzékelő és a HA alkalmazással irányított sonoff) már nem működik.
    Úgy tűnik hiába van UPS-em ha net elmegy akkor az egész nem ér semmit.
    Van ötlet, hogy miként tudnám PC nélkül életre kelteni ezt az automatizmust? Már az RP-it áramtalanítottam és újraindult rajta a HA, de nem hozott semmi változást.
    Köszi.

  • Teasüti

    nagyúr

    Üdv!
    Kérhetnék egy kis segítséget ESPEasy-vel egy Sonoff TH kapcsolón?
    SI7021 a szenzor és sehogy nem tudom életre kelteni.
    I2C keresés nem dobja fel.
    I2C portoknak a GPIO4 és 14 van beállítva.
    Tasmota alapértelmezetten működött a szenzorral. :F
    Vmi ötlet?

    szerk: 1 vezetékes az ITEAD féle szenzor, más konfig, most már működik. :W

    [ Szerkesztve ]

  • alcsapalcsa

    tag

    kihagytam egy kicsit a fórumjelenlétből és nem győzöm magam utolérni :) most gyorsan írok és majd folytatom a pótlást :)

    kérdés: adott egy omrom relé modul, amit bekötöttem és működik is szépen (na jó nem, de majd leírom) viszont rákötöttem - lustaságból - egy körfűrészt és egy nyekkenés után semmi életjel.... Megnéztem és 2A az omromos szilárdtest relé terhelhetősége, így gondolom fájt neki e próbálkozásom.... ilyenkor halál, vagy csak pihen egy picit? :) Egy 2 relés modul egyébként és a másik működik, csak ez nem. A gondolatom, hogy csináltam belőle egy egy relés modult, de ha van vmi javítási ötlet, szóljatok.....

    ami érdekes, hogy amíg működött és egy reflektor volt rákötve (kültér) véletlenszerűen éjszaka bekapcsolt. nem uakkor, de kb minden este. A relé párja, amin egy sima lámpa volt, az sose kapcsolt magától. A logot nézve, csak kapott vhonnan egy bekapcs parancsot. (wemos + 2 relé + csillárkapcsoló - az egyik egy fix lámpa, a másik egy konnektorra kötve, ez lett volna egy szúnyoggyilkoló + egy bme280, de ennek nincs sok jelentősége) minden működött, csak ez a megmagyarázhatatlan bekapcsolás idegesített... a domóba még be sem kötöttem. Tasmota fw + semmi időzítés beállítva abban. - mivel kifingattam a relét, azt sem fogom megtudni mi okozta a problémát. Gondoltam a párára, vagy rossz bekötésre (kontakthiba), de nem találtam kiváltó okot.

    Gyermek: lehet volt rá válasz, de az én tapasztalatom... pénteken leszünk egy hónaposak
    - ip kamera - nincs bekötve domóba, telefonról nézzük a képét
    - hőmérők a szobákban - mivel nincs már fűtés (légkondi még nincs) így sok jelentősége nincs
    - páratartalom - rákötve egy sonoff-val egy párásító (domó vezérli)
    - légzésfigyelő - gyári, nem nyúltam hozzá, bár megkísértett, de ha kellene annyira hangos, hogy nincs értelme babrálni. Gondolkoztam, hogy lehetne-e házilag csinálni, de kb 5000ft volt használtan, sokszorosa lenne a barkács
    - leírom, mert lesznek friss gyermekesek :) létezik olyan, hogy laktáz enzim hiány (kevés enzim a szervezetben) ami igazi szivatós hasfájást okoz, görcsös, nemalvós...stb. Ennek vizsgálata az etetés után (anyatejes is) kb fél órával hidrogén jön a tüdőből. (a gyomor nem tudja megemészteni, a belekben erjed és hidrogén is képződik, ami a vérárammal a tüdőbe jut, ott kilélegzik) Ha ez van, akkor nagy valszeg ez a probléma - innen jött az ötlet, hogy beüzemelem a légminőség szenzorjaimat, amit megvettem de nem szereltem még össze... és jön a DE :) mivel kapható laktáz lebontó enzim csepegtető és ez nem okoz problémát akkor sem, ha nem ez a gond, inkább megvettem és max ha nem javul, akkor keresünk más okot, de ez volt a gond és így maradtak a szenzorok a dobozukban :)
    - mivel a cseppeket adagolni kell anyatejbe, így mindig kell cumisüveget készenlétbe tartani, amit melegíteni kell - jöhet az okos cumisüveg melegítő (most ezen gondolkozom, mert a lustaság nagy úr :) )
    - mi kaptunk egy segrázó gépet, így könnyebb a dolgom, de sokat gondolkozom a tökéletes autó imitáló berendezésen (talán a ford gyártott egyet) ide sok szenzor és vezérlő kell, de még nem találtam meg a mindent áthidaló tartási pózt, hang, szag, fény rezgés egyveleget :) ha meglesz jöhet az okos altató :)
    - éjszaka mozgásérzékelőre erősödő lámpa, ha felsír a baba, ne kelljen tapogatni, de ne legyen retinaleolvadása sem

    azt hiszem ennyi - eddig

  • Dodi_30

    újonc

    Sziasztok!

    Tényleg ennyire nincs senkinek még tapasztalata a használati melegvíz késítés automatizálásáról?
    Senki nem oldotta még meg a villanybojlere vagy gázos vízmelegítője kapcsolgatását?

    A Domoticz alat lévő SmartThermostat-ot már keresztbe-hosszába tesztelem, de mivel az fűtés vezérlés (1 celsius fokon belül kapcsol ki, meg be) csak rontana a hatékonyságon.

    Az alábiak szerint van konfigurálva a SmartThermostat a Domoticzban:

    Így mutat a tervek között:

    És itt látszik a Grafanaban, hogy a Domoticzban beállított 50fok mellett, 49 foknál bekapcsol, 50 foknál pedig ki:

    A relé még nem vezérel semmit, csak a tartályon lévő hőérzékelő alapján csattog az asztalomon :)

    Van valakinek ötlete, hgy hogyan lehetne vezérelni Domoticz alól? Kb. 5 fok különbséget kellene kezeljen, mondjuk 50 fokon bekapcsolni és 55 fokon ki. Ha esetleg valaki tudja, hogy lehetne a Smart Thermostatot "átprogramozni" ilyen működésre az is érdekelne.
    Vagy bármi egyéb ötlet, javaslat..........

    Köszönöm!

  • sambenez

    addikt

    válasz Dodi_30 #4293 üzenetére

    Írjál rá egy scriptet, ahol ha eléri a SmartThermostat-on beállított értéket bekapcsol a relé, ha meg eléri a SmartThermostat értéke+5-öt akkor kikapcsol.

  • Dodi_30

    újonc

    válasz sambenez #4294 üzenetére

    Ehez a tudásom kevés.

    Blockly-ban megpróbáltam a Smart Thermostat változóinak felhasználásával, de nem jutottam vele eredményre.

    Nem tudom, hogy kell kinézzen, hogy működőképes legyen:

    Megpróbáltam a SmartThermostat két értékét felhasználni, mint alsó és felső értéket.

    [ Szerkesztve ]

  • alcsapalcsa

    tag

    válasz Dodi_30 #4295 üzenetére

    én vmi hasonlót csináltam csak a párásítóval, de nem bonyolítottam ennyire meg... csináltam 2 eseményt, az egyik bekapcsol, a másik ki, mivel a tartomány nem fedi egymást (45%> - be; 50%< - ki) így nem ütköznek egymással.

    ez a kikapcs, de logikusan uez a bekapcs is, csak a felső sorban 45 és fordított kacsacsőr :)

    szerintem szedd szét 2 eseményre és működni fog...

    [ Szerkesztve ]

  • IG55

    senior tag

    Üdv!

    Lakás riasztóval összefüggő kérdésem lenne. Van egy kiépített 3 mozgásérzékelős riasztó a lakásban (vezetékes kiépítésben). Távfelügyeletre is volt már bekötve, most éppen nincs. A kezelőpanel valami Satel márkájú lehet, ez van ráírva.

    Ezt szeretném úgy átalakíttatni, hogy az érzékelők helyére kamerák kerülnének, a kezelőpanel pedig rendelkezne Wifi-val, rögzítő funkcióval, ilyesmikkel. Budapesten tudnátok ajánlani valakit, akit meg lehetne bízni ilyesmivel? esetleg én magam is ki tudnék építeni egy ilyent? Be tudnátok linkelni kamerákat, kezelőpaneleket, amelyek alkalmasak lennének?
    Köszi!

  • layerke

    aktív tag

    válasz IG55 #4297 üzenetére

    Ez nem okos otthon funkció, hanem egy egyszerű vagyonvédelmi rendszer fejlesztése, cserélése. Ezzel kapcsolatban vagyonvédelmi topikban vagy szakembernél tudsz érdeklődni.

  • Vodike

    tag

    Most, hogy belaktam egész jól a rendszerem, gondoskodnom kellene a backupról. Ki mit használ a teljes sd backupjára? Nem pont ide vágó téma, de szerintem fontos lehet. Raspbian rendszer az alap, azon fut a Domoticz.

    Jó lenne kompletten az SD-t valami felhőbe rakni vagy nem is tudom. Elég a home könyvtár?

    [ Szerkesztve ]

    exTiga

  • Magga

    aktív tag

    Szervusztok!

    Domoticzban, hogy kell eszközből adatokat kiolvasni? Az érdekelne, hogy egy olyan eszköz, ami több adatot szolgáltat (pl szélnél, szélsebesség és irány, csapadéknál intenzitás és összes csapadék...) mindig csak az első adatot tudom beállítani blocklyban, megoldható ez?? Vagy ez már Lua vagy egyéb szkriptben lehetséges csak??

Új hozzászólás Aktív témák