SUPLA wywóz śmieci

arekrgw
Posty: 36
Rejestracja: śr sie 15, 2018 6:42 pm

czw cze 25, 2020 5:08 pm

Witam,
popełniłem ostatnio taki mały skrypt który aktualizuje virtualny kanał z supla-virtual-device o najbliższą datę wywozu śmieci.
W aplikacji wygląda to następująco:
Obrazek

Repozytorium
https://github.com/arekrgw/supla-rubbish

Do działania trzeba uzupełnić pliki konfiguracyjne swoimi danymi(supla.config.json oraz icons.config.json) oraz mieć zainstalowane node.js oraz npm

Opis: supla.config.json

Kod: Zaznacz cały

{
  "bearer": "NmZlZDJjYmJlYTEzNmVhZDU1YWZiZGRmOTkzYmFlYTgzNTZiM2EyMDAyYTk2MGQ3MjBlMzUwNjc4YjMxMDlmMA.aHR0cHM6Ly9zdnIxNi5zdXBsYS5vcmc=",
  "suplaBaseServerURL": "https://svr16.supla.org/api/v2.3.0",
  "kiedySmieciURL": "https://kiedysmieciv2.herokuapp.com",
  "functionId": 230,
  "region": "5ef22c025d04fe023023c6cd",
  "channel": "32568"
}
  • bearer - bierzemy z chmury z zakładki integracje i osobiste tokeny dostępowe (koniecznie musi być zaznaczona możliwość modyfikacji kanałów)
  • kiedySmieciURL - tego nie ruszamy jest to mój serwer który podaje daty wywozów śmieci
  • functionId - jaki to ma być kanał jest to powiązane z tym co ustawimy w supla-virtual-device, w moim przypadku jest to czujnik otwarcia okna
Tak wygląda u mnie konfiguracja tego kanału w supla-virtual-device.cfg

Kod: Zaznacz cały

[CHANNEL_12]
function=WINDOWSENSOR
file=/home/pi/virtual/smieci/default
  • suplaBaseServerURL - tu tylko zmieniamy liczbę przy "svrXX"
  • region - id regionu z serwera KiedySmieci o tym później dalej...
  • channel - id kanału który będzie nam służył jako informacja o wywozie, patrz zrzut ekranu...
Obrazek

Opis icons.config.json

Kod: Zaznacz cały

[
  {
    "icon": 884,
    "types": ["tworzywa sztuczne"]
  },
  {
    "icon": 883,
    "types": ["szkło"]
  },
  {
    "icon": 882,
    "types": ["zmieszane"]
  },
  {
    "icon": 881,
    "types": ["bio", "tworzywa sztuczne"]
  },
  {
    "icon": 880,
    "types": ["bio", "papier"]
  }

]
  • icon - id ikony która ma być ustawiona, aby uzyskać to id to patrz zrzut ekranu... Jeżeli ktoś zna łatwiejszy sposób to proszę o podzielenie się nim :D
Obrazek
  • types - lista typów śmieci które są wywożone danego dnia też jest to ściśle powiązane z serwerem KiedyŚmieci
Moje przykładowe ikony:
https://drive.google.com/drive/folders/ ... sp=sharing

Aby skrypt np. uruchamiał się codziennie, należy ustawić zadanie w Cronie np

Kod: Zaznacz cały


1 0 * * * /usr/local/bin/node /home/pi/supla-rubbish/index.js

będzie uruchamiany codziennie o 0:01

Teraz trochę o serwerze KiedyŚmieci
Niestety aby wasze daty się tam znalazły musicie mi przygotować plik z takimi datami i ja je samodzielnie dodam
Jak powinien ten plik wyglądać...

Kod: Zaznacz cały

nazwa regionu: Józefów
miasto =  Rogów
kod_pocztowy =  95-063
wojewodztwo = łódzkie
godziny_wywozu =  6-15


typ1 = "nazwa typu"
typ2 = "nazwa typu"

[
    {
      date: new Date("2020-06-01"),
      garbageType: typ1,
      garbageRegion: region,
    },
    {
      date: new Date("2020-06-01"),
      garbageType: typ2,
      garbageRegion: region,
    }
]
Jeżeli danego dnia są wywożone wg przykładu typ1 i typ2 to trzeba to zrobić tak jak w przykładzie. Nazwy "typ1, typ2, typX, region" traktujcie jak zmienne. Wysyłajcie mi te pliki w wiadomości prywatnej tu na forum. Generalnie w przyszłości pojawi się automatyczna możliwość dodawania, ale jeszcze nie mam pomysłu jak to rozwiązać.

Jeżeli odpowiadają wam te typy które są obecnie już na serwerze to używajcie takich ID zamiast np. typ2:

Kod: Zaznacz cały

[
  {
    "_id": "5ef22139ed562b349cc7e8b7",
    "type": "tworzywa sztuczne"
  },
  {
    "_id": "5ef3083eed4a8be5efe1700f",
    "type": "papier"
  },
  {
    "_id": "5ef30861ed4a8be5efe17010",
    "type": "szkło"
  },
  {
    "_id": "5ef30874ed4a8be5efe17011",
    "type": "bio"
  },
  {
    "_id": "5ef30888ed4a8be5efe17012",
    "type": "zmieszane"
  }
]
Jeżeli ktoś chce sprawdzić czy może jego region już jest to zapraszam do dokumentacji(która pojawi się niebawem :lol: ) tego serwera pod adresem: https://github.com/arekrgw/kiedy-smieci-v2
Awatar użytkownika
Goral64
Posty: 482
Rejestracja: pt gru 27, 2019 6:22 pm

czw cze 25, 2020 5:36 pm

Fajne. Trochę pracy kosztowało.
Jednak zostanę przy apce "Kiedy wywóz".
RPi4: Supla Cloud + Supla Scripts + Proxy + Let's Encrypt
1x MEW-01, 1x LIW-01, 2x SBW-02, 2x PNW-01, 1x ROW-01, 1x ROW-02, 1x ROW-04m,
2x Sonoff BRIDGE RF 433
This is only the beggining...
Awatar użytkownika
pzygmunt
Posty: 8708
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontaktowanie:

czw cze 25, 2020 6:32 pm

Cool
hanuer
Posty: 55
Rejestracja: wt sty 07, 2020 1:10 am

czw cze 25, 2020 6:41 pm

Mojej gminy brak :( Fajny projekt. Gratulacje.
Awatar użytkownika
klew
Posty: 918
Rejestracja: czw cze 27, 2019 12:16 pm

pn cze 29, 2020 12:23 pm

Gratuluję wykonania "kanału ogólnego przeznacznia" :). Pomysł z podmianą nazwy kanału jest interesujący.
arekrgw
Posty: 36
Rejestracja: śr sie 15, 2018 6:42 pm

pn cze 29, 2020 7:29 pm

Dzięki panowie za pozytywny odzew :D
ODPOWIEDZ

Wróć do „Projekty użytkowników”