Ktoś kiedy powiedział, że “ludzie dzielą się na tych co robią backup i na tych co dopiero będą go robić” .

Cel

Wykonanie kopi dla:

  • baza SQLITE DOMOTICZ
  • katalog skryptów DOMOTICZ
  • katalog www DOMOTICZ (nie wiem po co , ale widziałem, że inni to robią)
  • inne katalogi które mogą okazać się przydatne

Kopia taka powinna zostać skompresowana i przesłana za pomocą ftp na wskazany adres. U mnie to będzie dysk SYNOLOGY który właśnie pełni rolę rodzinnego serwera backupowego.

Po kilku próbach skomponowałem skrypt poniższy skrypt:


#!/bin/bash

# parametry

ftpHost="192.168.1.100"
ftpUser="nazwauzytkownika"
ftpPass="haslouzytownika"
ftpDestDirectory="backup/"

domoticzHost="192.168.1.101"
domoticzPort="8080"

domoticzDirectory="/home/pi/domoticz"
domoticzDirectoryWww="$domoticzDirectory/www"
domoticzDirectoryScripts="$domoticzDirectory/scripts"

scriptDirectory="/home/pi/@scripts"

now=$(date '+%Y%m%d%H%M%S')
backupDirectory="/tmp/backup_$now"
backupFile="/tmp/backup_raspberry_$now.tar"

echo "zakładam katalog dla kopii $backupDirectory"
mkdir $backupDirectory

echo "backup - domoticz db ..."
curl -s http://$domoticzHost:$domoticzPort/backupdatabase.php > $backupDirectory/domoticz.db

echo "backup - domoticz pliki (www) ... "
cp -r $domoticzDirectoryWww $backupDirectory

echo "backup - domoticz pliki (skrypty) ... "
cp -r $domoticzDirectoryScripts $backupDirectory

echo "backup - skrypty ..."
cp -r $scriptDirectory $backupDirectory

echo "pakowanie ..."
tar -zcvf $backupFile $backupDirectory

echo "ftp transfer ..."
curl -s --disable-epsv -v -T"$backupFile" -u"$ftpUser:$ftpPass" "ftp://$ftpHost/$ftpDestDirectory"

echo "usuwam tmp pliki ..."
rm -r $backupDirectory
rm $backupFile

curl --silent -u """pushbulletapikey"":" -d type="note" -d body="backup został wykonany. (f:$now)" -d title="raspinfo" 'https://api.pushbullet.com/v2/pushes'

 

W ostatniej linii skryptu wysyłam wiadomość o wykonaniu backupu za pomocą wcześniej skonfigurowanego pushbulleta.

Jak go skonfigurować pisałem TU.

Aby uruchomić skrypt musimy mu jeszcze nadać uprawnienia poprzez wydanie komendy:

chmod +x backup.sh

(mój plik nazywa się backup.sh)

Na koniec aby to wszystko miało sens musimy włączyć harmonogram odpalania skryptu.

Realizujemy to poprzez wrzucenie odpowiedniego wpisu do crontaba. Tak więc:

1. Uruchamiamy crontaba:

crontab -e

2. Dodajemy nowy wpis:

0 3 * * 1 /home/pi/@scripts/backup.sh

Czyli będziemy odpalać skrypt w poniedziałki o 3:00.

Więcej o harmonogramie w crontabie możecie znaleźć TU

 

Będąc na co dzień użytkownikiem systemu MS Windows 10 zachwycam się prostotą pewnych rzeczy na raspberry.

Jedną z nich jest wysyłanie wiadomości przez aplikację PUSHBULLET za pomocą basha.

Jak to się robi?

curl --silent -u """Twoj_APIKey"":" -d type="note" -d body="treść wiadomości" -d title="title wiadomości" 'https://api.pushbullet.com/v2/pushes'

Oczywiście wcześniej należy zainstalować darmową aplikację PUSHBULLET oraz w miejscu Twoj_APIKey wprowadzić wartość podaną przez pushbulleta.

Jak uzyskać APIKEY na rysunku poniżej.

 

 

 

 

Czasami potrzebujemy wiedzieć czy nasze urządzenia sieciowe takie router, przekaźniki SONOFF działają poprawnie – są widoczne w sieci.  Osobiście też, lubię posiadać wiedzę o ewentualnym braku internetu – pomocne przy negocjacjach z dostawcą internetu.

Tradycyjnie możemy realizować to za pomocą pinga. Możemy też do tego celu wykorzystać naszą instalację DOMOTICZ.

Jak to zrobić?

  1. Konfiguracja > Sprzęt > Typ: System Alive Checker (Ping) [1]
  2. Po dodaniu, pojawia się on na naszej liście sprzętów, klikamy [Konfiguracja]
  3. W węzłach podajemy adresy IP monitorowanych zasobów.  podając również limit czasu – przez ile będziemy czekać na pinga [2]
  4. Po wykonaniu tych czynności DOMOTICZ doda nam nowe urządzenia o nazwach zdefiniowanych na etapie definicji węzłów.
  5. Dodajemy je do pulpitu (zielona strzałka), podając czytelne nazwy [3]
  6. Po pojawieniu się w pulpicie [4] –  cieszymy się logami z niedziałających urządzeń:-) [5]

 

* W przypadku przeglądania logów, będą widoczne zmiany stanu pingowania, a nie każdy pojedynczy ping.

 

Rysunki wspomagające:

[1]

[2]

[3]

[4]

[5]

Dostaliśmy w prezencie dekoracyjne kule LED w kolorze białym. Uznaliśmy, że skoro posiadają pewien poziom wodoodporności ich miejsce powinno być na balkonie.

Lampki same w sobie nie posiadają włącznika, a uruchomienie ich następuje przez umieszczenie wtyczki w gniazdku. Proste i niezawodne rozwiązanie.

No zaraz, ale miało być inteligentnie.

Cel

Po zmroku lampki mają się zapalić, odczekać 2-3 godziny po których powinny się samoczynnie zgasić.

Instalacja

Co będzie potrzebne?

  • Lampki (lidl|bierdornka) ~35pln
  • Przełącznik SONOFF BASIC (aliexpress) ~20pln
  • Obudowa wodoodporna (aliexpress) ~15pln
  • Konwerter USB to TTL CP2102 Arduino (allegro) ~12pln
  • Narzędzia (kabelki, lutownica, cyna)
  • Oprogramowanie alternatywne do SONOFF BASIC np. ESPEASY, AFE
  • NodeMCU Flasher

Z uwagi na patriotyzm postanowiłem dać szansę polskiemu alternatywnemu oprogramowaniu –  AFE .

Dokładny opis wgrania softu znajduje się pod linkiem https://www.smartnydom.pl/firmware-sonoff/instalacja/

W moim przypadku urządzenie po zmianie softu nie działało prawidłowo. Wszystkie problemy rozwiązało wyczyszczenie pamięci SONOFFa przez wgranie tzw blanka. Instrukcja wgrywania do pobrania TU

Jeżeli nie czujesz się na siłach w starciu z lutownicą i nie masz czasu na rozwiązywanie ewentualnych problemów  – możesz zakupić SONOFFa na allegro już z wgranym oprogramowaniem lub zamówić jego wgranie do posiadanych sztuk.

Konfiguracja

Po pierwszym uruchomieniu SONOFFa z nowym oprogramowaniem rozpoczyna on pracę w trybie ACCESS POINT udostępniając otwartą sieć o nazwie AFE-Device

Postępujemy wg schematu:

  • Podłączamy się do sieci AFE-Device
  • W przeglądarce odpalamy adres http://192.168.5.1
  • W ustawieniach konfigurujemy na razie wyłącznie parametry podłączenia do naszej sieci (to wystarczy)
  • Zapisujemy konfigurację klikając [Zapisz konfigurację]

Warto przypisać urządzeniu adres IP poprzez ustawienia DHCP na routerze, lub bezpośrednio w konfiguracji SONOFFa.

Po restarcie urządzenia stanie się ono widoczne w naszej sieci pod adresem skonfigurowanym w sekcji Sieć Wifi

Konfigurację systemu DOMOTICZ przeprowadzamy według poniższej instrukcji:

  1. KONFIGURACJA>SPRZĘT>DODAJ dodajemy nowy sprzęt typu Dummy (Does nothing, use for virtual switches only)  nazywając go np. włączniki sonoff



  2. Klikając Utwórz wirtualne czujniki dodajemy nowe urządzenie o nazwie pod jaką będzie widoczne w naszym systemie i typie “Przełącznik”



  3. Odczytujemy i zapamiętujemy IDX z poziomu KONFIGURACJA>URZĄDZENIA.



  4. Oznaczamy nasze urządzenie jako używane, poprzez kliknięcie zielonej strzałeczki.
  5. Przechodzimy do opcji z menu głównego PRZEŁĄCZKI
  6. Klikając EDYCJA modyfikujemy pola (oczywiście podając własny adres IP urządzenia)
    WŁĄCZ AKCJĘ: http://192.168.1.200/?device=relay&name=switch&command=on&source=domoticz
    WYŁĄCZ AKCJĘ: http://192.168.1.200/?device=relay&name=switch&command=off&source=domoticz

 

Po tej operacji nasz przełącznik będzie już widoczny z poziomu systemu DOMOTICZ a co za tym idzie będzie go można włączać z zdalnie.

Pozostało jeszcze skonfigurowanie komunikacji w kierunku SONOFF > DOMOTICZ. Chcielibyśmy mieć możliwość informowania systemu DOMOTICZ o ewentualnie analogowym przełączeniu SONOFFa.

Realizujemy to poprzez:

  1. Wchodzimy w ustawienia oprogramowania AFE wpisując w przeglądarce adres IP przełącznika.
  2. W opcjach MENU>URZĄDZENIE zaznaczamy opcję Domoticz API włączone?


  3. W opcjach MENU>PRZEKAŹNIK ustawiamy wartość IDX w Domoticz* wartością z DOMOTICZ

  4. Zapisujemy ustawienia klikając MENU>ZAPISZ KONFIGURACJĘ

 

Tak spreparowane urządzenie możemy podłączyć pod sceny w systemie DOMOTICZ i wieczorami cieszyć się oświetleniem balkonu.

 

 

Parę lat temu nabyłem dysk sieciowy firmy SYNOLOGY model DS212j z procesorem MARVELL Kirkwood 88F6281. Cel – domowe miejsce przechowywania danych. Warto było.

Po przeprowadzce, zarażony wizją budowania inteligentnego domu  postanowiłem dać mu nowe zadanie – hostowanie DOMOTICZa.

Dlaczego DOMOTICZ?

Po pierwsze dokumentacja – spora, po drugie prostota, no i po trzecie … była kompilacja pod SYNOLOGY.

Dlaczego hostować DOMOTICZ na  SYNOLOGY?  Niska cena wejścia, po prostu już go mam.

Odpowiedni pakiet SPK pobrać można z lokalizacji http://www.jadahl.com/domoticz_beta_6.2/

Instalacja sprowadza się do wskazania lokalizacji i … tyle.

DOMOTICZ możecie oczywiście zainstalować na maszynie z WINDOWS 7,10 i tam realizować swoje pomysły, oczywiście pamiętając, że  w układzie docelowym powinniście znaleźć mu jakieś serwerowe miejsce.

Goły DOMOTICZ, bez sensorów, przekaźników potrafi nie wiele, ale można już go wykorzystać to kilku celów.

Co np?

MONITOROWANIE ZASOBÓW SIECIOWYCH