Closed johnrsmithphd closed 7 months ago
Yes it's seems exactly the #983 I'm sending you the beta by email Let me know here
That did it. Power, cadence, and controllable all functioned without any additional setup. Thank you for your effort.
great @johnrsmithphd I'm really curious about your setup, do you plan to make a video or something for youtube?
I've thought about making a channel for lots of different projects, but ultimately, likely won't. Not much interest in editing videos and not enough time.
Zwift refused installation on an RPi4b even when loaded with Android 12/Google Play on LineageOS (which supports OpenGL ES 3), so now working through hardware setup this week. Need to mix and match components from past workstations and my current PC to minimize deployed machines on the homelab. I'll follow up with what I deploy if it is nontypical, but really, the only thing which is different now is self-hosting Zoffline.
If you have a topic in mind, I am happy to answer better.
hah ok thanks. What I'm trying to achieve, instead, is running Zwift on my proxmox server with a dedicate low power GPU. Then I would like to use VNC or similar to broadcast it in different part of my house (my bike is in the garage but my treadmill is on my under roof)
That's exactly the theme I'm going after. My wife and I are expanding our garage gym, which is where the bike will be. All network gear is in the basement. RPi was intended to be a cheap, dedicated solution and one I wouldn't care about leaving in the garage.
The difference is I'm not running any VMs other than light weight tasks within Docker on the NAS. In the past, to get computer usage in my detached shop/lab space without leaving a machine out there, I used HDMI and USB extenders. They're basically TX/RX boxes on both ends of a CAT6. The latency on the USB made it frustrating and I stopped using it. The distance for that location was ~250ft. Going to retry this idea but with a BT dongle plugged into the USB extender. Hoping for better success since the cable length will be around ~75ft. The downside is I really don't want to pull a bunch of ethernet lines and patch sheetrock. If this BT extension hack doesn't work, then I'll be exploring what you are talking about. Have read where folks had luck using Moonlight. Really unsure as I don't game/use Steam, but the gist is using a Pi for WiDi. Windows RDP works, but there's the problem of still needing another computer near the equipment. The only thing this achieves is relaxing hardware requirements.
Following up: a BT dongle attached to a USB extender works. Echelon EX3/Stride and Wahoo Tickr are functioning without any noticeable latency.
Sorry for the revival.
For the past two years I had dircon working reliably. Currently, something changed, and I could use some guidance on how to troubleshoot. The wireshark log shows my Android phone (192.168.0.11) broadcasting the MDNS messages and establishing the dircon profile which Zwift can connect to, but after that, no data is passed along. Zwift is polling for it every second (192.168.0.10). BT works except for dropping out around 30mins of use.
i didn't change anything in the dircon protocol. did you update the zoffline client?
Yes, I keep the Zoffline container and Zwift software up to date. I haven't tried rolling back yet.
Do you see anything in the logs? It seems like the metrics are populating in the string but then not broadcasting. I also found it strange that the MDNS is registering as an iPhone.
I've not had any luck setting user_vlc, user_qz, and user_QZWS. Was guessing that user_qz would be the phone and user_vlc would be the PC.
just tested zwift on my side and it's working perfectly on mac and qz on iphone
i will check your logs later today
@johnrsmithphd the main issue in the log is the fact that the zwift frames aren't received from QZ. It seems that the your wifi router is filtering them somehow. You can try QZ on the same device where zwift is running, this will proof if i'm right Let me know
Glad to see the log passes data. Was afraid it was in the firewall since I'm still learning TP-Link's Omada control system. I wrongly assumed everything was fine since dircon is being setup.
That's a good idea to setup an Android emulator on the PC. I'll work on that over the next few days.
you don't need an emulator on PC, you can use the msvc version of QZ from the github release of QZ here !
I'm not even going to fix the phone firewall issue since you've now got the Windows exe. MUCH nicer implementation of QZ by removing a third device. Bought you a few coffees to say thanks for the continued development and immediate support.
that's great! remember that the qz windows version is a trial, send me an email to @.*** to unlock it (set the same email address to qz as well to unlock it, all lowercase)
Roberto Viola Software engineer and open source enthusiast http://robertoviola.cloud
Il giorno lun 29 apr 2024 alle 20:28 johnrsmithphd @.***> ha scritto:
I'm not even going to fix the phone firewall issue since you've now got the Windows exe. MUCH nicer implementation of QZ by removing a third device. Bought you a few coffees to say thanks for the continued development and immediate support.
— Reply to this email directly, view it on GitHub https://github.com/cagnulein/qdomyos-zwift/issues/1016#issuecomment-2083385866, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALYWAC3TGRU6M4JI5TBWDY72GLBAVCNFSM6AAAAAARUGIJH6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBTGM4DKOBWGY . You are receiving this because you were assigned.Message ID: @.***>
I do not know if the issue is related to this post. It is related also to zoffline. My tests are ok when combining the treadmill -> qz -> Zwift -> zoffline. Only in that direction. The issue arises, in my tests, when zwift path changes to positive slope. In such case, it seems that qz is not able to receive the slope information in order to change the inclination in the treadmill. With that same configuration in qz, if Zwift client is connected to Zwift servers instead of zoffline, qz is able to change inclination (in a paercentage that I have to divide by two, I guess, but that is something I know that can be changed in qz). In qz settings, I have set the Zwift user and password correctly (for the sake of ease, they are the same for Zwift servers and for my zoffline installation).
I have qz in an Android phone, and Zwift client in another (different one) Android phone.
My first guess was to install 'Virtual Hosts' apk in qz phone, with the same configuration as in Zwift phone, in the hope that qz would redirect all the queries to zwift server to the zoffline server, as I understand that 'Virtual Hosts' works. Because that is my guess: qz asks to zwift server for the inclination (maybe this is a wrong argument) ('Virtual Hosts' configuration and usage is explained in zoffline). But it still failed. Or maybe zoffline does not have the hability to modify slope; I have not been able to check it out yet.
I am using a downloaded apk package of qz project, as I want to verify that it suits to my infrastructure (and that issue of the inclination of the treadmill with zoffline seems the only issue I am currently facing), Thanks a lot for your great work and your support!
Qz for auto inclination on mobile it's relying on real zwift servers. If you want I can make it customizable.
It would be perfect. I thought that zoffline is acting 'pretending' a real server, but I was wrong. Is there a way I can help? I am C++ and python programmer, although I am not experienced with this project. Just to help, as it is something I am asking for, although a pretty nice feature in general for qz, in my opinion: zoffline is a perfect tool when you are not interested in compiting, etc
The URL is here https://github.com/cagnulein/qdomyos-zwift/blob/master/src/zwift-api/zwift_client_auth.h
Line 54
You can change and rebuild or if you want we can make it doing from github actions. Which address do you need?
Roberto Viola Software engineer and open source enthusiast http://robertoviola.cloud
Il giorno ven 10 mag 2024 alle 20:20 Peret @.***> ha scritto:
It would be perfect. I thought that zoffline is acting 'pretending' a real server, but I was wrong. Is there a way I can help? I am C++ and python programmer, although I am not experienced with this project. Just to help, as it is something I am asking for, although a pretty nice feature in general for qz, in my opinion: zoffline is a perfect tool when you are not interested in compiting, etc
— Reply to this email directly, view it on GitHub https://github.com/cagnulein/qdomyos-zwift/issues/1016#issuecomment-2105071500, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALYWGQYKA5PMYCYRWFIP3ZBUFXFAVCNFSM6AAAAAARUGIJH6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBVGA3TCNJQGA . You are receiving this because you were assigned.Message ID: @.***>
Perfect! I can make changes locally and build (changing secure.zwift.com by my local zoffline server IP). But I wonder why it has not worked using 'Virtual Hosts', as it was supposed to 'mislead' to the phone, so that secure.zwift.com's ip is 192.168.1.3 (in my case). It works that way in the phone with zwift client. But anyway, is as easy as changing that url by my local zoffline IP?
Maybe because qz is looking for a https?
If you want I can remap to http://192.168.1.3 to test it out
Roberto Viola Software engineer and open source enthusiast http://robertoviola.cloud
Il giorno ven 10 mag 2024 alle 20:32 Peret @.***> ha scritto:
Perfect! I can make changes locally and build (changing secure.zwift.com by my local zoffline server IP). But I wonder why it has not worked using 'Virtual Hosts', as it was supposed to 'mislead' to the phone, so that secure.zwift.com's ip is 192.168.1.3 (in my case). It works that way in the phone with zwift client. But anyway, is as easy as changing that url by my local zoffline IP?
— Reply to this email directly, view it on GitHub https://github.com/cagnulein/qdomyos-zwift/issues/1016#issuecomment-2105086300, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALYWDLI2DSNDO4Q6OMS63ZBUHETAVCNFSM6AAAAAARUGIJH6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBVGA4DMMZQGA . You are receiving this because you were assigned.Message ID: @.***>
Virtual hosts should 'derive' requests independently of the protocol, and zoffline listens to http, and https. But let me try to compile by myself and let you know. I do not want to bother you if possible
its already building here
https://github.com/cagnulein/qdomyos-zwift/actions/runs/9036645452
you will see the artifacts at the bottom in 40 minutes
Roberto Viola Software engineer and open source enthusiast http://robertoviola.cloud
Il giorno ven 10 mag 2024 alle 20:39 Peret @.***> ha scritto:
Virtual hosts should 'derive' requests independently of the protocol, and zoffline listens to http, and https. But let me try to compile by myself and let you know. I do not want to bother you if possible
— Reply to this email directly, view it on GitHub https://github.com/cagnulein/qdomyos-zwift/issues/1016#issuecomment-2105095191, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALYWBVYY3LGD6QVRL6X7TZBUH7VAVCNFSM6AAAAAARUGIJH6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBVGA4TKMJZGE . You are receiving this because you were assigned.Message ID: @.***>
Unfortunately, it hasn't worked as expected. Let me investigate a bit in zoffline project, I think the issue comes from it, as 'Virtual Hosts' as well as your changes should connect to local zoffline. Tomorrow I will continue with it.
ok in case send me a debug log from qz so we can check the issue
Roberto Viola Software engineer and open source enthusiast http://robertoviola.cloud
Il giorno ven 10 mag 2024 alle 21:36 Peret @.***> ha scritto:
Unfortunately, it hasn't worked as expected. Let me investigate a bit in zoffline project, I think the issue comes from it, as 'Virtual Hosts' as well as your changes should connect to local zoffline. Tomorrow I will continue with it.
— Reply to this email directly, view it on GitHub https://github.com/cagnulein/qdomyos-zwift/issues/1016#issuecomment-2105165665, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALYWDMWDHIJ4YGQUIBJALZBUOSNAVCNFSM6AAAAAARUGIJH6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBVGE3DKNRWGU . You are receiving this because you were assigned.Message ID: @.***>
I have had a look at zoffline code, and I do not understand it very well; I think it is like a bridge with zwift servers, and perhaps it lacks the functionality of inclination (maybe, I do not come up with the 'job' of zoffline); but also, I have not seen it does anything interacting the client with speed, for example.
I have used the test apk you built yesterday (pointing to 192.168.1.13) and I have used an online zwift version and then an offline (local) version. I am attaching both logs. You can see that the online version does modify the incline of the treadmill, as the offline version does not. Both using the same workout (it starts with a 3% slope and goes down to 2% and then to 1%, roughly).
Debug_Zwift_OFFline.log Debug_Zwift_ONline.log
Online version log starts the workout at around line 5180 line of the log (when I have increased speed, from 2 kph to 10 kph). The offline version starts around line 5300, using the same behavior template.
I was surprised that the modified apk version (pointing to 192.168.1.3) has worked for the online zwift. I guess it is because I am using the same user and password forthe zwift account than for my local zoffline server, and any of them can authorize the use. So, the only difference between the two runs is the lack of inclination changes for the offline version.
I hope you can discover something. If it is not the case, the problem will be in zoffline project. Let's see. Thanks a lot for your time
the issue is very simple
sáb. may. 11 17:47:15 2024 1715442435293 Debug: ./zwift-api/PlayerStateWrapper.h QByteArray ZwiftRequest::protobuf(const QString &) Error: "Error transferring https://us-or-rly101.zwift.com/relay/worlds/1/players/1126576 - server replied: Not Found"
the local server answer with an user id that doesn't match the actual one.
the answer for the request is here
sáb. may. 11 17:47:14 2024 1715442434432 Debug: trainprogram.cpp void trainprogram::scheduler() zwift api player QJsonObject({"achievementLevel":100,"address":null,"affiliate":null,"age":56,"avantlinkId":null,"b":false,"bigCommerceId":null,"bodyType":2128,"bt":"da8b8cb6-5bf2-4a9c-a441-263ae9ca8637","competitionMetrics":null,"connectedToFitbit":false,"connectedToGarmin":false,"connectedToRuntastic":false,"connectedToStrava":true,"connectedToTodaysPlan":false,"connectedToTrainingPeaks":false,"connectedToUnderArmour":false,"connectedToWahoo":false,"connectedToWithings":false,"connectedToZwiftPower":false,"countryAlpha3":"esp","countryCode":724,"createdOn":"2024-01-30T16:31:39.958+0000","currentActivityId":null,"cyclingOrganization":null,"dob":"1/1/1968","emailAddress":"xxxxxxx@gmail.com","enrolledZwiftAcademy":false,"eventCategory":"MALE","firstName":"FirstName","ftp":180,"fundraiserId":null,"height":1730,"id":1126576,"imageSrc":null,"imageSrcLarge":null,"lastName":"LastName","launchedGameClient":"01/30/2024 16:31:41 +0000","licenseNumber":null,"likelyInGame":false,"location":"","male":true,"marketingConsent":null,"mixpanelDistinctId":"ac0b02aa-8c4f-4d3c-8ff6-1f106a3038b6","numberOfFolloweesInCommon":0,"origin":"IOS","playerSubTypeId":null,"playerType":"NORMAL","playerTypeId":1,"powerSourceModel":"zPower","powerSourceType":"Power Source","preferredLanguage":"es","privacy":{"approvalRequired":false,"defaultActivityPrivacy":"PUBLIC","defaultFitnessDataPrivacy":false,"displayAge":false,"displayWeight":false,"minor":false,"privateMessaging":false,"suppressFollowerNotification":false},"privateAttributes":{"-1001004453":"RUNNER","-138788545":"0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0","-1482469514":"1","-1575272099":"RUNNER","-1871223341":"2","-2012319163":"1984962372","-2135068247":"0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,1,0,0,0,0,0,0","-254311130":"0,0,0,0,0,0,0,0,0,0,0,1,0,5,0,0,0,1,1,0,0,0,0,0","-534846123":"1603069200","-702503934":"1","-885419280":"622710059","-986054240":"1000472001","1025311738":"NO EVENT PLANNED","1067773830":"0","1149770082":"1606054051","1169650385":"000000","1190707182":"1714932805","1523223916":"0","1685919735":"0,3749,0,#0,3384,0,#0,80,0,#0,0,0,#0,0,0,#0,0,0,#0,0,0,","1776211100":"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0","1857228933":"0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0","188827249":"1","2004261226":"0.0","431235091":"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,3,3,0,1,0,0,0","517596170":"0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0","839250175":""},"profileChanges":false,"profilePropertyChanges":[{"changeCount":0,"maxChanges":3,"propertyName":"GENDER"},{"changeCount":0,"maxChanges":3,"propertyName":"DATE_OF_BIRTH"}],"publicAttributes":{"324889996":"0"},"publicId":"9a6877cc-11e1-4234-bb8d-9638d32a0412","riding":false,"runAchievementLevel":399,"runTime10kmInSeconds":3127,"runTime1miInSeconds":450,"runTime5kmInSeconds":1500,"runTimeFullMarathonInSeconds":14422,"runTimeHalfMarathonInSeconds":6900,"socialFacts":{"followeeStatusOfLoggedInPlayer":"SELF","followeesCount":0,"followeesInCommonWithLoggedInPlayer":0,"followerStatusOfLoggedInPlayer":"SELF","followersCount":0,"isFavoriteOfLoggedInPlayer":false,"profileId":1126576},"source":"IOS","stravaPremium":false,"streaksCurrentLength":0,"streaksLastRideTimestamp":null,"streaksMaxLength":0,"targetExperiencePoints":2,"targetRunExperiencePoints":2997,"totalDistance":2334,"totalDistanceClimbed":12,"totalExperiencePoints":2,"totalGold":1389,"totalInKomJersey":0,"totalInOrangeJersey":0,"totalInSprintersJersey":0,"totalRunCalories":1103,"totalRunDistance":21179,"totalRunExperiencePoints":2997,"totalRunTimeInMinutes":134,"totalTimeInMinutes":9,"totalWattHours":6,"useMetric":true,"userAgent":"CNL/3.51.0 (Android 9) zwift/1.0.128828 game/1.64.0 curl/8.4.0","virtualBikeModel":"Zwift Steel","weight":64000,"worldId":null})
check profileid
it could be a bug of zoffline or maybe they handled a single user id?
maybe you can try to ask them about this
let me know if I can help you
wait! i forgot the url on another place in the code!
new build
https://github.com/cagnulein/qdomyos-zwift/actions/runs/9045306799
ip is 192.168.1.3 not 192.168.1.13 in the branch
let me know!
Thanks! Well, I have 'masked' the user id, and some other data in the file, just because it is a public dialog. I'm sorry if that is the clue for the 'not found' that you mention. But the original files should have that information. I will check them. Probably there is some mistake in used id's, because my user id in zoffline is 2,I think. Now I am out of my house, but tomorrow will review the logs and will test the new compilation you have produced. Thanks again!
Hello, that error does not happen anymore. I think the behavior was: the identification was done against Zwift servers (as the url was still pointing to them, as you notice). so the user Id was the one in the zwift servers, but did not exist in my local zoffline. With your change is does not happen anymore.
However it still continues to happen that the inclinination is not changed.
I think the problem is not qdomyos app, but zoffline. Let me investigate and I will let you know, don't waste time in this, at least if I can research on my side.
I suspect the problem is related with SSL connection with zoffline (or form zoffline to Zwift servers), according to the logs in zoffline:
File "/root/.local/lib/python3.12/site-packages/gevent/ssl.py", line 673, in do_handshake self._sslobj.do_handshake() ssl.SSLEOFError: [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1000) 2024-05-12T10:05:37Z <Greenlet at 0xe8ac6e38: _handle_and_close_when_done(<bound method StreamServer.wrap_socket_and_handle , <bound method StreamServer.do_close of <WSGIServer, (<gevent._socket3.socket [closed] at 0xf426fd18 ob)> failed with SSLEOFError
Maybe the use of ahardcoded IP generates unmatching the certificate; in such case, it should have worked with 'Virtual Hosts', but let me investigate. Thanks a lot!
Do you have a fresh debug log from qz?
Yes, I have been doing several tests, but with no luck. With the version you generated, the unknown host does not occur, but the certificate error continues to happen. I changed the minprotocol accepted in SSL in zoffline host, according to its documentation, in case of SSL failure:
If the Zwift client is having issues connecting to the Linux server ("The request was aborted: Could not create SSL/TLS secure channel." or "The underlying connection was closed: An unexpected error occurred on a send. Received an unexpected EOF or 0 bytes from the transport stream."): change MinProtocol in /etc/ssl/openssl.cnf to TLSv1.0 [system_default_sect] MinProtocol = TLSv1.0 CipherString = DEFAULT@SECLEVEL=1
But I think the failing ocnnection is between qdoymos and zoffline server. In both ogs can be seen the problem: In qdoymos debug log, it can be seen several lines with:
Debug: ./zwift-api/PlayerStateWrapper.h QByteArray ZwiftRequest::protobuf(const QString &) Error: "SSL handshake failed"
They match with errors in zoffline log:
Traceback (most recent call last): File "src/gevent/greenlet.py", line 908, in gevent._gevent_cgreenlet.Greenlet.run File "/root/.local/lib/python3.12/site-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) ^^^^^^^^^^^^^^^^^^^ File "/root/.local/lib/python3.12/site-packages/gevent/server.py", line 209, in wrap_socket_and_handle with _closing_socket(self.wrap_socket(client_socket, **self.ssl_args)) as ssl_socket: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.local/lib/python3.12/site-packages/gevent/ssl.py", line 785, in wrap_socket return SSLSocket(sock=sock, keyfile=keyfile, certfile=certfile, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.local/lib/python3.12/site-packages/gevent/ssl.py", line 319, in __init__ raise x File "/root/.local/lib/python3.12/site-packages/gevent/ssl.py", line 315, in __init__ self.do_handshake() File "/root/.local/lib/python3.12/site-packages/gevent/ssl.py", line 673, in do_handshake self._sslobj.do_handshake() ssl.SSLEOFError: [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1000) 2024-05-12T17:09:46Z <Greenlet at 0xe8f03a78: _handle_and_close_when_done(<bound method StreamServer.wrap_socket_and_handle , <bound method StreamServer.do_close of <WSGIServer, (<gevent._socket3.socket [closed] at 0xf4557f48 ob)> failed with SSLEOFError
My next try will be to install in qdoymos mobile, if possible, some certificate that perhaps I can find or generate reading carefully zoffline docs, and see if that error is fixed.
Just for a curiosity: does qdoymos connect trhough https to Zwift server to ask for the inclination? I thought it would be using bluetooth protocol.
And I am attaching the log, in case you can see (hopefully) something additional. Thanks a lot!
Debug: ./zwift-api/PlayerStateWrapper.h QByteArray ZwiftRequest::protobuf(const QString &) Error: "SSL handshake failed"
for sure that's the issue!
My next try will be to install in qdoymos mobile, if possible, some certificate that perhaps I can find or generate reading carefully zoffline docs, and see if that error is fixed.
it has sense, you can use the apk from the branch that I linked above (so it will use the 192.168.1.3)
Just for a curiosity: does qdoymos connect trhough https to Zwift server to ask for the inclination? I thought it would be using bluetooth protocol.
yes because zwift doesn't send it for treadmill, only for bikes
After some research I received an answer from zoffline developers that is probable the problem. I do not understand it very well; I am not used to communications libraries/protocols, and even to Zwift conventios, so I am totally blocked. My last trial will be to debug zoffline, as it runs on a linux server and I can debug on it, but with no much hope. I think I will leave this idea in standby until I have time to learn the necessary technologies. Anyway, thanks for your implication and interest
I answered there, let's see how it goes
@peret2000 can you try this build https://github.com/cagnulein/qdomyos-zwift/actions/runs/9097559977 ?
I have tested it and there is a new behavior: the ssl error only happens once, at the very beginning, I think I understand the reason. I am attaching the new log debug-Wed_May_15_18_20_14_2024.log
Ok anyway I guess on the other ticket the dev suggested me to avoid the login so I will do this since it's easier
Roberto Viola Software engineer and open source enthusiast http://robertoviola.cloud
Il giorno mer 15 mag 2024 alle 18:35 Peret @.***> ha scritto:
I have tested it and there is a new behavior: the ssl error only happens once, at the very beginning, I think I understand the reason. I am attaching the new log debug-Wed_May_15_18_20_14_2024.log https://github.com/cagnulein/qdomyos-zwift/files/15324438/debug-Wed_May_15_18_20_14_2024.log
— Reply to this email directly, view it on GitHub https://github.com/cagnulein/qdomyos-zwift/issues/1016#issuecomment-2112994339, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALYWG6UG732H5DNAI55BTZCOFDTAVCNFSM6AAAAAARUGIJH6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJSHE4TIMZTHE . You are receiving this because you were assigned.Message ID: @.***>
@peret2000 https://github.com/cagnulein/qdomyos-zwift/actions/runs/9107788226 can you try this? player id = 1 on this build
Sorry, I are having many problems to create user id 1 in zoffline. My current user id is 2 (for historical tests, I deleted user 1 and started from scratch with a new user), and any new user created ranges from 3, 4... I have tried renaming the user id changing all data I have found (directory name, all references to player_id in zoffline database,... but no way. It has started giving many errors. So now I am trying to restart the situation to player 2, I do not know if possible, or I will start again from scratch. Also, in the meantime, it seems my zwift client app seems to be updated from 1.64 to 1.65, and that means, I think, I have to do something in zoffline to adjust it to that version. I need some time. If in the meantime you could please change the version to use userd id 2 instead, it would be great, as I think user 2 will be easy for me (with my current configuration, if I put it to work, but also starting from scratch as I always will be able to create two users). Thanks and sorry this delay
no problem, done https://github.com/cagnulein/qdomyos-zwift/actions/runs/9110633159
Already restored and zoffline working well with 1.65 version and user id 2. I have installed your version but unfortunately errors retlated to SSL continue to happen (now, more times, not only at the beginning, I do not know if this is expected).
I have seen your changes, and I wonder whether it would be better to try with user id 1. Now that I have updated zoffline, I think I can start from scratch with no hard issues, I have written down the steps to get the version up and running. If you feel it would be a better approach to the solution let me know. I can continue this afternoon with any ideas you can propose.
Attached is the log. Also, the log from zoffline is the same as always: [SSL: UNEXPECTED_EOF_WHILE_READING]
I does seem that it is not a problem with the CA certificates or that stuff: the error not recgnized CA was received when zwift client v1.65 was trying to connect to unupdated zoffline v1.64, and it was expected.
debug-Thu_May_16_12_57_56_2024.log
that's strange, let's try this so https://github.com/cagnulein/qdomyos-zwift/actions/runs/9112450707
Unfortunately, the error persists. debug-Thu_May_16_15_23_52_2024.log
This afternoon, I am going to debug zoffline, in case I see clue
maybe because it's an https endpoint? are you able to do a GET request to https://192.168.1.3/relay/worlds/1/players/1 to check if you can get it with a classic client?
Yes, sure.
It seems to work:
curl https://192.168.1.3/relay/worlds/1/players/1
from liux terminal gives neither error not any output (I guess it is ok)
Also, in zoffline log, it shows:
INFO:zoffline:192.168.1.120 - - [2024-05-16 15:38:34] "GET /relay/worlds/1/players/2 HTTP/1.1" 200 115 0.002362
(also seems ok)
It has been done from a PC in the same local network.
Doing the same from a terminal in the phone qith QZ:
$ curl https://192.168.1.3/relay/worlds/1/players/1 < curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.haxx.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.
And in zoffline log, the error is [SSL: TLSV1_ALERT_UNKNOWN_CA]
So, there is something related with certificates. Let me try to get it to work from the phone, I think this must be solved beforehand
It is strange, as I have my CA installed in the mobile. Maybe the terminal is not accessing the certificates store. I will see
ok if you want you can test the QZ version on the PC! It's on the same link above
It would be much easier from the PC, but when I started with it, I had segment violations errors, and I changed to Android. But I will give it a try, if I do not manage with Android (that is really much more difficult to investigate what it is using)
I'll start by saying networking is my weak point. Also, I'm lost when it comes to QT programming, or anything associated with standalone applications. My programming has always been around data acquisition, data analysis, microcontrollers, etc.
With that disclaimer, here's my setup:
Using a Synology NAS with Docker to setup a Macvlan network for two containers. The first is Pi-Hole for DNS ad-blocking and the other is the Zoffline server. Macvlan was necessary to avoid port 80 conflicts, and as a result, each container is assigned its own local IP address. In the 'hosts' file on the Zwift machine, I set a redirection to the local Zoffline IP for us-or-rly101.zwift.com secure.zwift.com cdn.zwift.com launcher.zwift.com See their Git if you're unfamiliar with their project: https://github.com/zoffline/zwift-offline
My issue is identical to: https://github.com/cagnulein/qdomyos-zwift/issues/931 QZ connects to the bike, displays metrics, connects to Zwift as Kickr 0000 33, but then doesn't receive data as there is a 'connection failure.' I did try disabling the DNS ad-block and renaming my phone to 'bike,' but those resulted in the same behavior. I don't use any 3rd party firewall or security software. When checking Windows Defender, it appeared that all zoffline activity was allowed.
Was reading this ticket: https://github.com/cagnulein/qdomyos-zwift/issues/983 It seems as if the QZ IP address is being identified and sent to the Zwift server. Is there a setting in QZ where I can change the IP of the server?
Lastly, I purchased/downloaded from Google Play store. The version available is 2.10.116. Looks like you're on 2.11.xx.