Iedere Domoticz gebruiker heeft er helaas wel eens last van: het Domoticz proces is gecrasht. Je hebt geen idee waarom, maar je wil gewoon dat Domoticz weer draait zodat je niet in het donker komt te zitten, of meterstanden kwijtraakt van je slimme meter. We gaan Monit inzetten om het domoticz proces in de gaten te houden, en wanneer het stopt, opnieuw te starten.

Domoticz automatisch opnieuw starten

De oplossing van bovenstaand probleem is natuurlijk zorgen dat Domoticz niet crasht. Je wilt je smarthome systeem natuurlijk zo snel en stabiel als mogelijk laten reageren. Voordat je een script gaat maken dat domoticz automatisch start na een crash, check eerst even het volgende:

  • Misschien gebruik je een combinatie van hardware die elkaar in de weg zit.
  • Heb je erg veel scripts draaien, of blijven die alsmaar ‘loopen’?
  • Als je met een Raspberry Pi werkt, is je SD-kaartje nog OK?
  • Is je log bestand heel erg groot geworden?

Het is namelijk niet normaal dat domoticz frequent crasht. Op moment van schrijven draait domoticz nu 28 dagen achter elkaar op mijn Synology NAS. Natuurlijk komt het bij mij ook wel eens voor dat domoticz onverwacht stopt. Zeker als je verlichting schakelt met domoticz is het niet fijn als domoticz ineens stopt met werken. Je zit dan in het donker, of de verlichting blijft ’s nachts branden. Zonde.

Monit gebruiken om domoticz draaiend te houden

Om domoticz automatisch weer te starten na een crash maak ik gebruik van Monit. Ik draai domoticz op mijn Synology NAS en gelukkig is er dankzij de Synocommunity ook een Monit package voor op Synology NASsen.

We gaan Monit inzetten om het domoticz proces in de gaten te houden. Wanneer Monit geen reactie krijgt van domoticz, probeert het domoticz opnieuw te starten. Op die manier heb je er geen omkijken meer naar.

  1. Log in op je NAS

    Log in bij Disk Station Manager van je Synology NAS. Meestal te bereiken door het ip-adres in je browser in te typen gevolgd door het poortnummer.DSM Synology login

  2. Open het DSM Package Center

    Klik in het hoofdmenu op Package Center. Vanuit hier gaan we een nieuw Package installeren.Package Center DSM

  3. Vertrouwensniveau

    In het Package Center klik je op instellingen. Kies bij Vertrouwensniveau voor ‘Elke uitgever’. Dit doen we omdat we een onofficieel package willen toevoegen. Vertrouwensniveau pakketbronnen package center synology nas

  4. Voeg de Synocommunity toe als repository

    Onder het tabje ‘Pakketbronnen’ kun je extra repositories toevoegen. Klik op toevoegen en voer een naam in. Vul de url http://packages.synocommunity.com/ in bij locatie.Synocummunity toevoegen aan package center

  5. Beschikbare pakketten bekijken

    In het Package Center is er nu een nieuwe tab verschenen. Klik op de nieuwe tab ‘Gemeenschap’. Alle pakketten die nu verschijnen kun je installeren. Scroll naar beneden en installeer het pakket Monit. Staat Monit er alsnog niet tussen? Lees dan onder het stappenplan even verder.Synocommunity packages

  6. Maak het monitoringsbestand aan

    Navigeer met Putty of WinSCP naar de Monit map. Deze kun je alleen bereiken als je genoeg rechten hebt en inlogt met SSH.

    Navigeer naar “usr/local/monit/var/monit.d”. Maak hier een nieuw tekstbestand met de naam domoticz. Plak de code die onder het stappenplan staat in het bestand en sla het op.

  7. Start Monit

    Start nu Monit vanuit het Package center, of als het al gestart was, stop Monit en start het opnieuw. Nu zal het configuratiebestand laden. Navigeer in je browser naar het ip-adres van je NAS gevolgd door poortnummer 2812. Log in met admin/monit gebruikersnaam/wachtwoord combi.Monit op Synology NAS

  8. Test of Monit werkt

    Klik op de regel domoticz. Hier zie je de statistieken van het proces domoticz. Klik op stop service om te testen of Monit het proces kan starten. Als domoticz gestopt lijkt, navigeer je in de browser naar je domoticz pagina. Deze zal dan een Niet gevonden pagina tonen. Klik in Monit nu op Start Service en domoticz zal weer gestart zijn. Nu weet je dat Monit domoticz automatisch kan starten.

Staat Monit niet in je Package Center?

Wanneer Monit niet verschijnt in de lijst van beschikbare pakketten, kun je het pakket handmatig proberen te installeren. Je moet hiervoor dan wel je architectuur weten van je NAS.
Je kunt de architectuur van je NAS eenvoudig opzoeken. Zoek op de pagina je NAS modelnummer en kijk welke architectuur je NAS gebruikt. Mijn DS216j gebruikt bijvoorbeeld de armada38x architectuur. Op de downloadpagina van Monit klik je op je architectuur en download je de losse spk. Klik in het Package Center op Handmatig installeren en volg de stappen.

Script code om domoticz opnieuw te starten

Onderstaande code kun je in het domoticz bestand plakken in de Monit map.

#check domoticz is running
check process domoticz with pidfile /usr/local/domoticz/var/domoticz.pid
    start program = "/var/packages/domoticz/scripts/start-stop-status start"
    stop program  = "/var/packages/domoticz/scripts/start-stop-status stop"
    if failed host localhost port 8084 then restart
    if 3 restarts within 5 cycles then timeout
    if memory > 110 MB then restart
#done

Wat vond je van deze blogpost?

Klik op een ster om een beoordeling te geven!

Gemiddelde score 4.6 / 5. Aantal stemmen: 5

Er heeft nog niemand gestemd. Wees de eerste, het kost niets en geen registratie!

Jammer dat de post niet behulpzaam was.

Laten we deze post verbeteren!

Wat zou er beter kunnen?

Door Wouter

5 gedachten over “Domoticz opnieuw starten na crash met Monit”
  1. Hoi Wouter,
    Ik kreeg op het Dmooticz forum geen PM meer naar je verzonden, maar ik had je geschreven dat ik wel heel erg geinteresseerd was in een tutorial voor Monit en nu zag ik dat je die inmiddels hebt toegevoegd, waarvoor dank!
    Dat maakt het een stuk duidelijker!

    Helaas staat Monit niet bij mij bij de packages (ook niet na toevoegen van de genoemde bron) en als ik naar de architecture ga kijken, dan vind ik die ook weer niet terug bij de losse download van Monit….. Kan het dan zijn, dat er voor mijn Synology geen package is op dit moment?

    Ik heb een DS218Play (rtd1296 (armv8))

      1. Hoi Wouter,
        Ik had ondertussen van Monit support ook iets dergelijks als antwoord ontvangen.

        Ik zal eens kijken of ik daar uit kom. Er wordt ook nog gesproken over zelf compilen, en hoewel dat geen onbekend begrip voor me is, moet ik er eens even in duiken.

        Ik laat het je nog wel weten!

  2. Dag Wouter,

    Dank voor duidelijke uitleg. Installeren van package Monit lukt prima, maar…. het werkt niet. Permissies staan (ergens) verkeerd.
    Via website (port 2812) > Monit, lijkt Monit te werken maar de start-stop-status opdrachten worden niet uitgevoerd. Met ‘stop’ blijft Domoticz gewoon draaien.

    Als ik met telnet inlog (met Domoticz draaiend) en commando in de shell geef:
    /var/packages/domoticz/scripts/start-stop-status stop
    rm: cannot remove ‘/usr/local/domoticz/var/domoticz.pid’: Permission denied
    Domoticz is not running
    (Domoticz draait trouwens wel).

    Met root permissie (sudo bash), kan ik Domoticz wel stoppen en opstarten via de shell:
    bash-4.3# /var/packages/domoticz/scripts/start-stop-status stop
    Stopping Domoticz …
    bash-4.3#
    bash-4.3# /var/packages/domoticz/scripts/start-stop-status start
    Starting Domoticz …
    insmod: ERROR: could not insert module /lib/modules/usbserial.ko: File exists
    insmod: ERROR: could not insert module /lib/modules/ftdi_sio.ko: File exists
    insmod: ERROR: could not insert module /usr/local/domoticz/modules/cp210x.ko: File exists
    insmod: ERROR: could not insert module /usr/local/domoticz/modules/pl2303.ko: File exists
    insmod: ERROR: could not insert module /usr/local/domoticz/modules/ch341.ko: File exists
    insmod: ERROR: could not insert module /usr/local/domoticz/modules/ti_usb_3410_5052.ko: File exists
    ln: failed to create symbolic link ‘/lib/udev/rules.d/60-synocommunity.domoticz.rules’: File exists
    bash-4.3#
    bash-4.3# /var/packages/domoticz/scripts/start-stop-status start
    Domoticz is already running

    Suggestie?

    Groet, Rolf

    Monit 5.29.0-10, Domoticz (Jadahl, 3.0.9483-7), DS212j, DSM 6.2.4

    1. Hoi Rolf,

      Goed dat je even reageert. Het lijkt inderdaad een rechten kwestie. Lukt het als je de rechten wijzigt van de bovenliggende map waar het domoticz.pid in staat? Ik kan mij niet heugen dat ik een rechten kwestie had…

      Succes groet Wouter

Laat weten wat je van dit artikel vindt!

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

%d bloggers liken dit: