Jak i czym zbudować Suple ze źródeł?

User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

klew wrote: Tue Apr 18, 2023 9:23 am
[email protected] wrote: Tue Apr 18, 2023 7:40 am A jest to gdzieś na githubie? w supla-device widziałem i zamierzam skorzystać ;)

Z mojej strony to małe kroczki, jak będę miał dane w bazie to już fajnie, a potem zobaczymy, gdzieś mam w głowie, żeby sobie postawić swój zmodyfikowany serwer w Azure bo mam taką możliwość i zapiąć do tego pełnoprawną stację pogodową. Supla to zdecydowanie nie mój stack technologiczny więc powoli... :P
To pochwal gościa, ile procent z wymaganej roboty przy apk, aby wprowadzić KPOP, zostalo zrobione przez te 2 tygodnie?

Wszystko powinno tam gdzieś być :). Nie wiem o co pytasz.
supla-core to serwer Supli i trochę części wspólnych.
supla-cloud to strona webowa (głównie konfiguracja urządzeń i zarządzanie).
supla-android to apka na Androida
supla-ios to apka na iOS

Jest jeszcze supla-docker - tam są pliki dockera, które chyba powinny mieć rozpisane po kolei komendy jakimi się cały stos Supli buduje (włącznie z postawieniem całego środowiska), więc tam możesz szukać pomocy w tym zakresie.

Ja osobiście nigdy tego samemu nie kompilowałem.

Jeśli chciałbyś jakoś wesprzeć projekt Supli, to raczej polecam się skupić na fragmencie bliżej Twojego "stacku technologicznego". Takie grzebanie w różnych miejscach, aby coś ruszyło, niewiele da. Nawet jeśli uda Ci się uruchomić ten KPOP, to i tak nie będzie to całościowe rozwiązanie, które będzie można zmerge'ować do oficjalnej Supli, bo nawet jeśli ogarniesz Androida, to pewnie iOS już nie będzie Ci taki bliski (albo na odwrót), zrobisz wyświetlanie w apkach, ale obsługa wykresów i eksportu danych z Cloud pewnie nie będzie działać. MQTT i integracja do Home Assistant też pewnie nie będzie ruszona itd. Linki bezpośredni, publikacja do Rest API, webhooki do skryptów...

Sam KPOP będzie "wkrótce" zrobiony. Jest to jeden z tematów, który wygrał naszą ankietę. Wiem, że wszyscy mieliśmy nadizeję, że to pójdzie szybciej, ale niektórych rzeczy się nie przeskoczy. Główną blokadą były u nas zaległości w apkach na telefony. Po wielu miesiącach udało się znaleźć programistę do tej działki i od kwietnia robota idzie pełną parą :).
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

SOYER wrote: Tue Apr 18, 2023 9:33 am To pochwal gościa, ile procent z wymaganej roboty przy apk, aby wprowadzić KPOP, zostalo zrobione przez te 2 tygodnie?
Ciężko było w tym poście znaleźć Twoje słowa ;P

Ile z KPOP zostało zrobione? 0% :D
Najpierw zaległości w iOS są nadganiane.
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

klew wrote: Tue Apr 18, 2023 9:23 am ...
W moim stacku technologicznym bym zaorał supla-server w C++ i napisał w c# w .NET 7, zahostował w Azure i zrobił clouda w Blazor lub MAUI :D Wszystko co jest od serwera zależne było by prostsze :twisted: a sam serwer łatwiej rozszerzalny. Androida pewnie jestem w stanie ruszyć, w cloud gorzej no ale bez przesady, to nie jest kosmiczna technologia, żeby dodać dwa pola tekstowe ;)

Żarty żartami, ale problemem Supli jest podejście Waterfall do developmentu i wszystko albo nic jeśli chodzi o funkcjonalności. To nie ma racji bytu w dzisiejszych czasach, że o przyszłości nie wspomnę. Kwestie kilku decyzji architektonicznych pominę, były pewnie ku nim powody i jestem stronniczy ze względu na moje preferencje technologiczne.

W przypadku KPOP można to robić w kilku krokach, najpierw udostępnić możliwość zapisu danych przez supla-device, potem widoczność w cloud, potem aplikacje mobile, później wyzwalanie akcji, wykresy itp. Trzeba tylko chcieć ;) Moim zdaniem da się to dokładać po kawałku bez większych zmian w istniejących funkcjonalnościach.

I pytałem o to co już zostało wymyślone w tej kwestii, czy jest gdzieś w Internecie czy tylko w głowach programistów ;)
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

[email protected] wrote: Tue Apr 18, 2023 10:40 am w cloud gorzej no ale bez przesady, to nie jest kosmiczna technologia, żeby dodać dwa pola tekstowe ;)
Sęk w tym, że nie są to "dwa pola tekstowe". Te wszystkie rzeczy, co wymieniłem wcześniej, to są elementy, które trzeba połapać do KPOP i przetestować. Nie jest to jakaś ogromna ilość pracy, tylko pewnie po kilka linijek kodu w kilkunastu różnych miejscach. Większość pracy jest po stronie apek na telefonach. Przy prawie zerowych zasobach ludzkich w ciężko było jakiekolwiek tematy w apkach ruszyć do przodu (jeśli zadanie wymaga 1 h pracy i masz do dyspozycji 0 ludzi, to ile zajmie implementacja? ;P ).
Poza tym aplikacja na iOS jest/była w ciężkim stanie (trochę błędów się wkradło) i miała zaległości względem Androida. Są też inne pilne tematy, które też są blokowane przez apki. Są rzeczy zapowiedziane 2-3 lata temu, których nie udało się ruszyć z powodu apek. Także łatwo się krytykuje, gdy ma się wąskie spojrzenie tylko na jeden temat.
[email protected] wrote: Tue Apr 18, 2023 10:40 am Żarty żartami, ale problemem Supli jest podejście Waterfall do developmentu i wszystko albo nic jeśli chodzi o funkcjonalności. To nie ma racji bytu w dzisiejszych czasach, że o przyszłości nie wspomnę.
Pracowałem w wielu metodologiach i przy wielu projektach. O Supli można wiele powiedzieć, ale "waterfall"?
[email protected] wrote: Tue Apr 18, 2023 10:40 am W przypadku KPOP można to robić w kilku krokach, najpierw udostępnić możliwość zapisu danych przez supla-device, potem widoczność w cloud, potem aplikacje mobile, później wyzwalanie akcji, wykresy itp. Trzeba tylko chcieć ;) Moim zdaniem da się to dokładać po kawałku bez większych zmian w istniejących funkcjonalnościach.
Te "elementy składowe" KPOP-u są na tyle małe, że raczej nie ma sensu wprowadzać ich partiami, tymbardziej, że np. samo zapisywanie jakichś danych w bazie kompletnie nie daje nic użytkownikom. Robienie rzeczy takimi kawałkami ma też swoje minusy. Osobiście wolę mieć działający "prototyp", który działa end-to-end (od urządzenia pomiarowego po apkę na telefonie) i wiem, że wszystko się spina i działa, niż najpierw zrobić wszystko po stronie serwera i wydać aktualizację (bo mam gotowy kawałek funkcjonalności), a potem usiąść do apek, gdzie okaże się, że jednak coś źle zaplanowaliśmy i trzeba przerabiać serwer. O ile publiczne sewery aktualizujemy sami, to prywatne instancje zależą już od ich właścicieli i potem trzeba dbać o kompatybilność między komponetami, której wcale nie trzeba by brać pod uwagę, gdybyśmy zrobili to end-to-end.
[email protected] wrote: Tue Apr 18, 2023 10:40 am I pytałem o to co już zostało wymyślone w tej kwestii, czy jest gdzieś w Internecie czy tylko w głowach programistów ;)
Na forum ten temat był wielokrotnie wałkowany. Polcam ten wątek: viewtopic.php?t=5225
Na drugiej stronie jest propozycja dla interfejsu w Cloud.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

klew wrote: Tue Apr 18, 2023 11:22 am
[email protected] wrote: Tue Apr 18, 2023 10:40 am w cloud gorzej no ale bez przesady, to nie jest kosmiczna technologia, żeby dodać dwa pola tekstowe ;)
Sęk w tym, że nie są to "dwa pola tekstowe". Te wszystkie rzeczy, co wymieniłem wcześniej, to są elementy, które trzeba połapać do KPOP i przetestować. Nie jest to jakaś ogromna ilość pracy, tylko pewnie po kilka linijek kodu w kilkunastu różnych miejscach. Większość pracy jest po stronie apek na telefonach. Przy prawie zerowych zasobach ludzkich w ciężko było jakiekolwiek tematy w apkach ruszyć do przodu (jeśli zadanie wymaga 1 h pracy i masz do dyspozycji 0 ludzi, to ile zajmie implementacja? ;P ).
Poza tym aplikacja na iOS jest/była w ciężkim stanie (trochę błędów się wkradło) i miała zaległości względem Androida. Są też inne pilne tematy, które też są blokowane przez apki. Są rzeczy zapowiedziane 2-3 lata temu, których nie udało się ruszyć z powodu apek. Także łatwo się krytykuje, gdy ma się wąskie spojrzenie tylko na jeden temat.
[email protected] wrote: Tue Apr 18, 2023 10:40 am Żarty żartami, ale problemem Supli jest podejście Waterfall do developmentu i wszystko albo nic jeśli chodzi o funkcjonalności. To nie ma racji bytu w dzisiejszych czasach, że o przyszłości nie wspomnę.
Pracowałem w wielu metodologiach i przy wielu projektach. O Supli można wiele powiedzieć, ale "waterfall"?
[email protected] wrote: Tue Apr 18, 2023 10:40 am W przypadku KPOP można to robić w kilku krokach, najpierw udostępnić możliwość zapisu danych przez supla-device, potem widoczność w cloud, potem aplikacje mobile, później wyzwalanie akcji, wykresy itp. Trzeba tylko chcieć ;) Moim zdaniem da się to dokładać po kawałku bez większych zmian w istniejących funkcjonalnościach.
Te "elementy składowe" KPOP-u są na tyle małe, że raczej nie ma sensu wprowadzać ich partiami, tymbardziej, że np. samo zapisywanie jakichś danych w bazie kompletnie nie daje nic użytkownikom. Robienie rzeczy takimi kawałkami ma też swoje minusy. Osobiście wolę mieć działający "prototyp", który działa end-to-end (od urządzenia pomiarowego po apkę na telefonie) i wiem, że wszystko się spina i działa, niż najpierw zrobić wszystko po stronie serwera i wydać aktualizację (bo mam gotowy kawałek funkcjonalności), a potem usiąść do apek, gdzie okaże się, że jednak coś źle zaplanowaliśmy i trzeba przerabiać serwer. O ile publiczne sewery aktualizujemy sami, to prywatne instancje zależą już od ich właścicieli i potem trzeba dbać o kompatybilność między komponetami, której wcale nie trzeba by brać pod uwagę, gdybyśmy zrobili to end-to-end.
[email protected] wrote: Tue Apr 18, 2023 10:40 am I pytałem o to co już zostało wymyślone w tej kwestii, czy jest gdzieś w Internecie czy tylko w głowach programistów ;)
Na forum ten temat był wielokrotnie wałkowany. Polcam ten wątek: viewtopic.php?t=5225
Na drugiej stronie jest propozycja dla interfejsu w Cloud.
@klew popatrz na dwa pierwsze posty z podlinkowanego przez Ciebie tematu. Przez litość, nie patrz na daty.
Kwestia jednostki stopni. Czy nie można było zrobić KPOP jak kanału temperatury, usunąć na stałe dopisaną jednostkę, a dać możliwość dopisania własnej. Tyle po stronie apki i clouda. Po stronie urządzenia funkcja wywołująca z argumentem w postaci naszej podstawionej wartości.
Co stoi na przeszkodzie przy wprowadzeniu tak zaawansowanej funkcji?
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Posłużę się analogią. Co stoi na przeszkodzie przemalować ściany w jednym pokoju jak to taka prosta i łatwa sprawa, oczywista dla wszystkich ? Otóż to, że czeka nas generalny remont tego pokoju polegający na wymianie instalacji elektrycznej oraz instalacji grzecznej co będzie wiązać się z kuciem wszystkich ścian. Owszem, można pomalować, a za chwilę skuć wszystko i pomalować ponownie z tym, że remontem budynku zajmuje się zbyt mało osób. Na zespół czeka mnóstwo pilniejszych zadań tak, że odciąganie ich do pracy do innej którą trzeba będzie powtórzyć mija się z celem.

Na dzień dzisiejszy musimy przepisać wszystkie widoki wg. nowo przyjętego wzorca tak aby budując kolejny za chwilę go nie przypisywać.
Co innego jak masz duży zespół, a co innego jak Twoje zasoby nie nadążają za potrzebami.
SUPLA.... Nareszcie w domu.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

SOYER wrote: Tue Apr 18, 2023 11:46 am @klew popatrz na dwa pierwsze posty z podlinkowanego przez Ciebie tematu. Przez litość, nie patrz na daty.
Kwestia jednostki stopni. Czy nie można było zrobić KPOP jak kanału temperatury, usunąć na stałe dopisaną jednostkę, a dać możliwość dopisania własnej. Tyle po stronie apki i clouda. Po stronie urządzenia funkcja wywołująca z argumentem w postaci naszej podstawionej wartości.
Co stoi na przeszkodzie przy wprowadzeniu tak zaawansowanej funkcji?
Cały czas próbuję na to pytanie odpowiedzieć.

Przemek napisał tak:
pzygmunt wrote: Sat Oct 15, 2022 6:49 pm Rzecz w tym, że przepisujemy wszystkie widoki oparte o detailview tak aby były zgodne ze wzorcem mvvm. Generalnie wiele funkcjonalności utknęło ponieważ musimy najpierw zrobić porządek z aplikacjami na iOS/Android. Wprowadzenie wcześniej nowego tupu kanału to jak położyć asfalt, a później kanalizację.
W programowaniu i różnych aplikacjach jest też takie zjawisko jak dług technologiczny. Nie zawsze oznacza to błędy, złe rozwiązania itd. Po prostu cała infrastruktura robi się duża. Możliwych efektów ubocznych robi się coraz więcej. Kiedyś pewnie był moment, gdy Supla stał na jednym serwerze. Aktualnie dobijamy do 100 (z tego co kojarzę). Obsługa (maintanance) zajmuje dużo czasu. Samo pisanie na forum zajmuje dużo czasu ;). Co chwila na forum pojawiają się osoby, którym brakuje "tylko tej jednej prostej rzeczy".
Urządzeń jest coraz więcej, usług coraz więcej. Kiedyś 1-2 osoby ogarniały wszystko i postawiły podwaliny pod cały system.
Natomiast prawda jest taka, że im dalej w las, tym więcej drzew. Nie można już robić rzeczy na hurra, bo to się nie sprawdzi i tylko spowoduje problemy.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

klew wrote: Tue Apr 18, 2023 11:22 am ... jeśli zadanie wymaga 1 h pracy i masz do dyspozycji 0 ludzi, to ile zajmie implementacja? ...
nie nadzbyt trudne równanie/zadanie na to forum? :lol:
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

YoMan wrote: Tue Apr 18, 2023 12:16 pm
klew wrote: Tue Apr 18, 2023 11:22 am ... jeśli zadanie wymaga 1 h pracy i masz do dyspozycji 0 ludzi, to ile zajmie implementacja? ...
nie nadzbyt trudne równanie/zadanie na to forum? :lol:
Dzielenie przez zero jest zawsze ryzykownym krokiem ;)
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

Trochę dużą dyskusję wywołałem :P
klew wrote: Tue Apr 18, 2023 11:22 am ... jeśli zadanie wymaga 1 h pracy i masz do dyspozycji 0 ludzi, to ile zajmie implementacja? ...
I właśnie z tego powodu jestem skłonny dorzucić coś od siebie :P Tylko muszę to najpierw zbudować :lol:

Na ile to będzie użyteczne dla innych zobaczymy, ja się ucieszę mogąc podpiąć pogodynkę do Supli :)

Return to “Pomoc”