[tutorial] Raspberry Pi – Docker, Proxy, Let’s Encrypt, SUPLA, SUPLA-Scripts...

User avatar
milion81
Posts: 194
Joined: Mon May 07, 2018 8:34 am

Post

cino111 wrote: Sat Mar 09, 2019 8:07 pm A co aktualizacja daje dla RPI3?
z tego co zauważyłem to zmienił się sposób wykrywania nowych urządzeń tzn nie trzeba przeskakiwać na inną zakładkę aby wykryło, przynajmniej na moim pi zero
Last edited by milion81 on Sat Mar 09, 2019 8:54 pm, edited 1 time in total.
User avatar
milion81
Posts: 194
Joined: Mon May 07, 2018 8:34 am

Post

fracz wrote: Sat Mar 09, 2019 7:31 pm Kliknij w tym trzecim czerwonym wpisie po prawej stronie link "commons...." - i jeszcze raz screen tego co się pokaże.

Code: Select all

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>SUPLA Cloud</title>
    <meta name="viewport"
            content="width=device-width, initial-scale=1">
    <meta name="theme-color"
            content="#00732C">
        <style>
        #page-preloader {
            height: 400px;
            width: 350px;
            position: absolute;
            top: 50%;
            left: 50%;
            margin-left: -175px;
            margin-top: -200px;
            text-align: center;
            font-family: 'Quicksand', sans-serif;
        }

        #page-preloader svg {
            width: 200px;
            height: 200px;
        }

        #page-preloader .if-too-long {
            display: none;
        }

        #page-preloader.too-long .if-too-long {
            display: block;
            padding-top: 70px;
        }

        #page-preloader noscript {
            color: #F60;
        }

        #page-preloader .loader-dots {
            margin: 70px auto;
        }

        #page-preloader .loader-dots div {
            margin-top: 0;
        }

    </style>
    <style>
        .loader-dots {
            font-size: 0;
            display: block;
            position: relative;
            width: 120px;
            margin: 100px auto;
        }

        .loader-dots div {
            background: none;
            border: solid 2px black;
            width: 25px;
            height: 25px;
            border-radius: 30px;
            position: absolute;
            animation: dots-bounce 1.75s infinite;
            top: 50%;
            margin-top: -15px;
        }

        .loader-dots div:nth-child(2) {
            animation-delay: 0.25s;
            left: 50%;
            margin-left: -15px;
        }

        .loader-dots div:nth-child(3) {
            animation-delay: 0.5s;
            right: 0;
        }


        @keyframes dots-bounce {
            10% {
                transform: translate3d(0, 30px, 0);
                animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
                height: 30px;
            }
            14% {
                height: 90px;
            }
            15% {
                height: 30px;
                transform: translate3d(0, -60px, 0);
                animation-timing-function: cubic-bezier(0.8, 0, 0.8, 1);
            }
            35% {
                transform: translate3d(0, 0, 0);
            }
        }

        .black .loader-dots div {
            border-color: white;
        }
    </style>
    <link rel="icon"
            href="/assets/img/icons/favicon.ico"
            type="image/x-icon"/>
    <link rel="shortcut icon"
            href="/assets/img/icons/favicon.ico"
            type="image/x-icon"/>
            <link rel="icon"
                type="image/png"
                href="/assets/img/icons/supla16.png"
                sizes="16x16">
            <link rel="icon"
                type="image/png"
                href="/assets/img/icons/supla32.png"
                sizes="32x32">
            <link rel="icon"
                type="image/png"
                href="/assets/img/icons/supla96.png"
                sizes="96x96">
            <link rel="icon"
                type="image/png"
                href="/assets/img/icons/supla160.png"
                sizes="160x160">
            <link rel="icon"
                type="image/png"
                href="/assets/img/icons/supla196.png"
                sizes="196x196">
                <link rel="apple-touch-icon"
                sizes="57x57"
                href="/assets/img/icons/supla57.png">
            <link rel="apple-touch-icon"
                sizes="60x60"
                href="/assets/img/icons/supla60.png">
            <link rel="apple-touch-icon"
                sizes="72x72"
                href="/assets/img/icons/supla72.png">
            <link rel="apple-touch-icon"
                sizes="76x76"
                href="/assets/img/icons/supla76.png">
            <link rel="apple-touch-icon"
                sizes="114x114"
                href="/assets/img/icons/supla114.png">
            <link rel="apple-touch-icon"
                sizes="120x120"
                href="/assets/img/icons/supla120.png">
            <link rel="apple-touch-icon"
                sizes="144x144"
                href="/assets/img/icons/supla144.png">
            <link rel="apple-touch-icon"
                sizes="152x152"
                href="/assets/img/icons/supla152.png">
        <base href="/">
</head>
<body>
        <div class="vue-container invisible">
            <transition name="fade">
        <navbar v-if="$user.username"></navbar>
    </transition>
    <loading-cover :loading="changingRoute">
        <transition name="fade-router">
            <router-view></router-view>
        </transition>
    </loading-cover>
    <cookie-warning v-if="$frontendConfig.requireCookiePolicyAcceptance && $user.username && !$user.userData.agreements.cookies"></cookie-warning>
            <idle-logout v-if="$user.username"></idle-logout>
        </div>
    <div id="page-preloader">
        <svg version="1.1"
        id="Layer_1"
        xmlns="http://www.w3.org/2000/svg"
        x="0px"
        y="0px"

        viewBox="-1 0.2 56.5 59.8"
        style="enable-background:new -1 0.2 56.5 59.8;"
        xml:space="preserve">

    <style type="text/css">
        .st0 {
            display: none;
        }

        .st1 {
            fill: none;
        }
    </style>

    <g id="Layer_1_1_"
            class="st0"></g>

    <g>
        <path class="st1"
                d="M27.8,57.7c-9.2,0-18.3,0-27.5,0c-0.2,0-0.3,0-0.3-0.3c0-18.3,0-36.7,0-55c0-0.2,0-0.3,0.3-0.3
	c18.3,0,36.7,0,55,0c0.2,0,0.3,0,0.3,0.3c0,18.3,0,36.7,0,55c0,0.2,0,0.3-0.3,0.3C46.1,57.7,36.9,57.7,27.8,57.7z M16.8,3
	c-0.3,0-0.6,0-0.9,0c-0.2,0-0.4,0-0.6,0.1c-3,0.4-5.6,1.7-7.6,4.1c-2.1,2.5-2.9,5.3-2.5,8.6c0.3,2.8,1.6,5.1,3.7,7
	c2.5,2.2,5.4,3.1,8.7,2.9c0.2,0,0.3,0.1,0.4,0.3c1.7,4.9,3.4,9.8,5,14.7c0.6,1.7,1.2,3.4,1.7,5.2c0.1,0.3,0,0.4-0.2,0.6
	c-2.1,1.4-3,4-2.3,6.3c1.2,3.9,6,5.3,9.2,2.9c1.7-1.3,2.5-3,2.3-5.2c-0.1-1.3-0.7-2.5-1.6-3.4c-0.2-0.2-0.2-0.3,0-0.4
	c0.5-0.5,1-1,1.4-1.5c1.4-1.5,2.8-3,4.2-4.5c1.3-1.4,2.6-2.7,3.8-4.1c0.1-0.1,0.2-0.2,0.4-0.1c2.2,1.2,4.5,1.2,6.7-0.1
	c2.4-1.3,3.6-4.1,3.1-6.7c-0.6-3.1-3.3-5.3-6.7-5.3c-1.5,0-2.9,0.5-4.1,1.5c-0.2,0.2-0.4,0.2-0.7,0c-0.8-0.5-1.5-1-2.3-1.5
	c-3.4-2.1-6.7-4.3-10.1-6.4c-0.2-0.1-0.2-0.2-0.1-0.4c0.3-1,0.5-1.9,0.5-2.9c0.1-1.8-0.3-3.5-1.1-5.1C25.2,5.2,21.5,3.2,16.8,3z"/>

        <path class="this"
                d="M16.8,3c4.8,0.2,8.4,2.2,10.6,6.5c0.8,1.6,1.1,3.3,1.1,5.1c0,1-0.2,2-0.5,2.9c-0.1,0.2,0,0.3,0.1,0.4
	c3.4,2.1,6.7,4.3,10.1,6.4c0.8,0.5,1.5,1,2.3,1.5c0.3,0.2,0.4,0.2,0.7,0c1.2-1,2.6-1.5,4.1-1.5c3.3,0,6.1,2.2,6.7,5.3
	c0.5,2.6-0.8,5.3-3.1,6.7c-2.2,1.2-4.5,1.2-6.7,0.1c-0.2-0.1-0.3-0.1-0.4,0.1c-1.3,1.4-2.6,2.7-3.8,4.1c-1.4,1.5-2.8,3-4.2,4.5
	c-0.5,0.5-0.9,1-1.4,1.5c-0.2,0.2-0.2,0.3,0,0.4c0.9,0.9,1.5,2.1,1.6,3.4c0.2,2.1-0.6,3.9-2.3,5.2c-3.2,2.4-8,1-9.2-2.9
	c-0.8-2.3,0.2-4.9,2.3-6.3c0.2-0.2,0.3-0.3,0.2-0.6c-0.5-1.7-1.2-3.4-1.7-5.2c-1.7-4.9-3.4-9.8-5-14.7c-0.1-0.2-0.1-0.3-0.4-0.3
	c-3.3,0.2-6.2-0.7-8.7-2.9c-2.1-1.8-3.4-4.2-3.7-7c-0.4-3.2,0.5-6.1,2.5-8.6c2-2.3,4.5-3.7,7.6-4.1c0.2,0,0.4,0,0.6-0.1
	C16.2,3,16.5,3,16.8,3z M21.3,24.9c0,0,0,0.1,0,0.2c0.4,1.8,0.8,3.5,1.3,5.3c1.2,4.9,2.4,9.9,3.5,14.8c0.1,0.3,0.2,0.3,0.4,0.3
	c1.4-0.3,2.8-0.2,4.1,0.5c0.2,0.1,0.3,0.1,0.5-0.1c3-3.6,5.9-7.1,8.8-10.8c0.1-0.2,0.1-0.3,0-0.5c-1.5-2.2-1.6-4.5-0.3-6.8
	c0.1-0.2,0.1-0.3-0.1-0.4c-2.4-1.3-4.8-2.6-7.2-3.9c-1.8-1-3.6-1.9-5.4-2.9c-0.2-0.1-0.3-0.1-0.4,0.1c-0.3,0.5-0.7,1-1.1,1.4
	c-1.1,1.2-2.4,2.1-3.9,2.7C21.4,24.7,21.3,24.7,21.3,24.9z M24.6,14.2c0-0.7-0.1-1.5-0.4-2.3C23,8.8,20.7,7,17.4,6.7
	c-2.6-0.2-4.9,0.7-6.7,2.7c-2.2,2.5-2.5,6.2-0.6,9c1.8,2.7,5,4,8.3,3.3C22,21,24.6,17.9,24.6,14.2z M28.1,54.8c0.2,0,0.4,0,0.6-0.1
	c2.5-0.4,4-3,3.1-5.3c-0.7-1.6-2.5-2.7-4.4-2.4c-2.2,0.3-3.7,2.5-3.3,4.6C24.4,53.5,26,54.8,28.1,54.8z M45.4,27
	c-0.3,0-0.6,0-0.8,0.1c-2.4,0.5-3.8,2.9-2.9,5.2c0.8,1.9,3,2.9,5,2.2c1.9-0.6,2.9-2.5,2.5-4.4C48.9,28.2,47.3,27,45.4,27z"/>

        <path class="st1"
                d="M21.3,24.9c0-0.2,0.1-0.2,0.2-0.2c1.5-0.6,2.8-1.5,3.9-2.7c0.4-0.4,0.8-0.9,1.1-1.4c0.1-0.2,0.2-0.2,0.4-0.1
	c1.8,1,3.6,1.9,5.4,2.9c2.4,1.3,4.8,2.6,7.2,3.9c0.2,0.1,0.3,0.2,0.1,0.4c-1.3,2.3-1.1,4.6,0.3,6.8c0.1,0.2,0.1,0.3,0,0.5
	c-2.9,3.6-5.9,7.2-8.8,10.8c-0.1,0.2-0.3,0.2-0.5,0.1c-1.3-0.7-2.7-0.8-4.1-0.5c-0.3,0.1-0.4,0-0.4-0.3c-1.2-4.9-2.3-9.9-3.5-14.8
	c-0.4-1.8-0.8-3.5-1.3-5.3C21.3,25,21.3,24.9,21.3,24.9z"/>

        <path class="st1"
                d="M24.6,14.2c0,3.7-2.6,6.8-6.2,7.6c-3.3,0.7-6.5-0.6-8.3-3.3c-1.9-2.8-1.6-6.5,0.6-9c1.8-2,4-2.9,6.7-2.7
	c3.3,0.3,5.6,2,6.8,5.2C24.5,12.7,24.6,13.5,24.6,14.2z"/>

        <path class="st1"
                d="M28.1,54.8c-2,0-3.7-1.3-4-3.2c-0.4-2.1,1.1-4.3,3.3-4.6c1.9-0.3,3.7,0.8,4.4,2.4c1,2.3-0.5,5-3.1,5.3
	C28.5,54.8,28.2,54.8,28.1,54.8z"/>

        <path class="st1"
                d="M45.4,27c1.9,0,3.5,1.3,3.9,3c0.4,1.9-0.7,3.8-2.5,4.4c-2,0.7-4.3-0.3-5-2.2c-0.9-2.2,0.5-4.7,2.9-5.2
	C44.8,27,45.1,27,45.4,27z"/>
    </g>
</svg>
        <div class="loader-dots">
            <div></div>
            <div></div>
            <div></div>
        </div>
        <noscript>
            <h3>SUPLA-Cloud will not work without Javascript</h3>
        </noscript>
        <p class="if-too-long text-muted">
            if it takes too long, check if the JS scripts are loaded correctly
        </p>
    </div>
    <script>
        setTimeout(function () {
            var preloader = document.getElementById('page-preloader');
            if (preloader) {
                preloader.className = 'too-long';
            }
        }, 8000);
    </script>
    <script>
    window.FRONTEND_CONFIG = {"regulationsAcceptRequired":false,"requireCookiePolicyAcceptance":false,"recaptchaEnabled":false,"recaptchaSiteKey":null,"actAsBrokerCloud":false,"suplaUrl":"https:\/\/XXXXXX.XXXXXX.com","max_upload_size":{"file":2097152,"total":8388608}};
    window.FRONTEND_CONFIG['serverTime'] = '2019-03-09T20:49:34+00:00';
    window.FRONTEND_CONFIG['renderStart'] = new Date();
    window.FRONTEND_CONFIG['baseUrl'] = '';
</script>
    <script src="/assets/dist/commons.47b1cb8ca78552e247e4.js"></script>
</body>
</html>
You do not have the required permissions to view the files attached to this post.
User avatar
makrz
Posts: 395
Joined: Tue Nov 27, 2018 1:43 pm
Location: Opole

Post

Witam

Próbuję zaktualizować supla scripts z wersji 3.0.0 na Pi3b i dostaję coś takiego i nie wiem co z tym zrobić. Proszę o pomoc.

Code: Select all

pi@raspberrypi:~/supla-scripts $  git pull
Updating f36bf9b..a03d639
error: Your local changes to the following files would be overwritten by merge:
        backend/app/Application.php
        backend/app/UserAndUrlAwareLogger.php
        backend/app/authorization/JwtAndBasicAuthorizationMiddleware.php
        backend/app/commands/DispatchCyclicTasksCommand.php
        backend/app/commands/DispatchThermostatCommand.php
        backend/app/commands/DispatchTimeScenesExecutionCommand.php
        backend/app/commands/SendMetricsGaugesCommand.php
        backend/app/commands/SuplaScriptsManager.php
        backend/composer.json
        backend/composer.lock
        backend/controllers/ChannelsController.php
        backend/controllers/ClientsController.php
        backend/controllers/NotificationsController.php
        backend/controllers/ScenesController.php
        backend/controllers/SystemController.php
        backend/controllers/TokensController.php
        backend/index.php
        backend/models/Client.php
        backend/models/JwtToken.php
        backend/models/User.php
        backend/models/encoders/ColumnEncryptor.php
        backend/models/notification/Notification.php
        backend/models/scene/FeedbackInterpolator.php
        backend/models/scene/PendingScene.php
        backend/models/scene/Scene.php
        backend/models/scene/SceneExecutor.php
        backend/models/supla/SuplaApiReal.php
        backend/models/thermostat/Thermostat.php
        docker/Dockerfile
        docker/utils/crontab
        frontend/app/app.coffee
        frontend/app/app.scss
        frontend/app/clients/clients-list.coffee
        frontend/app/clients/clients-list.html
        frontend/app/common/authentication/token.coffee
        frontend/app/common/http-error-handler.coffee
        frontend/app/dashboard/channel/channel-actions.html
        frontend/app/index.html
        frontend/app/notifications/form/notification-form.html
        frontend/app/routes.coffee
        frontend/app/scenes/details/scene-details-page.html
        frontend/app/scenes/feedback/feedback-field.coffee
        frontend/app/scenes/feedback/feedback-interpolation.coffee
        frontend/app/scenes/feedback/feedback-interpolation.html
        frontend/app/scenes/form/scene-form.html
        frontend/app/scenes/selector/scene-caption.coffee
        frontend/app/scenes/selector/scene-selector.coffee
        frontend/app/scenes/selector/scene-selector.html
        frontend/app/thermostat/thermostats-list.html
        frontend/app/user/account-page.html
        frontend/app/user/details/account-details.html
        frontend/app/user/login-form/login-form.html
        frontend/app/user/login-form/login-view.coffee
        frontend/app/user/login-form/login-view.html
        frontend/app/user/login-form/login-view.scss
        frontend/package-lock.json
        frontend/package.json
        package-lock.json
        package.json
Please commit your changes or stash them before you merge.
error: The following untracked working tree files would be overwritten by merge:
        backend/app/authorization/IpRequestQuotaMiddleware.php
        backend/app/authorization/JwtWithBodyAuthentication.php
        backend/app/commands/ClearClientRegistrationCodesCommand.php
        backend/app/commands/ClearRequestQuotaLogsCommand.php
        backend/app/commands/OauthRefreshTokensCommand.php
        backend/database/migrations/20181204225138_user_short_unique_id.php
        backend/database/migrations/20181216004345_scene_condition.php
        backend/database/migrations/20181216202223_scene_stack_in_pending_scene.php
        backend/database/migrations/20181217165643_request_quota.php
        backend/database/migrations/20190102075824_thermostat_failure_count.php
        backend/database/migrations/20190103000234_user_token_expiration_time.php
        backend/database/migrations/20190118203838_add_client_purpose.php
        backend/database/migrations/20190122084752_add_client_registration_code.php
        backend/models/BelongsToUser.php
        backend/models/scene/FeedbackTwigExtension.php
        backend/models/supla/OAuthClient.php
        backend/models/supla/SuplaApiClientWithOAuthSupport.php
        frontend/app/scenes/dropdown/scenes-dropdown.coffee
        frontend/app/scenes/dropdown/scenes-dropdown.html
        frontend/app/user/automate/user-automate-settings.coffee
        frontend/app/user/automate/user-automate-settings.html
        frontend/app/user/automate/user-automate-settings.scss
        frontend/app/user/login-form/login-with-supla.coffee
        frontend/app/user/login-form/login-with-supla.html
        frontend/app/user/login-form/login-with-token.coffee
        frontend/app/user/login-form/login-with-token.html
        frontend/app/user/oauth/authorize-page.coffee
        frontend/app/user/oauth/authorize-page.html
Please move or remove them before you merge.
Aborting
pi@raspberrypi:~/supla-scripts $
User avatar
lesny8
Posts: 2814
Joined: Mon Dec 11, 2017 9:43 pm

Post

makrz wrote: Sun Mar 10, 2019 9:45 am Witam

Próbuję zaktualizować supla scripts z wersji 3.0.0 na Pi3b i dostaję coś takiego i nie wiem co z tym zrobić. Proszę o pomoc.
Masz lokalnie nie zatwierdzone zmiany w tych plikach, które git Ci podaje,
Jeśli nie zmieniałeś nic to porzuć powstałe zmiany

Code: Select all

git fetch origin
Jak nie pomorze to

Code: Select all

git reset --hard origin/master
i dopiero

Code: Select all

git pull
Czekam na kolejne Supla Offline Party 👍
User avatar
makrz
Posts: 395
Joined: Tue Nov 27, 2018 1:43 pm
Location: Opole

Post

lesny8 wrote: Sun Mar 10, 2019 10:34 am
makrz wrote: Sun Mar 10, 2019 9:45 am Witam

Próbuję zaktualizować supla scripts z wersji 3.0.0 na Pi3b i dostaję coś takiego i nie wiem co z tym zrobić. Proszę o pomoc.
Masz lokalnie nie zatwierdzone zmiany w tych plikach, które git Ci podaje,
Jeśli nie zmieniałeś nic to porzuć powstałe zmiany

Code: Select all

git fetch origin
Jak nie pomorze to

Code: Select all

git reset --hard origin/master
i dopiero

Code: Select all

git pull
Dziękuję bardzo.
Oczywiście pomogło. :D
User avatar
lesny8
Posts: 2814
Joined: Mon Dec 11, 2017 9:43 pm

Post

fracz wrote: Sat Mar 09, 2019 6:52 pm Wydam pi3 dziś. Niestety jest to proces półautomatyczny :(
Widziałem na githubie, że trochę ten proces usprawniłeś ;) Extra
Czekam na kolejne Supla Offline Party 👍
vicam
Posts: 8
Joined: Thu Feb 21, 2019 3:22 pm

Post

Hej
Jak do tej pory udało mi się wszystko uruchomić ale podczas testów pojawił się mały problem w momencie zaniku internetu.
Mam router MikroTik i on odpowiada za dostęp do internetu (jest to okno na świat). Kiedy mam dostęp do internetu wszystko działa idealnie po WAN i LAN. W momencie kiedy znika internet tracę dostęp po WAN (co jest logiczne) oraz po LAN (pewnie dlatego ze nie mam dostępu do DNS-a który zamienił by nazwę domeny na moje ip.). Moje pytanie jest następujące czy jest możliwa taka konfiguracja MT ze kiedy niema internetu to i tak będę w stanie połączyć się z Supla zainstalowaną na RPI w mojej sieci po domenie np. supla.mojadomena.pl
User avatar
pzygmunt
Posts: 18354
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

Postaw lokalnego DNS-a albo wpisz zewnętrzny adres IP.
vicam
Posts: 8
Joined: Thu Feb 21, 2019 3:22 pm

Post

pzygmunt wrote: Tue Mar 12, 2019 9:45 am Postaw lokalnego DNS-a albo wpisz zewnętrzny adres IP.
Na RPI mam SUPLE i SUPLA Scripts oraz proxy więc nie mogę wpisywać adresu IP tylko domene. Nie chce tez edytować pliku HOST w windowsie. Chciał bym to załatwić na MT w ostateczności moge faktycznie postawic DNS-a na RPI
User avatar
lesny8
Posts: 2814
Joined: Mon Dec 11, 2017 9:43 pm

Post

vicam wrote: Tue Mar 12, 2019 9:42 am Hej
Jak do tej pory udało mi się wszystko uruchomić ale podczas testów pojawił się mały problem w momencie zaniku internetu.
Mam router MikroTik i on odpowiada za dostęp do internetu (jest to okno na świat). Kiedy mam dostęp do internetu wszystko działa idealnie po WAN i LAN. W momencie kiedy znika internet tracę dostęp po WAN (co jest logiczne) oraz po LAN (pewnie dlatego ze nie mam dostępu do DNS-a który zamienił by nazwę domeny na moje ip.). Moje pytanie jest następujące czy jest możliwa taka konfiguracja MT ze kiedy niema internetu to i tak będę w stanie połączyć się z Supla zainstalowaną na RPI w mojej sieci po domenie np. supla.mojadomena.pl
Podałem Ci już rozwiązanie, które działa. Nie wiem co na te chwilę masz w firewallu, więc przeklejka wprost Ci nie zadziała.
Rozwiązaniem jest forward 4 portów, maskarada NATu i dwa wpisy Hairpin NAT. Dodam, że kolejność reguł jest ważna.
Czekam na kolejne Supla Offline Party 👍

Return to “FAQ / Jak to zrobić”